Einzelnen Beitrag anzeigen

dR4g0N
(Gast)

n/a Beiträge
 
#1

geht es auch programmiertechnisch besser?

  Alt 11. Mär 2004, 14:56
Also bin noch ein Delphi Anfänger und verfasse mich atm erstmal it Konsolenprogrammen ...
Hab hier 2 Programme geschrieben und wollte wissen, ob es dafür einfachere Lösungen sprich bessere Lösungen gibt ...

Ein Spannung, Widerstand, Strom Umrechner:

Delphi-Quellcode:
program Strom;
{$APPTYPE CONSOLE}
uses
  sysutils;

var U, R, I : Single;

begin

repeat

WriteLn('Bitte geben Sie einen Wert fuer U [Spannung] ein');
ReadLn(U);
WriteLn('Bitte geben Sie einen Wert fuer R [Widerstand] ein');
ReadLn(R);
WriteLn('Bitte geben Sie einen Wert fuer I [Strom] ein');
ReadLn(I);

until (U=0) or (R=0) or (I=0);

if U = 0 then
WriteLn('Die Spannung bestraegt: ', R * I:0:1)
else if R = 0 then
WriteLn('Der Wiederstand betraegt: ', U / I:0:1)
else
WriteLn('Der Strom betraegt: ', U / R:0:1);

ReadLn;
end.

Und nu noch ein Taschenrechner ... Das Ergebnis der ersten Lösung ist gleich der ersten zahl in der 2 Lösüng, falls man weiterrechnen möchte:

Delphi-Quellcode:
program TRKT;
{$APPTYPE CONSOLE}
uses
  sysutils;

var a : single;
    b : single;
    c : single;
    op : char;
    j : string;

begin
writeln ('Bitte geben sie den ersten Wert ein:');
readln (a);
repeat
writeln ('Bitte geben sie den weiteren Wert ein:');
readln (b);
writeln ('Bitte geben sie den Operator ein: [+, -, *, /]');
readln (op);
if op = '+then
begin
c := a + b;
Writeln ('Das Ergebnis lautet:');
writeln (c:0:1);
end;
if op = '-then
begin
c := a - b;
Writeln ('Das Ergebnis lautet:');
writeln (c:0:1);
end;
if op = '*then
begin
c := a * b;
Writeln ('Das Ergebnis lautet:');
writeln (c:0:1);
end;
if op = '/then
begin
c := a / b;
Writeln ('Das Ergebnis lautet:');
writeln (c:0:1);
end;
a := c;
writeln ('Wollen sie mit dem Ergebnis weiter rechnen[j;n]?');
readln (j);
until j = 'n';
readln;
end.
  Mit Zitat antworten Zitat