Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Ввод-вывод стандартного текстового (символьного) потока




Ввод-вывод одиночного символа

ВВОД-ВЫВОД СИМВОЛЬНЫХ ДАННЫХ И СТРОК

getchar() – функция (без параметров) используется для ввода одиночного символа из входного потока. Она возвращает 1 байт информации (символ) в виде значения типа int.

putchar(ch) – функция используется для вывода одиночного символа, то есть помещает в стандартный выходной поток символ ch. Аргументом функции вывода может быть одиночный символ (включая знаки, представляемые управляющими последовательностями), переменная или функция, значением которой является одиночный символ.

Пример 65. Программа считывает из входного потока один символ, а затем выводит его на экран

int main()

{

char ch;

cout<<"Input text";

ch=getchar();

putchar(ch);

system("pause");

return 0;

}

Пример 66. Введите предложение, в конце которого стоит точка, и подсчитайте общее количество символов, отличных от пробела (не считая точки).

int main()

{

char z; //z - вводимый символ

int k; //k - количество значащих символов

printf("Напишите предложение с точкой в конце:\n");

for (k=0; (z=getchar())!='.';) /*выражение z=getchar() заключено в скобки, так как

операция присваивания имеет более низкий ранг, чем операция сравнения*/

if (z!=' ')

k++;

printf("\nКоличество символов=%d", k);

system("pause");

return 0;

}

Результат выполнения программы:

Напишите предложение с точкой в конце:

1 2 3 4 5 6 7 8 9 0. МАМА МЫЛА РАМУ

Количество символов=10

 

gets(s) – функция, которая считывает строку s из стандартного потока до появления символа '\n', сам символ '\n' в строку не заносится.

puts(s) – функция, которая записывает строку в стандартный поток, добавляя в конец строки символ '\n', в случае удачного завершения возвращает значение больше или равное 0 и отрицательное значение (EOF = -1) в случае ошибки.

Пример 67.

int main()

{

char s[20];

cout<<"Input text";

gets(s);

puts(s);

system("pause");

return 0;

}

Результат выполнения программы: при вводе строки " 123 456 789 " чтение данных осуществляется побайтно до символа '\n', то есть в s занесется строка " 123 456 789\0 " (управляющая последовательность '\0' на экран не выводится, а является признаком конца строки). При выводе строки функция puts возвращает в конце строки дополнительно один символ '\n', следовательно, будет выведена строка " 123 456 789\n " (управляющая последовательность '\n ' на экран не выводится, а осуществляет перевод курсора на новую строку).

Пример 68. Вычислите длину введенной строки.

int main()

{

char st[100];

int i=0;

puts("Введите строку:");

gets(st);

while(st[i++]);

printf("Длина введенной строки = %i\n",i-1);

system("pause");

return 0;

}




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


Дата добавления: 2014-11-29; Просмотров: 446; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.