КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Форматный ввод для стандартных потоков ввода
Вид функции scanf: scanf (форматная строка, список аргументов); В качестве аргументов используются адреса переменных.
Пример 21 scanf(“ %d%f ”, &x,&y); Пример 22 int i; float x; char name[50]; scanf(“%d%f%s”,&i, &x, name);
С входной строкой 25 54.32E-1 Thompson присвоит 25 – i, 5.432 – x, “Thompson’\0’” – name. Функция gets описывается в библиотечном файле stdio.h. Функции atoi, atol, atof (описывается в библиотечном файле stdlib.h ) для преобразования строки соответственно в целое, длинное целое или вещественное число.
Пример 23 Пример, иллюстрирующий ввод-вывод. int main() { SetConsoleOutputCP(1251); //функция для вывода текста кириллицей char name[80], ageStr[80]; int age=0; printf("Пожалуйста введите Ваше имя:"); gets(name); printf("Привет, %s! Сколько Вам лет?", name); gets(ageStr); age=atoi(ageStr); if (age>0 && age<=30) printf(" %s! Да Вам всего лишь %d лет?", name,age); else printf(" %s! Вы большой молодец?", name); getch(); return 0; }
Будет выведено:
Пожалуйста введите Ваше имя: Иван Привет, Иван! Сколько Вам лет? 25 Иван! Да Вам всего лишь 25 лет? Операторы ввода – вывода C++ При использовании библиотеки классов C++, используется библиотечный файл iostream, в котором определены стандартные потоки ввода данных от клавиатуры cin и вывода данных на экран дисплея cout, а также соответствующие операции: 1) << – операция записи данных в поток; 2) >> – операция чтения данных из потока. Операторы ввода (>>) и вывода (<<) не являются встроенными для языка C++, а обеспечиваются стандартной библиотекой с помощью потоков ввода – вывода. При запуске программы на выполнение автоматически открываются три стандартных потока языка C++: cin – стандартный поток ввода (с клавиатуры); cout – стандартный поток вывода (на дисплей); cerr – стандартный поток для выдачи сообщений (на дисплей). Вместо потока cout для вывода сообщений об ошибках может использоваться поток cerr. Для выполнения операторов потокового ввода – вывода в программу должна быть включена инструкция препроцессора:
#include <iostream> // подключить файл, где объявлены cin и cout Для возможности использования кириллицы в программу должна быть включена инструкция препроцессора: #include <windows.h> // файл, где определена функция SetConsoleOutputCP(1251) или #include <clocale> // файл, где определена функция setlocale(LC_CTYPE,"rus")
Пример 24. Следующая функция считывает набранное на клавиатуре целое число (например, 4321) и помещает его в переменную i, затем вводит в переменную d число с плавающей точкой (например, 12.34E5), после чего считывает набранную на клавиатуре строку символов (например, имя “Валентин”).
void f() { int i; double d; char name[20]; cin >> i; // считывание в i целого числа cin >> d; // считывание в d числа с плавающей точкой удвоенной // точности cin >> name; // считывание в массив name строки символов }
Три последние инструкции приведенной выше функции, если не учитывать комментарии, можно заменить одной строкой: cin >> i >> d >> name; При вводе данных нет необходимости ставить перед именами переменных оператор взятия адреса &. Оператор ввода >> берёт на себя задачу вычисления адреса, определение формата вводимых данных, преобразование символьного представления информации в двоичное.
Например: void f() { cout << 10; } Эта функция поместит символ 1, а затем символ 0 в стандартный поток вывода, т. е. на экран в строку, на которую указывает курсор. Можно выводить значения различных типов, например:
Пример 25. Вывод значений различных типов: void h(int i) { cout << “Значение i равно “; // вывод текста cout << i; // вывод целого cout << ‘\n’; // помещает в выходной поток один символ – //переход на новую строку }
Три последние инструкции приведенной выше функции, если не учитывать комментарии, можно заменить одной строкой: cout << “Значение i равно “<< i<< ‘\n’;
При выводе отдельных символов каждый символ должен заключаться в одиночные кавычки в отличие от вывода строк символов, когда выводимая строка заключается в двойные кавычки.
Пример 18. Совместное использование операторов ввода и вывода: #include "stdafx.h" #include <iostream> // подключить файл, где объявлены cin и cout #include <conio.h> // файл, где определена функция getch() #include <windows.h> // файл, где определена функция SetConsoleOutputCP(1251); using namespace std; void main() { SetConsoleOutputCP(1251); //функция для вывода текста кириллицей char name[20]; cout << "Пожалуйста, введите Ваше имя.\n"; cin >> name; cout << "Привет, " << name << "!\n"; getch(); // ждать нажатия любой клавиши }
Дата добавления: 2014-11-29; Просмотров: 469; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |