Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 5
Регистрация: 18.11.2013
Сообщений: 118
1

Контроль ввода данных из потока

14.09.2014, 10:56. Просмотров 630. Ответов 4
Метки нет (Все метки)


Всем привет!
Так получилось, что при изучении программирования пришлось очень резко перепрыгнуть с С на С++ и возник ряд вопросов при выполнении задания. Задание следующее:
"Создать программу, которая одновременно считывает данные с потока и проводит контроль ввода. Данные представляют из себя телефонный код, который имеет такой формат: (код местности) ХХХ-ХХ-ХХ. Если во время ввода считывается недействительный код местности, то вывести сообщение об ошибке."
Как я понял все это должно происходить, так как сказать, в режиме LIVE-времени, без нажатия ENTER? Можно ли создать что-то типо формы, чтобы туда это вписывать? Программа в консоли. Буду очень благодарен за помощь и объяснения, большое спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.09.2014, 10:56
Ответы с готовыми решениями:

Контроль ввода данных
Здравствуйте! Меня интересует ваше мнение по организации этого вопроса. Предположим что у нас...

Контроль ввода данных С++
Подскажите пожалуйста, хочу сделать контроль ввода данных. Предлагать вводить переменную n до тех...

Контроль ввода данных с клавиатуры
пишу программу для работы с двумерными массивами, при вводе размера массива нужно производить...

Обработка данных из потока ввода
Программа в консоли. На экране консоли происходят некоторые действия, в которые пользователь может...

4
Модератор
Эксперт С++
10434 / 8694 / 5255
Регистрация: 18.12.2011
Сообщений: 23,237
14.09.2014, 11:08 2
По поводу Live Вы похоже заблуждаетесь.
Потоком ввода-вывода в С++ называется экземпляр класса iostream.
cin - экземпляр ввода, cout - экземпляр вывода (аналоги stdin и stdout в Си).
Т.е. Вам просто надо прочитать из cin строку и распарсить ее.
0
2 / 2 / 5
Регистрация: 18.11.2013
Сообщений: 118
14.09.2014, 11:15  [ТС] 3
zss, то есть я ввожу сначала весь номер в указанном формате, а потом беру 3 символа в скобочках и сравниваю их с каким-то массивом, где нужные мне коды местности?
0
Модератор
Эксперт С++
10434 / 8694 / 5255
Регистрация: 18.12.2011
Сообщений: 23,237
14.09.2014, 11:49 4
Цитата Сообщение от d3vn Посмотреть сообщение
беру 3 символа в скобочках и сравниваю
Можете преобразовать их в число и потом сравнивать с числовыми кодами, которые
храните в целочисленном массиве.
0
2 / 2 / 5
Регистрация: 18.11.2013
Сообщений: 118
14.09.2014, 12:13  [ТС] 5
zss, сделал так, все работает, вот только настораживает, что все как-то просто, тема "классы потоков", да и задание тоже настораживает, особенно "одновременно считывает данные с потока и проводит контроль ввода" и "Если во время ввода считывается недействительный код местности". Точно невозможно сверять по ходу ввода или что-то еще более круче, чем то, как сделал я?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main(int argc, const char * argv[])
{
    int i;
    char string_number[20];
    char string_code[3];
    int new_code;
    int code_base[3] = {123, 456, 789};
    std::cout << "Введите телефонный номер в региональном формате:" << std::endl;
    std::cin >> string_number;
    for (i = 0; i < 3; i++)
    {
        string_code[i] = string_number[i + 1];
    }
    new_code = atoi(string_code);
    for (i = 0; i < 3; i++)
    {
        if (code_base[i] == new_code)
            std::cout << "Код имеется" << std::endl;
        else
            std::cout << "Код не имеется" << std::endl;
    }
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.09.2014, 12:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Проверка переданных данных из потока ввода
Здорова! От допустим у нас есть три переменные int i, double d и char c. Нужно проверить что...

Ввод данных в string, очистка потока ввода
Дана программа #include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; #include &quot;string.h&quot; #include...

Контроль ввода данных
подскажите,пожалуйста,как сделать,чтобы в массив нельзя было вводить буквы(чтобы не вылетала...

Контроль ввода-вывода потока
Есть функция F которая работает в отдельном потоке и читает данные из stream. Когда стрим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.