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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2008, 08:50   #1
Panda
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 24
По умолчанию Помогите проверку ввода сделать

Вот программа:
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
grad=57.2958;
rad= 0.0174533;
Var
R, G, v,n,l: integer;
 resh: real;
begin
writeln('1-gradusbI v radianbI');
writeln('2-radianbI v gradusbI');
  write ('Vash vybor - ');

readln(v);
   case v of
    1: begin
  write ('G=');
   readln(G);
 resh:=rad*G;
write('otvet= ' ,resh:4:2);
  readln;
  end;
  2: begin
  write  ('R=');
   readln(R);
 resh:=grad*R;
write('otvet= ' ,resh:4:2);
readln;
end;
end;
end.
Должны вводиться только цифры, если ввести буквы должно выдаваться сообщение об ошибке, но программа не должна вылетать, а осуществлять ввод дальше.
Заранее спасибо!!!
Panda вне форума Ответить с цитированием
Старый 01.07.2008, 09:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну способов несколько есть, но вот например из лабораторок:
Код:
repeat
 readln(sv);
 val(sv,v,err);
 if err<>0 then writeln('Это не число, давай еще раз');
until err=0;
Здесь sv - строка;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.07.2008, 09:15   #3
Panda
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну способов несколько есть, но вот например из лабораторок:
Код:
repeat
 readln(sv);
 val(sv,v,err);
 if err<>0 then writeln('Это не число, давай еще раз');
until err=0;
Здесь sv - строка;
Незнаешь как через прцедуру сделать?
Panda вне форума Ответить с цитированием
Старый 01.07.2008, 20:50   #4
knight
Дон Кихот
Форумчанин
 
Аватар для knight
 
Регистрация: 17.01.2008
Сообщений: 130
По умолчанию

Код:
function gettext: integer;
begin
   repeat  
    readln(sv);  
    val(sv,v,err);  
    if err<>0 then writeln('Это не число, давай еще раз');  
   until err=0;  
  return v;
end;
knight вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с проверкой ввода в паскале neomaximus Помощь студентам 4 01.07.2008 23:10
Помогите пожалуйста написать проверку ввода для этой программы Saaashka Помощь студентам 1 01.07.2008 09:11
Делать проверку при спрятонной форме AngelOfDeath Общие вопросы Delphi 8 02.05.2008 15:35