FONTOS! Pascal, Turbo Pascal ügyben! (? ) (Többi lennt)
Röviden: Holnapig el kell készítenem Pascal programmal egy 'számológépet', egy olyan programot, amivel lehet összeadni, kivonni, szorozni, osztani, fontos, hogy a program kiírja, hogy 0-ával nem osztunk/szorzunk, hogyha ezt megtesszük.
Lenne valaki olyan kedves, hogy segítene nekem?
Minden válaszolónak jár a zöld kéz:)
Gondolom tegnap előtt kezdtétek el a Pascalt tanulni és tegnap kaptad a feladatot, hogy holnapra kell.
Az a helyzet, hogy te nem segítséget vársz a program elkészítésében, hanem hogy valaki írja meg neked.
Nincs ezzel baj, csak akkor egyrészt ezt kérdezd, másrészt meg írj egy irányárat!
Egy próba:
program szamologep_00;
const
szamjegy : set of char =
['0','1','2','3','4','5','6','7','8','9','.',','];
muveleti_jel: set of char = ['+','-','*','/'];
var
i, m : byte;
elso, masodik : real;
sor, tomorsor : string;
bontott : array[0..2] of string;
hiba : boolean;
BEGIN
WriteLn('Számológép -- műveletek két szám között');
WriteLn('10 tizedesjegyig');
repeat
WriteLn; WriteLn('Írd be az elvégzendő műveletet: ');
ReadLn(sor); tomorsor := '';
for i := 1 to Length(sor) do
if (sor[i] in szamjegy) or (sor[i] in muveleti_jel) then
begin
if sor[i] = ',' then sor[i] := '.';
tomorsor := tomorsor + sor[i];
end;
for i := 0 to 2 do bontott[i] := '';
m := 0;
for i := 1 to Length(tomorsor) do begin
if (tomorsor[i] in szamjegy) then
bontott[m] := bontott[m] + tomorsor[i]
else begin
bontott[1] := tomorsor[i];
Inc(m, 2); if m > 2 then m := 2;
end;
end;
hiba := false;
val(bontott[0], elso, m); if m > 0 then hiba := true;
val(bontott[2], masodik, m); if m > 0 then hiba := true;
if hiba then begin
Write('Nem érthető:');
WriteLn(bontott[0], ' ', bontott[1], ' ', bontott[2]);
end
else begin
Write(bontott[0],' ', bontott[1], ' ', bontott[2], ' = ');
case bontott[1] of
'+': WriteLn(elso + masodik:10:10);
'-': WriteLn(elso - masodik:10:10);
'*': WriteLn(elso * masodik:10:10);
else
if not (masodik = 0) then WriteLn(elso / masodik:10:10)
else WriteLn('Hohó, nullával nem osztunk!')
end;
end;
WriteLn; Write('Újabb menet (i/n)? '); ReadLn(sor);
until UpCase(sor[1]) = 'N';
END.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!