Другие языки программирования и технологии

Помогите написать программу на паскале

Написать программу вычисления суммы цифр введенного с клавиатуры четырехзначного числа. при вводе 0 - выход из программы. если число больше 9999 - выдать сообщение об ошибке
program sumator;
uses crt;
var c:integer;
ed,des,sot,tis,sum:real;
begin
clrscr;
repeat
writeln ('Введите число');
readln (c);
if c>9999 then writeln('Ошибка') else begin
ed:=c div 10;
ed:=c - ed*10;
des:=c div 100;
des:=(c - des*100 - ed)/10;
sot:=c div 1000;
sot:=(c-sot*1000 - (des*10+ed))/100;
tis:=(c-(sot*100+des*10+ed))/1000;
sum:=ed+des+sot+tis;
writeln ('Сумма цифр = ',sum:2:0);
end;
until c=0;
end.
РН
Руслан Некрасов
1 739
Лучший ответ
Вот программа с защитой от неправильного ввода значений:

var S : String; N, Sum : Byte; Err : Boolean;
begin
  repeat
    Write('Введите число от 0 до 9999 : '); ReadLn(S);
    if Length(S) > 4 then
      WriteLn('Введённое значение больше 4 символов. ')
    else
      begin
        Err := False;
        Sum := 0;
        for N := 1 to Length(S) do
          if S[N] in [#48..#57] then
            Sum := Sum + Ord(S[N]) - 48
          else
            Err := True;
        if Err then
          WriteLn('В ведённом числе присутствуют символы не относящиеся к цифрам! ')
        else
          WriteLn('Сумма введённых цифр = ', Sum);
      end;
  until S = '0';
  WriteLn('Программа завершила свою работу. ');
end.
Рубик Рубиков
Рубик Рубиков
98 542
На халяву хочешь?

на халяву только опишу алгоритм примерный

тут же все просто. Сначала делаешь условие если введенное число = 0 то выход иначе проверка
если введенное число больше 9999 то вывод сообщения об ошибке иначе
s=0
x=введенное число
цикл (пока х больше ноля)
у=остаток от деления х на 10
х=деление без остатка х на 10
s=s+y
выход из цикла

вывод s на экран

Примерно так. Цикл выбрать какой удобнее
Влад *
Влад *
1 609