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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
Archiolidius
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 8
#1

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

14.02.2012, 21:24. Просмотров 2352. Ответов 2
Метки нет (Все метки)

Вот пишу так называемую "проверку на дурака". Столкнулся с проблемой, код:
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++ - C++
Приветствую Возник вопрос, написал небольшую программку для вычисления корней квадратного уравнения. Проверки все работают. Остается...

Проверка на правильность ввода с клавиатуры - C++
Здравствуйте! задача: пользователь вводит с клавиатуры цифру, нужно проверить что пользователь действительно ввел цифру, а не букву, знак...

Правильность ввода даты - C++
Всем привет. Хотелось бы узнать способ проверки правильности формата введенной даты в строке. Т.е. на вход подается строка, необходимо...

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

Как контролировать правильность ввода? - C++
В переменные типов unsigned и double нужно записать численное значение. Какие есть способы контроля ввода для избежания ввода символов,...

Проверить правильность ввода в строке типа char - C++
Здравствуйте. Такой вопрос: Есть строковый массив и запись в него, но как при этом проверить все это дело на содержание в нем, либо при...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
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..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2012, 21:52
Привет! Вот еще темы с ответами:

циклические алгоритмы (проверять правильность ввода данных) - C++
С клавиатуры вводят дробные числа, до тех пор пока их сумма меньше К. Число К вводится с клавиатуры и лежит в диапазоне от 0 до 1000....

Проверка e-mail на правильность. - C++
как проверить e-Mail на правельность ? Если он неправельный то вывести описание ошибки (подробное). Наобарот - если правельный то...

Проверка на правильность кода - C++
// C++ 6.6 I.12.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

проверка кода на правильность - C++
Используя оператор цикла while с условием и постусловием, решить следующие задачу: найти сумму ряда с точностью е = 10-4, общий член...


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

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

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