Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
basic021
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 11
#1

Проверка на ввод только нескольких букв - C++

18.05.2014, 22:59. Просмотров 915. Ответов 6
Метки нет (Все метки)

Проверка на ввод только цифр или букв, понятна, а вот собственно нужно ввести только три буквы по очереди типа R, Y, W в противном случае повтор. Не могу понять как выбрать именно эти буквы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (0, "");
    bool flag = false; 
    int q; 
    do {
    cin>>q; 
        if (cin.good())     // на неверный ввод 
        {
        cout<<"введена цифра"<<endl; // сообщаем об ошибке 
        cin.clear();                  // сбрасываем флаг ошибки 
        cin.ignore(255, '\n');        // очищаем буфер 
        }
        else flag = true;
    } while (!flag);
    cout<<"введен символ"<<endl;
            _getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 22:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка на ввод только нескольких букв (C++):

Проверка на ввод букв - C++
Как в данной программе реализовать проверку на ввод букв.:umbrage: #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; ...

Проверка на ввод букв - C++
В общем такая проблемка Задача: сделать программу для расчета периметра, площади, медианы, бисектрисы и высоты. # include &lt;stdio.h&gt;; ...

Try/catch. Проверка на ввод букв в int - C++
Как сделать проверку на ввод букв в переменную типа int? Хочу это реализовать через try/catch, но никак не могу разобраться как это...

Ввод только букв и цифр - C++
возможно ли в данном случае разрешить ввод цифр тоже? и правильно ли я понимаю, что isdigit() здесь не уместен? do{ cout&lt;&lt;&quot;Enter...

тип char ввод только букв - C++
не работает ограничение на ввод только букв, что я делаю не так? cout&lt;&lt;&quot;Enter a character:&quot;&lt;&lt;endl; cin&gt;&gt;simbol; ...... if((simbol...

Проверка ввода только букв - C++
Добрый день! Подскажите, пожалуйста, как можно реализовать проверку на ввод в массив символов строки, состоящей только из букв? То...

6
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.05.2014, 23:58 #2
Что-то не пойму:
Цитата Сообщение от basic021 Посмотреть сообщение
if (cin.good()) * * // на неверный ввод
cin.good() и ввод неверный? Если cin.goog(), то зачем потом флаги сбрасывать и пр.?
0
basic021
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 11
19.05.2014, 00:17  [ТС] #3
оу, сори if (!cin.good()), но суть от этого не меняется, как записать проверку? Если R, Y, W, то true и дальше действие, если другие символы то false и возврат
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2014, 01:01 #4
Цитата Сообщение от basic021 Посмотреть сообщение
но суть от этого не меняется
Ещё как меняется. Код покажите, который пробуете.
0
basic021
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 11
19.05.2014, 11:08  [ТС] #5
Пишу с нуля и это начало, я пример привел, проверки на букву или цифру, а вот проверка на определенную букву не могу понять как сделать. Код большой получится но принцип: просится ввод буквы R или W или Y, если введен символ не из этих трех то ошибка, если одна из этих букв то просится ввести цифру=>проверка на правильность цифра или буква, если буква то ошибка, если цифра то проходит дальше и так далее. Может через номер типа проверка на цифру от 0 до 9 if (q>47&&q<58) - ошибка.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2014, 11:26 #6
Цитата Сообщение от basic021 Посмотреть сообщение
я пример привел, проверки на букву или цифру
Пример кривой, нормального примера я не увидел. Потом, чтобы получить конкретный ответ, нужно задать конкретный вопрос, которого я тоже не увидел. Задачу сформулируйте точнее. Зачем, вообще, ввод в int? Если вводится одна цифра (цифры - это 0-9) или одна буква, то вводите в char.
0
basic021
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 11
27.05.2014, 19:35  [ТС] #7
Цитата Сообщение от basic021 Посмотреть сообщение
просится ввод буквы R или W или Y, если введен символ не из этих трех то ошибка, если одна из этих букв то просится ввести цифру
Вроде понятно. Но догадался сам через switch сделать. Получилось обычное окно типа: будете продолжать y (да) или n (нет). вот так выглядит кусок
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    float x=0; 
    char t; 
m:  cout<<"Введите R, Y, W\n"; 
    cin>>t; 
    switch (t)
    {
    case 'R': 
        cout<<"введите значение для R :\n"; 
        cin>>x; 
        if (cin.good())
        {
n:          cout<<"Введите во что преобразовать Y, W\n"; 
            cin>>t; 
            switch (t)
            {
            case 'Y': 
                cout<<x<<"Y = "<<x(формула)<<" Y\n";
                goto m;
            case 'W': 
                cout<<x<<"W = "<<x(формула) <<" W\n";
                goto m;
            default : cout<<"Егор! Не верный ввод!\n";
            goto n; 
            }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2014, 19:35
Привет! Вот еще темы с ответами:

Можете объяснить, как работает следующая проверка (на ввод букв)? - C++
do { k=scanf_s(&quot;%d&quot;,&amp;mas); if (k==0) { fflush(stdin); printf(&quot;\nОшибка,введите число:&quot;); } ...

Проверка на ввод только символов (строковый класс) - C++
Здравствуйте, проблема заключается в том, что не знаю как сделать проверку на ввод только символов в строковом классе. string color; ...

Ограничение на ввод символов (разрешить ввод только цифр) - C++
Всем доброго времени суток! Я начал изучать С++ и у меня возник такой вопрос: Как ограничить ввод символов (разрешить ввод только...

Удалить из строки только те слова, которые состоят только из латинских букв - C++
Надо удалить из строки только те слова, которые состоят только из латинских букв. Помогите, пожалуйста, что то не могу сообразить.


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
27.05.2014, 19:35
Ответ Создать тему
Опции темы

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