Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Листинг 16.3. Ввод строки значений






1: //Листинг 16.3. Ввод строки значений с помощью cin

2:

3: #include < iostream.h>

4:

5: int main()

6: {

7: int myInt;

8: long myLong;

9: double myDouble;

10: float myFloat;

11: unsigned int myUnsigned;

12: char myWord[50];

13:

14: cout < < " int: ";

15: cin > > myInt;

16: cout < < " Long: ";

17: cin > > myLong;

18: cout < < " Double: ";

19: cin > > myDouble;

20: cout < < " Float: ";

21: cin > > myFloat;

22: cout < < " Word: ";

23: cin > > myWord;

24: cout < < " Unsigned: ";

25: cin > > myUnsigned;

26:

27: cout < < " \n\nInt: \t" < < myInt < < endl;

28: cout < < " Long: \t" < < myLong < < endl;

29: cout < < " Double: \t" < < myDouble < < endl;

30: cout < < " Float: \t" < < myFloat < < endl;

31: cout < < " Word: \t" < < myWord < < endl;

32: cout < < " Unsigned: \t" < < myUnsigned < < endl;

33:

34: cout < < " \n\nInt, Long, Double, Float, Word, Unsigned: ";

35: cin > > myInt > > myLong > > myDouble;

36: cin > > myFloat > > myWord > > myUnsigned;

37: cout < < " \n\nInt: \t" < < myInt < < endl;

38: cout < < " Long: \t" < < myLong < < endl;

39: cout < < " Double: \t" < < myDouble < < endl;

40: cout < < " Float: \t" < < myFloat < < endl;

41: cout < < " Word: \t" < < myWord < < endl;

42: cout < < " Unsigned: \t" < < myUnsigned < < endl;

43:

44:

45: return 0;

46: }

Результат:

Int: 2

Long: 30303

Double: 393939397834

Float: 3.33

Word: Hello

Unsigned: 85

Int: 2

Long: 30303

Double: 3.93939e+11

Float: 3.33

Word: Hello

Unsigned: 85

Int, Long. Double, Float, Word, Unsigned: 3 304938 393847473 6.66 bye -2

Int: 3

Long: 304938

Double: 3.93847e+08

Float: 6.66

Word: bye

Unsigned: 4294967294

Вновь в программе объявляются переменные разных типов и массив символов. Пользователю предлагается последовательно ввести данные разных типов, чтобы убедиться что программа поддерживает ввод данных любого типа.

Анализ: В строке 34 пользователю предлагается ввести все данные сразу в определенном порядке, после чего каждое введенное значение присваивается соответствующей переменной. Благодаря тому что cin рассматривает пробелы между словами как разделители, становится возможной инициализация всех переменных. В противном случае программа пыталась бы ввести всю строку в одну переменную, что было бы ошибкой.

Обратите внимание на строку 42, в которой выводится без знаковое целое число. Пользователь ввел значение -2. Поскольку программа была проинструктирована, что вводится без знаковое целое число, то вместо знакового -2 будет введено без знаковое двоичное представление этого числа. Поэтому при выводе с помощью cout на экране отображается значение 4294967294, являющееся двоичным представлением числа -2.

Позже вы узнаете, как вводить в буфер строки, содержащие несколько слов, разделенных пробелами. Сейчас же рассмотрим подробнее использование cin для ввода данных сразу в несколько переменных, как в строках 35-36.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал