پروژه: ماشینحساب
پروژه کامل ماشینحساب چهار عمل با منوی case، رویهها و مدیریت خطا.
پروژه ۱: ماشینحساب 🧮
در این پروژه همه چیزهایی که یاد گرفتید را کنار هم میگذاریم: منو با case، محاسبات در توابع، مدیریت خطای تقسیم بر صفر.
ویژگیها
- چهار عمل اصلی + توان
- منوی انتخاب عملگر
- مدیریت تقسیم بر صفر
- توابع جدا برای هر عمل
کد کامل
program Calculator;
var
a, b: real;
op: char;
keepRunning: boolean;
function Add(x, y: real): real;
begin
Result := x + y;
end;
function Subtract(x, y: real): real;
begin
Result := x - y;
end;
function Multiply(x, y: real): real;
begin
Result := x * y;
end;
function Divide(x, y: real): real;
begin
if y = 0 then
begin
writeln('Error: Division by zero!');
Result := 0;
end
else
Result := x / y;
end;
function Power(x: real; n: integer): real;
var
i: integer;
p: real;
begin
p := 1;
for i := 1 to n do
p := p * x;
Result := p;
end;
begin
{ شبیهسازی ورودی کاربر }
a := 12;
b := 4;
op := '*';
write(a:0:0, ' ', op, ' ', b:0:0, ' = ');
case op of
'+': writeln(Add(a, b):0:2);
'-': writeln(Subtract(a, b):0:2);
'*': writeln(Multiply(a, b):0:2);
'/': writeln(Divide(a, b):0:2);
'^': writeln(Power(a, trunc(b)):0:2);
else
writeln('Invalid operator!');
end;
end.
چالشهای تکمیلی
- جذر و درصد اضافه کنید
- حافظه (M+، MR) پیاده کنید — متغیر سراسری memory
- اعتبارسنجی ورودی اضافه کنید
- تاریخچه محاسبات را در آرایه نگه دارید
چه یاد گرفتیم؟
- تفکیک منطق در توابع کوچک
- case برای منو
- مدیریت خطا قبل از وقوع
- فرمتبندی خروجی
این مبحث بخشی از دوره آموزش کامل پاسکال است.