Типа калькулятор

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Fire3d, 20 Jun 2007.

  1. Fire3d

    Fire3d Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Вот мой способ
    Почему он не работает ?
     
  2. Exile1985

    Exile1985 Elder - Старейшина

    Joined:
    10 Aug 2006
    Messages:
    124
    Likes Received:
    35
    Reputations:
    1


    :)) ну задача стояла насколько я помню чтоб сложить введенное одной строкой: 4+4 и выдать ответ, я эт и сделал, а про другое разгавора небыло :D
    да это и не так и сложно сделать.
     
  3. Fire3d

    Fire3d Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Просто тем способом каторый netman написал.... Я не проходил ))) Т.е. не учили )))
     
  4. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    Code:
    program pas;
    uses crt;
    var
    a,b,s:integer;
    c:char;
    begin
    write('>'); readln(a,c,b);
    write(a);
    case c of
    '+':write('+');
    end;
    write(b);
    s:=a+b;
    writeln('=',s);
    end.
    переменная, в которой может быть '+' должна быть типа char. еще было бы неплохо указать, что сложение вводить надо с пробелами (например, написать пример :) ). но ваще можно и так написать:

    writeln('>');
    writeln('4+4=8'); или writeln('FATAL ERROR!');
     
    #24 Piflit, 20 Jun 2007
    Last edited: 20 Jun 2007
  5. Fire3d

    Fire3d Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Твой код тоже не работает изначально твой код был похож на мой кроме названия ячек хз почему я решил в integer запихнуть ячейку c.... щас не об этом при тесте программы ..... пишет типа invalid
     
    #25 Fire3d, 20 Jun 2007
    Last edited: 20 Jun 2007
  6. Exile1985

    Exile1985 Elder - Старейшина

    Joined:
    10 Aug 2006
    Messages:
    124
    Likes Received:
    35
    Reputations:
    1
    в чистом паскале я не особо но насколько я заню проще было бы сделать так:

    Code:
    var s:string;
        a,b,c,posit:integer;
    begin
          read(s);
          posit:=pos('+',s);
          a:=val(copy(s,1,posit-1));
          b:=val(copy(s,posit+1,Length(s)));
          c:=a+b;
          write('=',c);
          readln;
    end.
    val - преобразует строку вчисло
    copy - копирует заданную часть строки, формат записи такой copy(строка из которой копируем, символ с которого начинаем копировать, символ по который копируем)

    но у NetMen ошибка в коде, в этой строке:

    b:=Str2Int(copy(s,posit+1,length(s)-posit+1));

    а именно тут length(s)-posit+1 он от общей длинны строки отнимает высчитанную позицию знака +, это не верно а вдруг будет такая запись 15+4
    тогда получится 4-3 т.е. такая запись b:=Str2Int(copy(s,posit+1,1);
    где 4 - длинна строки, а 3 - позиция знака +.

    провильно буит так: b:=Str2Int(copy(s,posit+1,Length(s)));
     
    #26 Exile1985, 20 Jun 2007
    Last edited: 20 Jun 2007
  7. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    у меня работает о0
     
  8. NetMan

    NetMan Elder - Старейшина

    Joined:
    9 Feb 2004
    Messages:
    121
    Likes Received:
    37
    Reputations:
    34
    Exile1985 LOL! RTFM about Copy function.
    Code:
    Delphi syntax:
    
    function Copy(S; Index, Count: Integer): string;
     
  9. Fire3d

    Fire3d Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Спасибо всем ребят разобрался я сам.
    Воть как должно быть !
    только обезательно надо ставить пробелы после каждего символа к примеру 4 + 4 воть
     
  10. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    ты в последнем коде чето намудрил. много лишнего=\
     
  11. Fire3d

    Fire3d Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    2piflit Помоймо он как раз работает а твой не компилит одни ошибки .... воть .... попробуй.
     
  12. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    гг а у меня твой не пашет=) ты чем компилишь?) у меня Pascal ABC
     
  13. Fire3d

    Fire3d Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Я же программирую в turbo pascal. ))) Воть и вся разница. В начале топика я предупредил.
     
  14. Exile1985

    Exile1985 Elder - Старейшина

    Joined:
    10 Aug 2006
    Messages:
    124
    Likes Received:
    35
    Reputations:
    1
    мда, натупил чет я :)
     
    1 person likes this.
  15. Fire3d

    Fire3d Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Я так и не понил к чему этот смайлик ))) Попробуй скачай турбо паскаль весит 1 мб и скомпиль свой код
    ггг посмотрим что выйдет :D
     
  16. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    мы в школе год кодили на TP7. этот синий экран меня уже достал=\ терь кодю на дельфях. чего и тебе желаю))