Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Типа калькулятор (https://forum.antichat.xyz/showthread.php?t=42674)

Fire3d 20.06.2007 14:00

Типа калькулятор
 
Внимание это Turbo pascal:-)
Воть думаю как сделать к примерру в воде 4+4.
Программа понимал + и складовала.
Может быть так
uses crt;
var a,b,c:integer;
begin
write('vedi 4enit>'); readln(a,+,b);
c:=a+b;
writeln('=',c);
end.
?
Подскажите пожалуйста как это реализовать.

Fire3d 20.06.2007 14:11

Может быть не правильно мысль оформил ?))

NetMan 20.06.2007 14:19

Код:

uses crt;
var a,b,c:integer;
begin
write('a='); readln(a);
write('b='); readln(b);
c:=a+b;
writeln('c=',c);
readln;
end.


Piflit 20.06.2007 14:19

в целом все правильно. можно покрасивее:

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, я так понял, что ему калькулятор нужен, а не только сложение))

Fire3d 20.06.2007 14:24

Цитата:

Сообщение от NetMan
Код:

uses crt;
var a,b,c:integer;
begin
write('a='); readln(a);
write('b='); readln(b);
c:=a+b;
writeln('c=',c);
readln;
end.


Не netman это не то.
Надо при вводе 4+4 программа сочитала и вывила ответ 4+4=8.

NetMan 20.06.2007 14:31

Код:

var
    a,b,c:real;
    action:char;
begin
      write('a='); readln(a);
      write('b='); readln(b);
      write('action='); readln(action);
      case action of
        '+':c:=a+b;
        '-':c:=a-b;
        '/':c:=a/b;
        '*':c:=a*b;
      end;
      writeln(a:1:3,action,b:1:3,'=',c:1:3);
      readln;
end.


Exile1985 20.06.2007 14:55

Цитата:

Сообщение от Fire3d
uses crt;
var a,b,c:integer;
begin
write('vedi 4enit>'); readln(a,+,b);
c:=a+b;
writeln('=',c); // а тут должно быть так: writeln('= 4enit');
end.

круто, молодца развеселил, поржал отдуши :D

Если серьезно то нужно так:

Код:

uses crt;
var a,b,c:integer;
begin
write('Vvedite 4+4'); readln;
a:=4;
b:=4;
c:=a+b;
writeln('c=',c);
readln;
end.

:D :D

Exile1985 20.06.2007 15:18

Цитата:

Сообщение от Fire3d
Не netman это не то.
Надо при вводе 4+4 программа сочитала и вывила ответ 4+4=8.

ну а если вообще серьезно то вот:

Код:

uses
  SysUtils;

var
b,c,r,y:integer;
a:string;
begin
  write('4to xotite slozhit?');
  readln(a);
  y:=Length(a);
  b:=strtoint(copy(a,pos('+',a)+1,y));
  c:=strtoint(copy(a,1,pos('+',a)-1));
  r:=c+b;
writeln('Otvet=',r);
readln;
end.

как заказывали, если ввести 4+4 одной строкой то выдаст ответ.

Fire3d 20.06.2007 15:23

Цитата:

Сообщение от Exile1985
круто, молодца развеселил, поржал отдуши :D

Если серьезно то нужно так:

Код:

uses crt;
var a,b,c:integer;
begin
write('Vvedite 4+4'); readln;
a:=4;
b:=4;
c:=a+b;
writeln('c=',c);
readln;
end.

:D :D

То что ты мне накалякал я могу сделать ^_^ Но ты меня наверноене понил что надо к примеру чел вводит. x+y жмет ентер ему выходит экран решение в таком формате x+y=n

Exile1985 20.06.2007 15:24

Цитата:

Сообщение от Fire3d
То что ты мне накалякал я могу сделать ^_^ Но ты меня наверноене понил что надо к примеру чел вводит. x+y жмет ентер ему выходит экран решение в таком формате x+y=n

ну ты следующий пост посмотри :D :D
а вообще спасибо, настроение офигенно поднял :D
особенно этим:

Цитата:

То что ты мне накалякал
:D :D


Время: 07:44