Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мищишин електронка.doc
Скачиваний:
0
Добавлен:
08.12.2018
Размер:
1.04 Mб
Скачать

Виведення і введення одного символу за один раз

Залежно від призначення програми, можливо, буде потрібно виводити на дисплей або читати з клавіатури по одному символу за один раз. Для виведення одного символу за один раз програми можуть використовувати функцію cout.put. Наступна програма COUTPUT.CPP використовує цю функцію для виведення на екран повідомлення Вчимося програмувати мовою C++! по одному символу за один раз:

_

Void main(void)

{

char string[ ] = "Вчимося програмувати мовою C++!";

int i;

for (i = 0; string[i]; i++)

cout.put(string[i]);

}

Бібліотека етапу виконання надає функцію з ім'ям toupper, яка повертає верхній регістр еквівалента рядкової букви. Наступна програма COUTUPPR.CPP використовує функцію toupper для переведення символу нижнього регістра у відповідний символ верхнього регістра, а потім виводить цю букву за допомогою cout.put

#include <ctype.h> // прототип toupper

Void main(void)

{

char string[ ] = "C++ language";

int i;

for (i = 0; string[i]; i++)

cout.put(toupper(string[i]));

cout << endl << "Результуючий рядок: " << string << endl;

}

Після компіляції і виконання програми на дисплей буде виведено:

С:\> COUTUPPR <ENTER>

C++ LANGUAGE

Результуючий рядок: C++ language

Введення з клавіатури по одному символу за один раз

Так само, як і cout використовує функцію cout.put для виведення одного символу за раз, cin використовує функцію cin.get, що дозволяє читати один символ даних з клавіатури за один раз. Щоб скористатися функцією cin.get, просто присвойте змінній символ, який повертається цією функцією, як показано нижче:

letter = cin. get ( );

Наступна програма CIN_GET.CPP виводить повідомлення, у відповідь на яке вам необхідно ввести Y або N. Потім вона повторює в циклі виклик cin.get для читання символів, поки не отримає Y або N:

#include <ctype.h>

Void main(void)

{

char letter;

cout << "Хочете продовжувати? (Y/N): ";

do {

letter = cin.get ( );

// Перевести у верхній регістр

letter = toupper(letter);

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

cout << endl << "Ви ввели " << letter << endl;

}

Читання з клавіатури цілого рядка

Як ви вже знаєте, при введенні з клавіатури cin використовує порожні символи такі як пробіл, табуляція або повернення каретки та інше. У багатьох випадках потрібно, щоб програми зчитували цілий рядок даних в символьну змінну. Для цього програми можуть використовувати функцію cin.getline як показано нижче:

сin.getline(string, 64);

Коли cin.get читає символи з клавіатури, вона не читатиме символів більше, ніж може вміщати рядок. Зручним способом визначити розмір масиву є використовування оператора C++ sizeof, як показано нижче:

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

Якщо пізніше змінити розмір масиву, то не потрібно буде шукати і змінювати кожний оператор з cin.get, що зустрічається у програмі. Натомість оператор sizeof буде використовувати коректний розмір масиву. Наступна програма GETLINE.CPP використовує функцію cin.getline для читання з клавіатури рядка тексту:

_

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]