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

Проверка на правильность ввода значения. - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
Archiolidius
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 8
14.02.2012, 21:24     Проверка на правильность ввода значения. #1
Вот пишу так называемую "проверку на дурака". Столкнулся с проблемой, код:
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
25
26
27
{
    double ch;
    int y=0;
    do{
    y=1;
    int q=0;
    int q1=0;
    int q2=0;
    int i;  
    char ch1[256];
    gets(ch1);
    ch=atof(ch1);
    for(i=0;i<strlen(ch1);i++){     
        if (((ch1[i]<45)||(ch1[i]>57)||(ch==0))&&(ch1[i]!='e')||(ch1[i]==47)||(ch>1e256)||((ch1[0]=='0')&&(ch1[1]!='.'))){
                cout<<"ERRRS\n"; y=0;  break;
            }                               
            if(ch1[i]=='.') q++;
            if(ch1[1]=='-') q1++;
            if(ch1[i]=='e') q2++;
            if ((q>1)||(q1>1)||(q2>1))
            {
                cout<<"ERRRS\n"; y=0; break;}           
            }
    }
    while(y!=1);
    return(ch);
};
Вопрос:
Как сделать чтобы при вводе строки больше заданной размерности не выкидывало с программы?
Или может можно сделать чтобы строка расширялась?
Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2012, 21:24     Проверка на правильность ввода значения.
Посмотрите здесь:

C++ Проверка введенного текста на правильность
C++ проверка кода на правильность
Проверка e-mail на правильность. C++
C++ Проверка на правильность кода
Проверка на правильность ввода с клавиатуры C++
C++ Как контролировать правильность ввода?
циклические алгоритмы (проверять правильность ввода данных) C++
C++ Правильность ввода даты
C++ Проверить правильность ввода в строке типа char
C++ Проверка на правильность ввода C++
C++ Проверить правильность ввода числа в двоичной системе счисления
Проверить массив на правильность ввода C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
14.02.2012, 21:26     Проверка на правильность ввода значения. #2
Цитата Сообщение от Archiolidius Посмотреть сообщение
Как сделать чтобы при вводе строки больше заданной размерности не выкидывало с программы?
C++
1
cin>>setw(количество_символов)
Цитата Сообщение от Archiolidius Посмотреть сообщение
Или может можно сделать чтобы строка расширялась?
C++
1
2
string str;
cin>>str;
Archiolidius
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 8
14.02.2012, 21:52  [ТС]     Проверка на правильность ввода значения. #3
Gepar, Спасибо!
А можно как нибудь сделать через char? А то теперь через string когда ввожу букву то выкидывает:
Unhandled exception at 0x75a0b727 in perew.exe: Microsoft C++ exception: std::invalid_argument at memory location 0x0037fd5c..
Yandex
Объявления
14.02.2012, 21:52     Проверка на правильность ввода значения.
Ответ Создать тему
Опции темы

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