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

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

Войти
Регистрация
Восстановить пароль
 
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
#1

Ошибка типов данных - C++

12.08.2012, 19:08. Просмотров 539. Ответов 2
Метки нет (Все метки)

У меня возник вопрос:
Запускаю программу
Я должен ввести число от одного до трех, после значение записывается в переменную типа int
Если мое число не подходит под это описание(меньше 0 или больше 3) выходит ошибка, в противном случае программа идет дальше.
Но если я ввожу не число, а букву, то мне в бесконечном цикле выводится ошибка, а я хочу независимо от введенного значения (будь то буква или цифра или знак) чтоб программа проверяла все коректно.
Как мне это реализовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2012, 19:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка типов данных (C++):

Ошибка несовместимости типов данных в бинарном поиске - C++
Ошибка в несовместимости типов данных, но как ее исправить? struct Dostopr { char nazvanie; char strana; int year; int...

Ошибка в преобразовании типов - C++
Здравствуйте. Я написал программу, которая преобразует int в char через указатель. Программа работает, но криво. Например при вводе числа...

Ошибка в несовместимости типов - C++
Отрывок : int main() { char choice; list(); for(;;) { choice = menu();//Показывает ошибку " Unit1.cpp(23): E2109 Not an allowed...

Ошибка преобразования типов - C++
В чем именно я ошибся,если код ошибки #include <iostream> #include <stdlib.h> #include <string> #include <ctype.h> using...

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

Преобразование типов данных - C++
Как преобразовать тип данных который берется с ячейки Excel в строчный тип, чтобы потом это вывести в label? у меня такой код ...

2
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
12.08.2012, 19:12 #2
C++
1
2
3
4
5
6
7
8
9
10
11
int n;
 
cout << "Введите число: ";
 
while (!(cin >> n))                 // ПОКА происходит ошибка при вводе
{
   cin.clear();                     // Сбросить флаг ошибки
   while ( cin.get() != '\n' ) ;    // Удалить все оставшиеся символы из входной очереди
 
   cout << "Ошибка! Введите целое число: ";
}
1
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
12.08.2012, 19:17  [ТС] #3
Цитата Сообщение от Intel~lect Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
int n;
 
cout << "Введите число: ";
 
while (!(cin >> n))                 // ПОКА происходит ошибка при вводе
{
   cin.clear();                     // Сбросить флаг ошибки
   while ( cin.get() != '\n' ) ;    // Удалить все оставшиеся символы из входной очереди
 
   cout << "Ошибка! Введите целое число: ";
}
Спасибо! Все отлично работает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2012, 19:17
Привет! Вот еще темы с ответами:

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

Перегрузка типов данных - C++
Напишете пожалуйста примеры: перегрузка из одного типа в другой(например из типа int в float, и обратно из float в int).

Конвертация типов данных - C++
Доброго время суток. Хотел бы задать простенький вопрос. 1.Из ком. строки читаются параметры argv. Допустим один из них равен '12'...

Преобразование типов данных - C++
Подскажите как преобразовать double 0.00000000000023 в char 2.3E-13 и обратно? Спасибо!


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

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

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