Защита ввода с клавиатуры
От: sima_two  
Дата: 25.03.05 14:45
Оценка: -1
Вот пример защиты ввода для паскаля:
{$l-}
repeat
writeln('v kakoy razdel vstavlyat file2?');
read(a);
until (ioresult=0);
{$l+}

Дайте пожалуйста аналогию для С. Спасибо.
Re: Защита ввода с клавиатуры
От: Nose Россия  
Дата: 25.03.05 14:56
Оценка:
Здравствуйте, sima_two, Вы писали:

_>Вот пример защиты ввода для паскаля:

_>{$l-}
_> repeat
_> writeln('v kakoy razdel vstavlyat file2?');
_> read(a);
_> until (ioresult=0);
_>{$l+}

_>Дайте пожалуйста аналогию для С. Спасибо.


а что это? что-то вспоминается из детства, но не очень-то...
Re[2]: Защита ввода с клавиатуры
От: sima_two  
Дата: 25.03.05 15:01
Оценка:
Здравствуйте, Nose, Вы писали:

N>Здравствуйте, sima_two, Вы писали:


_>>Вот пример защиты ввода для паскаля:

_>>{$l-}
_>> repeat
_>> writeln('v kakoy razdel vstavlyat file2?');
_>> read(a);
_>> until (ioresult=0);
_>>{$l+}

_>>Дайте пожалуйста аналогию для С. Спасибо.


N>а что это? что-то вспоминается из детства, но не очень-то...


Если ввести в числовую переменную букву, будет аварийный выход из программы. Этот код предотвратит его, и предложит ввести заново.
Re: Защита ввода с клавиатуры
От: Chez Россия  
Дата: 25.03.05 15:30
Оценка:
Здравствуйте, sima_two, Вы писали:

В случае неверного ввода в праскале вылетает runtime error. В C нет такого. Просто функция scanf() возвращает количество правильно распознанных полей.

А если делать через cin, то будет ексцепшен, насколько я знаю.

см. scanf

Chez, ICQ#161095094

Posted via:RSDN@Home;version:1.1.3;muzikstamp:Пикник и Секта Мо — 06 — Будь навсегда

Re: Защита ввода с клавиатуры
От: _DAle_ Беларусь  
Дата: 25.03.05 15:41
Оценка:
Здравствуйте, sima_two, Вы писали:

_>Вот пример защиты ввода для паскаля:

_>{$l-}
_> repeat
_> writeln('v kakoy razdel vstavlyat file2?');
_> read(a);
_> until (ioresult=0);
_>{$l+}

_>Дайте пожалуйста аналогию для С. Спасибо.



int a;
do {
    printf("'v kakoy razdel vstavlyat file2?\n");
} while (scanf("%d", &a) != 0)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.