Главная » Статьи » Програмування » C [ Добавить статью ]

RUS Уроки по программированию на языке С (Ввод данных)

Ввод данных

Вы уже знакомы с операцией вывода информации на экран компьютера - cout, но в большинстве программ требуется не только выводить какую-либо информацию на экран, но и иметь возможность ввести в компьютер какие-либо данные с клавиатуры. В предыдущем разделе была приведена программа расчета скидки. Естественно, что такие параметры как цена и количество товара было бы неплохо ввести с клавиатуры на этапе выполнения программы. Давайте рассмотрим как Вы это можете сделать.

Если нам нужно ввести данные в компьютер, то будем пользоваться командой cin. Как ею пользоваться? Синтаксис оператора ввода:

cin>>имя_переменной;

имя_переменной указывает на переменную, в которую нужно поместить данные, введенные с клавиатуры:

Например:
cin>>Age;

Эта команда помещает число, введенное с клавиатуры, в переменную с именем Аge.

Для того, чтобы ввести число в переменную Number, нужно всего лишь набрать такую вот команду:

cin>>Number;

Ввод сразу нескольких переменных, записывают таким образом:

cin>>имя_переменной1>>имя_переменной2>>...>>имя_переменнойN;

Список имен переменных должен содержать имена всех переменных, в которые Вы хотите ввести данные с клавиатуры. Список имен может состоять из любого количества имен переменных, разделенных комбинацией символов >>.

Пример:
cin>>Quantity>>Price>>Discount;

Давайте оптимизируем программу из предыдущей статьи:

//Заголовок
#include <iostream>

// определение пространства имен, в котором есть cout<<
using namespace std;

// Главная функция
void main()
{
 //Объявляем переменную Discount
 float Discount=0.05;

 //Объявляем переменную Cost
 float Cost=10.50;
 //Приглашение ввести цену товара
 cout<<"What's the cost?\n";
 //Ввод значения в переменную Cost
 cin>>Cost;

 //Объявляем переменную Count
 int Count=5;
 //Приглашение ввести количество
 cout<<"How much?\n";
 // Ввод значения в переменную Count
 cin>>Count; 

 //Объявляем переменную Price
 float Price;

 //Вычисляем значение переменной Price
 Price=Count*Cost-Count*Cost*Discount;
 
 // Выводим итоговую стоимость товара со скидкой
 cout<<"Please, pay:"<<Price<<"\n";
}

Теперь Вы увидели особенность работы оператора cin>>. Как только программа встречает данный оператор, она останавливается и ждет реакции пользователя. И, пока пользователь не введет данные и не нажмет "Ввод"(Enter). Только после этого продолжится выполнение.

На примере еще раз поработаем с вводом и выводом. Напишем программу-обманщика: программа предлагает поиграть в числа, кто загадает большее число тот и выигрывает.

Создадим новый проект Game и введем такой текст:

// Заголовок
#include <iostream>

// определение пространства имен, в котором есть cout<<
using namespace std;

// Главная функция
void main()
{
 // Приглашение "Давай играть!"
 cout<<"Let's play!\n";

 //Объявление переменной i
 int i;
 
 //Приглашение "Введите число"
 cout<<"Enter a number:";

 //Ввод числа
 cin>>i;

 //Вывод числа, которое "загадал" компьютер
 cout<<"I have "<<i+1<<"\n";

 // Вывод результата игры
 cout<<"I'm winner!\n";
 
}

Откомпилируйте программу. Обращаться с нашей программой легко. Просто вводите любое число и постоянно оказывается, что у компьютера число больше и он выигрывает. Вот, что Вы увидите на экране при запуске программы, если на запрос "Enter a number:" введете число 67:

Let's play!
Enter a number: 67

I have 68

I'm winner!

Press any key to continue...

Почему он все время выигрывает?

Давайте рассмотрим строчку

cout<<"I have "<<i+1<<"\n";

В ней выводится значение переменной i, значение которой Вы ввели с клавиатуры, увеличенное на 1, то есть компьтер всегда выводит число, на 1 больше введенного вами с клавиатуры.

Если в этой команде заменить выражение i+1 на выражение i-1, то выигрывать всегда будете вы, так как число выводимое компьтером всегда будет на единицу меньше введенного вами с клавиатуры.

В заключение хотим обратить Ваше внимание на операторы +(плюс) и -(минус). Они используются для сложения и вычитания. В языке С, также есть оператор для деления - /. Данная информация поможет Вам при выполнении домашнего задания, а более подробно мы поговорим об операторах в следующих уроках.


Категория: C | Добавил: DEN-SHP (05.11.2012)
Просмотров: 603 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]