Другие языки программирования и технологии
Составьте программу, имитирующую арифметический калькулятор.
Составьте программу, имитирующую арифметический калькулятор. Обеспечьте ввод с клавиатуры значения двух чисел и знака операции( + ,-* , /), а так же вывод сообщения об ошибке ввода.
всегото??? ?
Давай я лучше сделаю новый движок на БСОД
ЫЫ?
Давай я лучше сделаю новый движок на БСОД
ЫЫ?
Program calculator;
var n1,n2,x: real;
s: word;
begin
write("Введите число №1="); readln(n1);
write("Введите число №2="); readln(n2);
repeat
write("Выберите операцию (+, -*, /): "); readln(s);
until (s:='+') or (s:='-') or (s:='*') or (s:='/');
if s='+' then
begin
x:=n1+n2;
end;
if s='-' then
begin
x:=n1-n2;
end;
if s='*' then
begin
x:=n1*n2
else
x:=n1/n2;
end;
den
var n1,n2,x: real;
s: word;
begin
write("Введите число №1="); readln(n1);
write("Введите число №2="); readln(n2);
repeat
write("Выберите операцию (+, -*, /): "); readln(s);
until (s:='+') or (s:='-') or (s:='*') or (s:='/');
if s='+' then
begin
x:=n1+n2;
end;
if s='-' then
begin
x:=n1-n2;
end;
if s='*' then
begin
x:=n1*n2
else
x:=n1/n2;
end;
den
на Visual Basic писал, кнопки эти рисовал.... а так как можно задать
INPUT "ВВЕДИ СЛАГАЕМЫЕ А, В" , A,B
C=A+B
PRINT C
И ТАК ДАЛЕЕ
INPUT "ВВЕДИ СЛАГАЕМЫЕ А, В" , A,B
C=A+B
PRINT C
И ТАК ДАЛЕЕ
Program calculator;
Uses crt;
Var A,B,Rez:real;
Znak,key:Char;
i:byte;
{---------------------------------------}
Function Fakt (C:Real):longint;
Var F,I:longint;
begin
F:=1;
For I:=1 to trunc(C) do F:=F*I;
Fakt:=F;
end;
{---------------------------------------}
Function Ostatok (D:Real):boolean;
Var I:Integer;
E:Boolean;
begin
Ostatok:=False;
For I:=1 to 2 do
begin
D:=D*10;
If (round(D) mod 10) <> 0
then Ostatok:=True;
end;
end;
{---------------------------------------}
Begin
ClrScr;
textmode(font8x8+c80);
textcolor(blue*10);
WriteLn('|-----------------------------------------------|----------------------------|');
Writeln('|------------Calculator v1.00 -----------------| "+" Slogit |');
Writeln('|-----------------------------------------------| "-" Vichest |');
Writeln('| | "*" Umnogit |');
Writeln('| | "/" Razdelit |');
Writeln('| | "!" Factorial |');
Writeln('| |----------------------------|');
Writeln('| | Enter - Vvod / Resultat |');
Writeln('| | Backspace - Udalit sleva |');
Writeln('| | Delete - Udalit sprava |');
writeln('|-----------------------------------------------|----------------------------|');
Textcolor(red);
window(3,4,45,14);
writeln;
writeln('Copyright (c) 2005 by " VS Corporation "');
Writeln;
WriteLn('Calculator made by " VS Corporation "');
window(1,15,80,50);
repeat
ClrScr;
textcolor(white);
Write('Vvedite znak operacii : ');
znak:=readkey;
writeln(znak);
If znak=#27 then break;
If (Znak<>'+') and (Znak<>'*') then
begin
textcolor(white);
Write('Vvedite pervoe chislo : ');
textcolor(yellow);
ReadLn(A);
If (Znak='-') or (Znak='/') or (Znak='^')
then
begin
textcolor(white);
Write('Vvedite vtoroe chislo : ');
textcolor(yellow);
ReadLn(B);
end;
Case Znak of
'!':Rez:=Fakt(A);
's':Rez:=sqrt(A);
'-':Rez:=A-B;
'/':Rez:=A/B;
'^':if (A>0) then Rez:=exp(B*ln(A)) else writeln('????');
End;
end
Else
begin
i:=1;
if znak='+' then rez:=0 else rez:=1;
repeat
write('Vvedite ',i,'-e chislo :');
readln(A);
if znak='+' then rez:=rez+a
else if a<>0 then rez:=rez*a;
i:=i+1;
until a=0;
end;
Textcolor(white);
Write('Resultat vichisleniya raven: ');
textcolor(magenta);
If Ostatok (Rez) then
WriteLn(rez:0:2)
else
WriteLn(rez:0:0);
readkey;
until false;
End.
{**************************************************}
Uses crt;
Var A,B,Rez:real;
Znak,key:Char;
i:byte;
{---------------------------------------}
Function Fakt (C:Real):longint;
Var F,I:longint;
begin
F:=1;
For I:=1 to trunc(C) do F:=F*I;
Fakt:=F;
end;
{---------------------------------------}
Function Ostatok (D:Real):boolean;
Var I:Integer;
E:Boolean;
begin
Ostatok:=False;
For I:=1 to 2 do
begin
D:=D*10;
If (round(D) mod 10) <> 0
then Ostatok:=True;
end;
end;
{---------------------------------------}
Begin
ClrScr;
textmode(font8x8+c80);
textcolor(blue*10);
WriteLn('|-----------------------------------------------|----------------------------|');
Writeln('|------------Calculator v1.00 -----------------| "+" Slogit |');
Writeln('|-----------------------------------------------| "-" Vichest |');
Writeln('| | "*" Umnogit |');
Writeln('| | "/" Razdelit |');
Writeln('| | "!" Factorial |');
Writeln('| |----------------------------|');
Writeln('| | Enter - Vvod / Resultat |');
Writeln('| | Backspace - Udalit sleva |');
Writeln('| | Delete - Udalit sprava |');
writeln('|-----------------------------------------------|----------------------------|');
Textcolor(red);
window(3,4,45,14);
writeln;
writeln('Copyright (c) 2005 by " VS Corporation "');
Writeln;
WriteLn('Calculator made by " VS Corporation "');
window(1,15,80,50);
repeat
ClrScr;
textcolor(white);
Write('Vvedite znak operacii : ');
znak:=readkey;
writeln(znak);
If znak=#27 then break;
If (Znak<>'+') and (Znak<>'*') then
begin
textcolor(white);
Write('Vvedite pervoe chislo : ');
textcolor(yellow);
ReadLn(A);
If (Znak='-') or (Znak='/') or (Znak='^')
then
begin
textcolor(white);
Write('Vvedite vtoroe chislo : ');
textcolor(yellow);
ReadLn(B);
end;
Case Znak of
'!':Rez:=Fakt(A);
's':Rez:=sqrt(A);
'-':Rez:=A-B;
'/':Rez:=A/B;
'^':if (A>0) then Rez:=exp(B*ln(A)) else writeln('????');
End;
end
Else
begin
i:=1;
if znak='+' then rez:=0 else rez:=1;
repeat
write('Vvedite ',i,'-e chislo :');
readln(A);
if znak='+' then rez:=rez+a
else if a<>0 then rez:=rez*a;
i:=i+1;
until a=0;
end;
Textcolor(white);
Write('Resultat vichisleniya raven: ');
textcolor(magenta);
If Ostatok (Rez) then
WriteLn(rez:0:2)
else
WriteLn(rez:0:0);
readkey;
until false;
End.
{**************************************************}
Похожие вопросы
- Ассемблер. Написать маленькую программу вычисления арифметического выражения. Подробности внутри.
- Помогите составить программу на pascal
- Нужно составить программу на ассемблере
- Помогите составить программу на паскале!
- Составьте программы и проверьте их выполняемость на Паскале
- найти все семизначные числа, которые делятся на 15 и записываются только цифрами 0 и 1. Составить программу на паскале
- Помогите составить программу на языке Pascal
- Помогите пожалуйста составить программу на СИ++. Заранее всем БЛАГОДАРЕН!
- Составьте программу решения старинной задачи: сколько можно купить быков (бык стоит 10рубей) , коров (по 5 рублей) и тел
- Составьте программу на ассемблере.