Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Защита от ввода букв и других символов.

Артём Овсиенко Ученик (143), закрыт 9 месяцев назад
Как сделать так, чтобы в консоль можно было вводить только числа. Либо же при вводе букв выводилось в консоль "Повторите попытку" и программа начала работать заново.

Лучший ответ
Сергей Гений (56299) 10 месяцев назад
Как в приведенном вами же коде (строки 37-42).
если тоже самое требуется и для ввода lowerBound и upperBound 37-42 строки можно вынести в функцию и с помощью нее вводить все числа.
 int input() 
{
int num;
while (!(std::cin >> num) || std::cin.peek() != '\n' )
{
std::cout << "Not a number!";
std::cin.clear();
std::cin.ignore(10000, '\n');
}
return num;
}
 lowerBound = input();
upperBound = input();
userNumber = input();
Остальные ответы
Чистый Язык Си Ученик (242) 10 месяцев назад
#include<stdio.h>
#include<ctype.h>
#include<string.h>

int main()
{
char text[25] ={0},
newtext[25] = {0};
int pos = 0;
printf("Input your number:\n");
fgets(text, sizeof(text), stdin);
for(int i = 0; i<strlen(text); i++)
if(isdigit(text[i])) newtext[pos++] = text[i];

printf("%d", atoi(newtext));

return 0;
}
Похожие вопросы