Частью стандартной библиотеки С++ является библиотека iostream, которая реализована как иерархия классов и обеспечивает базовые возможности ввода/вывода.
Ввод с терминала, называемый стандартным вводом, “привязан” к предопределенному объекту cin. Вывод на терминал, или стандартный вывод, привязан к объекту cout. Третий предопределенный объект, cerr, представляет собой стандартный вывод для ошибок. Обычно он используется для вывода сообщений об ошибках и предупреждений.
Для использования библиотеки ввода/вывода необходимо включить соответствующий заголовочный файл:
Чтобы значение поступило в стандартный вывод или в стандартный вывод для ошибок используется оператор >):
Операторы ввода, как и операторы вывода, можно сцеплять:
Каким образом ввести заранее неизвестное число значений? Мы вернемся к этому вопросу в конце раздела 2.2, а пока скажем, что последовательность инструкций
считывает по одному слову из стандартного ввода до тех пор, пока не считаны все слова. Выражение
возвращает false, когда достигнут конец файла. (Подробнее об этом – в главе 20.) Вот пример простой законченной программы, считывающей по одному слову из cin и выводящей их в cout:
Вот первое предложение из произведения Джеймса Джойса “Пробуждение Финнегана”:
Если запустить приведенную выше программу и набрать с клавиатуры данное предложение, мы увидим на экране терминала следующее:
(В главе 6 мы рассмотрим вопрос о том, как убрать знаки препинания из вводимых слов.)
На вход поступает строка — точнее, несколько слов, разделенных пробелами — после происходит переход на новую строку, — пользователь нажимает Enter , — но перед получением следующей строки программа должна обработать предыдущую и выдать результат. Причем важно, чтобы очередное слово в строке считывалось в переменную типа std::string для дальнейшей обработки, — необязательно записывать каждое слово в уникальную переменную, можно затирать предыдущее значение.
Необходимо, чтобы программа была зациклена, то есть завершалась только после Ctrl+C или ключевого слова exit .
Ниже представлен условный алгоритм.
Трудность возникла именно с модулем считывания и обработки.
Закрыт по причине того, что не по теме участниками user7860670, αλεχολυτ, AR Hovsepyan, aleksandr barakin, MSDN.’Reinstate Monica’ Knight 15 июл в 6:04 .
Похоже, этот вопрос не соответствует тематике сайта. Те, кто голосовал за его закрытие, указывали следующую причину:
- "Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу" – user7860670, αλεχολυτ, AR Hovsepyan
Если вопрос можно переформулировать согласно правилам, изложенным в справке, отредактируйте его.
Там в качестве переноса два символа
.
Можно просто определить
#ifdef WIN32
#define EOLN "
" // или TEXT("
") для различения UNICODE/MBCS сборок
#else
#define EOLN "
" // или TEXT("
")
#endif
В настройках сборки определить макрос WIN32, если он не определён автоматически.
endl в C++ -аналог такого макроса (EOLN).
Потом писать к примеру
printf("%d"EOLN, 1);
или
cout Остальные ответы