Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Console application

6.8K
12 сентября 2007 года
bolt90
80 / / 25.01.2007
здраствуйте. позвонил мне друг, и попросил помочь усовершенствовать программу таким образом что бы при вводе даных проверялось являются они цифрами или просто символами (в перемешку буквы, цифры, знаки и т.д.). в положительном случае производятся некие расчеты, в отрицательном - выводится сообщение и программа продолжает работу.
проблема в том что это консольная прога. пытался разные варианты, но пока не работает. вот до чего дошел

Код:
program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;

var a:string;
i,f,j:integer;
g:boolean;
begin
read (a);
f:=0;
j:=Length(a);
i:=1;
while i<=j do  //проверяется каждый символ и если он удолитворяет даем "зеленый свет", если нет то цикл заканчивается
begin
if a = '0' then g:=true else begin g:=false; break; end;
if a = '1' then g:=true else begin g:=false; break; end;
if a = '2' then g:=true else begin g:=false; break; end;
if a = '3' then g:=true else begin g:=false; break; end;
if a = '4' then g:=true else begin g:=false; break; end;
if a = '5' then g:=true else begin g:=false; break; end;
if a = '6' then g:=true else begin g:=false; break; end;
if a = '7' then g:=true else begin g:=false; break; end;
if a = '8' then g:=true else begin g:=false; break; end;
if a = '9' then g:=true else begin g:=false; break; end;
i:=i+1;
end;
if g=true then //проверяем можно ли начать подсчет
begin
while i<=j do //для примера складываем все цифры
begin
  f:=f+StrToInt(a);
  i:=i+1;
end;
 end;
if g=false then //ввыводим ошибку
begin
 write ('error');
  break;
end;
   write(IntToStr(f)); // выводим результат

end.


можно зделать потом цикл работы всей программы до ввода какого либо символа...

какие есть предложение :confused:
303
13 сентября 2007 года
makbeth
1.0K / / 25.11.2004
Поточнее бы задачу поставил...
Если все сводится к тому, чтобы ввести только числа:
 
Код:
uses SysUtils;

begin
    readln(a);
    if TryStrToInt(a) then
    begin
        // Все введенные символы - цифры
    end;
end;
286
13 сентября 2007 года
misha_turist
572 / / 28.11.2005
Цитата: bolt90
Код:
program Project2;
{$APPTYPE CONSOLE}
if a = '0' then g:=true else begin g:=false; break; end;
if a = '1' then g:=true else begin g:=false; break; end;
if a = '2' then g:=true else begin g:=false; break; end;
if a = '3' then g:=true else begin g:=false; break; end;
if a = '4' then g:=true else begin g:=false; break; end;
if a = '5' then g:=true else begin g:=false; break; end;
if a = '6' then g:=true else begin g:=false; break; end;
if a = '7' then g:=true else begin g:=false; break; end;
if a = '8' then g:=true else begin g:=false; break; end;
if a = '9' then g:=true else begin g:=false; break; end;


Вернее будет так :

 
Код:
if a in [0,1,2,3,4,5,6,7,8,9] then ....... else ........;


Но вариант makbeth будет более верный!!!
6.8K
13 сентября 2007 года
bolt90
80 / / 25.01.2007
спасибо. не знал что есть такая полезная функция :) теперь можно намного сократить код
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог