Студопедия

КАТЕГОРИИ:


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

Чтение с клавиатуры целой строки




Do

For

(i = 0; string[i]; i++) cout.put(string[i]);

cin.get();

return 0;

}

 
 

Чтение ввода с клавиатуры по одному символу за раз.
Так же, как cout предоставляет функцию cout.put для вывода символа, cin предоставляет функцию cin.get, которая позволяет вам читать один символ данных. Чтобы воспользоваться функцией cin.get, вы просто присваиваете переменной возвращаемый этой функцией символ (Primer 5 лекции 4).

letter = cin.get();

 

#include <iostream>

#include <iomanip>

#include <ctype.h>

using namespace std;

int main()

{

char letter;

cout << "Enter? (Y/N): ";

{

letter = cin.get();

// Преобразовать к верхнему регистру

letter = toupper(letter);

}

while ((letter!= 'Y') && (letter!= 'N'));

cout << endl << "You enter " << letter << endl;

cin.get();

cin.get();

return 0;

}

highlightSyntax('cpp_64442','cpp');

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

cin.getline(string, 64);

 

highlightSyntax('cpp_11491','cpp'); Когда cin.get читает символы с клавиатуры, она не будет читать символов больше, чем может вместить строка. Удобным способом определить размер массива является использование оператора sizeof:

сin.getline(string, sizeof(string));

 

highlightSyntax('cpp_94456','cpp'); Если позже вы измените размер массива, то вам не нужно будет искать и изменять каждый оператор с cin.get, встречающийся в вашей программе. Вместо этого оператор sizeof ' будет использовать корректный размер массива (Primer 6 лекции 4).

#include <iostream>

#include <iomanip>

#include <ctype.h>

using namespace std;

int main()

{

char string[128];

cout << "Enter" << endl;

cin.getline(string, sizeof(string));

cout << "You enter: " << string << endl;

cin.get();

cin.get();

return 0;

}

Когда вы читаете символы с клавиатуры, то, возможно, вам понадобится читать символы вплоть до и включая определенный символ. Когда такой символ будет прочитан, возможно, вы захотите завершить операцию ввода. Для выполнения подобной операции программа может передать искомый символ в cin.getline. Например, следующий вызов заставляет функцию cin.getline читать строку текста, пока не встретится возврат каретки, или пока не будут прочитаны 64 символа, или пока не встретится буква Z:

cin.getline(string, 64, 'Z');

 
 

highlightSyntax('cpp_89516','cpp'); Следующая программа UNTIL_Z.CPP использует cin.getline для чтения строки текста или символов вплоть до появления буквы Я (включая и эту букву): (Primer 7 лекции 4)

#include <iostream>

#include <iomanip>

#include <ctype.h>

using namespace std;

int main()

{

char string[128];

cout << "Enter" << endl;

cin.getline(string, sizeof(string), 'z');

cout << "You enter: " << string << endl;

cin.get();

cin.get();

return 0;

}

 
 

highlightSyntax('cpp_44930','cpp'); Что необходимо знать.


1. cin и cout являются объектами (переменными) классов istream и ostream, которые определены в заголовочном файле iostream.h. О ни предоставляют функции, которые ваши программы могут вызывать для решения определенных задач.
2. Функция cout.width позволяет вашим программам указать минимальное количество символов, которые будет использовать следующее выходное значение.
3. Функция cout. fill позволяет вашим программам указать символ, который cout будет использовать для заполнения пустого пространства устанавливаемого с помощью cout.width или setw.
4. Манипулятор setprecision позволяет программам управлять количеством цифр, выводимых справа от десятичной точки для значений с плавающей точкой.
5. Функции cin.get и cout.put позволяют программам вводить или выводить один символ.
6. Функция cin.getline позволяет программам читать строку текста с клавиатуры.

 

4.3. Using namespace std в С++.

В C++ есть пространства имен. Каждая переменная, класс принадлежат какому-то пространству имен. Для обращения к переменной "a" пространства имен "nmsps" нужно писать "nmsps::a". По умолчанию используется пространство имен с пустым именем, однако все стандартные функции расположены в пространстве имен std.

Если вы не напишете " using namespace std;" то, например, вместо:

cout << ‘Hello world!’;

надо будет всякий раз писать:

std: cout << ‘Hello world!’;

и так для каждой стандартной функции. (Primer 4 лекции 8).

 

 




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


Дата добавления: 2015-07-13; Просмотров: 289; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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