正如标题所说,我刚刚在Pascal中学到了一些称为程序的东西,但我碰到了一个问题。因此,计算器很简单,只有4个操作(仍然是学习程序)。问题是当你输入操作(+, - ,*或/)它只是退出程序。
无论如何,提前谢谢!
这是代码(我在Delphi中写的):
program Calculator;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
n1, n2, s, m, multi, d: real;
op: char;
procedure Sum(n1, n2: real; var s: real);
begin
s := n1 + n2; // sum of 1st and 2nd number
end;
procedure Minus(n1, n2: real; var m: real);
begin
m := n1 - n2 // 1st number minus 2nd number
end;
procedure Multip(n1, n2: real; var multi: real);
begin
multi := n1 * n2; // multiplication
end;
procedure Division(n1, n2: real; var d: real);
begin
d := n1 / n2; // division
end;
begin
write('Insert first number: ');
readln(n1);
write('Insert 2nd number: ');
read(n2);
write('Insert operation: ');
readln(op);
if op = '+' then
begin
Sum(n1, n2, s);
writeln('Result is: ', s);
end
else if op = '-' then
begin
Minus(n1, n2, m);
writeln('Result is: ', m);
end
else if op = '*' then
begin
Multip(n1, n2, multi);
writeln('Result is: ', multi);
end
else if op = '/' then
begin
Division(n1, n2, d);
writeln('Result is: ', d);
end;
readln;
end.
答案 0 :(得分:2)
您忘了为变量n2调用ReadLn()
过程。
只需调用Read()
,您的程序就会获得操作员角色的CR,结尾ReadLn()
将获取最后一个缓冲的CR并结束该程序。
如果您的代码出现问题,请使用调试功能单步执行该程序以了解正在发生的事情。
在评论中使用Ken的建议或查看文档。