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

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

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

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

18.05.2014, 22:59. Просмотров 818. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 22:59     Проверка на ввод только нескольких букв
Посмотрите здесь:

Проверка на ввод букв C++
Определить, каких слов в тексте больше: состоящих только из букв, или только из цифр C++
C++ тип char ввод только букв
C++ Удалить из строки только те слова, которые состоят только из латинских букв
Проверка нескольких условий C++
Можете объяснить, как работает следующая проверка (на ввод букв)? C++
C++ Слова, состоящие только из гласных или только из согласных латинских букв
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.05.2014, 23:58     Проверка на ввод только нескольких букв #2
Что-то не пойму:
Цитата Сообщение от basic021 Посмотреть сообщение
if (cin.good()) * * // на неверный ввод
cin.good() и ввод неверный? Если cin.goog(), то зачем потом флаги сбрасывать и пр.?
basic021
 Аватар для basic021
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 11
19.05.2014, 00:17  [ТС]     Проверка на ввод только нескольких букв #3
оу, сори if (!cin.good()), но суть от этого не меняется, как записать проверку? Если R, Y, W, то true и дальше действие, если другие символы то false и возврат
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2014, 01:01     Проверка на ввод только нескольких букв #4
Цитата Сообщение от basic021 Посмотреть сообщение
но суть от этого не меняется
Ещё как меняется. Код покажите, который пробуете.
basic021
 Аватар для basic021
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 11
19.05.2014, 11:08  [ТС]     Проверка на ввод только нескольких букв #5
Пишу с нуля и это начало, я пример привел, проверки на букву или цифру, а вот проверка на определенную букву не могу понять как сделать. Код большой получится но принцип: просится ввод буквы R или W или Y, если введен символ не из этих трех то ошибка, если одна из этих букв то просится ввести цифру=>проверка на правильность цифра или буква, если буква то ошибка, если цифра то проходит дальше и так далее. Может через номер типа проверка на цифру от 0 до 9 if (q>47&&q<58) - ошибка.
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2014, 11:26     Проверка на ввод только нескольких букв #6
Цитата Сообщение от basic021 Посмотреть сообщение
я пример привел, проверки на букву или цифру
Пример кривой, нормального примера я не увидел. Потом, чтобы получить конкретный ответ, нужно задать конкретный вопрос, которого я тоже не увидел. Задачу сформулируйте точнее. Зачем, вообще, ввод в int? Если вводится одна цифра (цифры - это 0-9) или одна буква, то вводите в char.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2014, 19:35     Проверка на ввод только нескольких букв
Еще ссылки по теме:

C++ Проверка на ввод букв
C++ Проверка ввода только букв
Ввод/Вывод нескольких элементов за раз C++
C++ Ввод нескольких структур
Try/catch. Проверка на ввод букв в int C++

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

Или воспользуйтесь поиском по форуму:
basic021
 Аватар для 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; 
            }
Yandex
Объявления
27.05.2014, 19:35     Проверка на ввод только нескольких букв
Ответ Создать тему
Опции темы

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