Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2009, 15:44   #1
Quezovercoatl
Новичок
Джуниор
 
Регистрация: 09.12.2009
Сообщений: 2
По умолчанию Pascal. Можно ли исправить ошибку?

Приветствую.
Возник следующий вопрос:

Код:
var
 i,n:= integer;
begin
 read (i,n);
  write (i+n);
end.

Можно ли заставить программу не вылетать с ошибкой, если пользователь вместо целого числа введет, скажем, букву?
Я знаю, вы думаете, что понимаете то, что я сказал. Но я не уверен, что вы осознаете, что то, что я сказал, еще не то, что я имел ввиду (с)
Quezovercoatl вне форума Ответить с цитированием
Старый 09.12.2009, 15:47   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Код:
 readln (i, n);
i и n Должны быть String;
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 09.12.2009, 15:55   #3
Quezovercoatl
Новичок
Джуниор
 
Регистрация: 09.12.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
i и n Должны быть String;
Код:
var
 i,n:String;
begin
 read (i,n);
  write (i+n);
end.
В этом случае сумма i+n не считается.
Я знаю, вы думаете, что понимаете то, что я сказал. Но я не уверен, что вы осознаете, что то, что я сказал, еще не то, что я имел ввиду (с)
Quezovercoatl вне форума Ответить с цитированием
Старый 09.12.2009, 16:15   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вводите в строковую переменную,
потом проверяйте через функцию val - дальше решайте, либо заставляйте повторно вводить:
Код:
             repeat
               readln(s);
               val(s,n,err);
               if err<>0 then WriteLn('Вводить можно только ЧИСЛА! Пробуйте ещё раз!'); 
            until (err = 0);
, либо сообщайте об ошибке и выходите из программы...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку KARUSHEV Помощь студентам 9 10.09.2009 13:01
помогите исправить ошибку Temirlan Общие вопросы Delphi 2 20.02.2009 18:42
нужно исправить ошибку TheVenny Помощь студентам 17 06.11.2008 16:26
Исправить ошибку LLIypLLIyH Помощь студентам 5 16.06.2008 16:50
Помогите исправить ошибку Булат Общие вопросы Delphi 3 25.04.2008 10:01