![]() |
Типа калькулятор
Внимание это Turbo pascal:-)
Воть думаю как сделать к примерру в воде 4+4. Программа понимал + и складовала. Может быть так uses crt; var a,b,c:integer; begin write('vedi 4enit>'); readln(a,+,b); c:=a+b; writeln('=',c); end. ? Подскажите пожалуйста как это реализовать. |
Может быть не правильно мысль оформил ?))
|
Код:
uses crt; |
в целом все правильно. можно покрасивее:
program calc; uses crt; var a,b,c:integer; d:char; // (1) begin write('введите первое число'); readln(a); write('введите второе число'); readln(b); write('введите операцию'); readln(d); c:=a StrToChar(d) b; // по поводу StrToChar() не уверен, но думаю, что-то похожее сделать можно writeln(a,d,b,'=',c); end. NetMan, я так понял, что ему калькулятор нужен, а не только сложение)) |
Цитата:
Надо при вводе 4+4 программа сочитала и вывила ответ 4+4=8. |
Код:
var |
Цитата:
Если серьезно то нужно так: Код:
uses crt; |
Цитата:
Код:
uses |
Цитата:
|
Цитата:
а вообще спасибо, настроение офигенно поднял :D особенно этим: Цитата:
|
Цитата:
Твой вариант не работает ( Цитата:
|
Цитата:
|
Я же дал новый рабочий код!
Код:
uses crt; |
Цитата:
да нет чел, в твоем коде получается так: a= //вводим первое число b= //вводим второе число жмем Enter и получаем c:= //ответ а нужно так a:= 4+4 //т.е. вводим не по одному числу, а сразу все вместе с знаком +,-,/,*, все одной строкой, чтоб получилосьтак a:= 25+26 жмем Enter получаем c:=51 |
Exile1985 в выражении могут присутствовать скобки?
|
Цитата:
стесняюсь спросить, эт ты щас про что спросил? :D |
Такое может быть (2+2)/4 ? Или у тебя только сложение и только 2 операнда? :d
|
Только сложение.
|
Ну тогда вот так:
Код:
uses crt; |
Спасибо netman. Все пашет!
|
Вот мой способ
Цитата:
|
Цитата:
:)) ну задача стояла насколько я помню чтоб сложить введенное одной строкой: 4+4 и выдать ответ, я эт и сделал, а про другое разгавора небыло :D да это и не так и сложно сделать. |
Просто тем способом каторый netman написал.... Я не проходил ))) Т.е. не учили )))
|
Цитата:
Код:
program pas;writeln('>'); writeln('4+4=8'); или writeln('FATAL ERROR!'); |
Цитата:
|
Цитата:
Код:
var s:string;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))); |
Цитата:
|
Exile1985 LOL! RTFM about Copy function.
Код:
Delphi syntax: |
Спасибо всем ребят разобрался я сам.
Воть как должно быть ! только обезательно надо ставить пробелы после каждего символа к примеру 4 + 4 воть Цитата:
|
ты в последнем коде чето намудрил. много лишнего=\
|
2piflit Помоймо он как раз работает а твой не компилит одни ошибки .... воть .... попробуй.
|
гг а у меня твой не пашет=) ты чем компилишь?) у меня Pascal ABC
|
Я же программирую в turbo pascal. ))) Воть и вся разница. В начале топика я предупредил.
|
Цитата:
|
Цитата:
ггг посмотрим что выйдет :D |
Цитата:
|
| Время: 07:57 |