![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 02.11.2011
Сообщений: 1
|
![]()
int a;
printf("Vvedite chislo: "); scanf("%d",&a); while(a>10 || a<0) { printf("\nNepravilnoye chislo!"); printf("\nVvedite chislo: "); scanf("%d",&a); } Вот кусок кода. Необходимо, чтобы программа проверяла что введенное число лежит в диапазоне от 0 до 10 и если вводишь букву или что-то еще выводила сообщение об ошибке, а я когда ввожу букву у меня программа циклится (я использовал isdigit). Мне сказали что-то про строки. Но все что я не пробую (изменять формат на %s или int на char) не могу довести до конца. Изучаю язык с нуля - в нашем распоряжении книги - я читаю, но сдать-то надо завтра. Как сделать чтобы программа не циклилась? Заранее спасибо. |
![]() |
![]() |
![]() |
#2 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]()
по условию вводится строка, у вас где объявлена строка?
хотя бы так: Код:
организуете цикл по строке и проверяете что-то типа if(s[i]<'0' || s[i] >'9') Если же попробовать продолжить ваше решение, то как-то так: Код:
|
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Записи - "бьет" ли карта k1 карту k2, с учетом того что масть m является козырной. | makarevich | Общие вопросы Delphi | 2 | 21.06.2011 13:38 |
Каждый символ string в ComboBox1 ? | newprog12 | Помощь студентам | 1 | 24.01.2010 16:38 |
Удвоить каждый символ в строке | мария2507 | Microsoft Office Excel | 7 | 22.12.2009 13:40 |
выписать каждый 5-символ | StillFree | Microsoft Office Word | 23 | 25.03.2009 22:03 |