Kleines Problem

11/12/2006 15:37 DesperadoStrike#1
irgentwo hier isn fehler drin ich kann mir auch schon genau denken wo der liegt aber ich weiß net wie ich ihn beheben soll da ich delphi fast garnicht kann und des für die schule fertig machen muss


Code:
program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var

erlass, preis, endpreis :Real;
gp, sk :integer;

begin;

writeln ('Sind sie Stammkunde? ( 0 = Nein; 1 = Ja)');
readln (sk);

if sk = 0 then
begin;

writeln ('Sie sind Neukunde');
readln;
end;

if sk = 1 then
begin;

writeln ('Sie sind Stammkunde');
readln;
end;

begin;

writeln ('Wie hoch ist der Gesamtpreis?');
readln (gp);
end;

begin;

if gp < 100 then

erlass := 0.1 * sk

else;

if gp > 1000 then

erlass := 0.1 + 0.1 * sk

else;

erlass := 0.05+ 0.1 * sk

end;
begin;

preis := gp - gp * erlass;

writeln ('Gesamtpreis - Erlass: ',preis);
readln;
writeln ('Rabatt betraegt: ',erlass);
readln;

endpreis := preis*1.16;

writeln ('Preis mit MwSt: ',endpreis);
readln;
end;
end.
11/12/2006 16:08 mr.rattlz#2
Mehr lernen, weniger zocken :p
Code:
program project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var

erlass, preis, endpreis :Real;
gp, sk :integer;

begin
writeln ('Sind sie Stammkunde? ( 0 = Nein; 1 = Ja)');
readln (sk);
if sk = 0 then begin
  writeln ('Sie sind Neukunde');
  readln;
end;
if sk = 1 then begin
  writeln ('Sie sind Stammkunde');
  readln;
end;
writeln ('Wie hoch ist der Gesamtpreis?');
readln (gp);
if gp < 100 then
  erlass := 0.1 * sk
else
  if gp > 1000 then
    erlass := 0.1 + 0.1 * sk
  else;
     erlass := 0.05+ 0.1 * sk;
preis := gp - gp * erlass;
writeln ('Gesamtpreis - Erlass: '+floattostr(preis));
readln;
writeln ('Rabatt betraegt: '+floattostr(round(erlass*100)/100));
readln;

endpreis := preis*1.16;

writeln ('Preis mit MwSt: '+floattostr(round(endpreis*100)/100));
readln;

end.
11/12/2006 17:46 DesperadoStrike#3
danke hat funktiert^^ kann man dich mieten? :o)


aber eine frage habe ich noch: es wird immer angezeigt das eine variable nie benutzt wird, was bedeutet das?
11/12/2006 17:56 DesperadoStrike#4
muss mich korrigieren leider funktionierts doch nicht so wie ich mir des erhofft hatte wenn ich sk auf 1 setze und nen preis über 1000 setze krieg ich nur 15% rabatt was kann ich dagegen tun
11/12/2006 18:16 mr.rattlz#5
lag an nem semikolon, das ich von dir übernommen hatte, so müsste es klappen:
Code:
program project1;
{$APPTYPE CONSOLE}
uses
 SysUtils;
var
erlass, preis, endpreis :Real;
gp, sk :integer;
begin
writeln ('Sind sie Stammkunde? ( 0 = Nein; 1 = Ja)');
readln (sk);
if sk = 0 then
  writeln ('Sie sind Neukunde')
else begin
  sk:=1;
  writeln ('Sie sind Stammkunde');
  end;
  readln;
writeln ('Wie hoch ist der Gesamtpreis?');
readln (gp);
if gp < 100 then
  erlass := 0.1 * sk
else
  if gp > 1000 then
    erlass := 0.1 + 0.1 * sk
  else
    erlass := 0.05+ 0.1 * sk;
preis := gp - gp * erlass;
writeln ('Gesamtpreis - Erlass: '+floattostr(preis));
readln;
writeln ('Rabatt betraegt: '+floattostr(round(erlass*100)/100));
readln;
endpreis := preis*1.16;
writeln ('Preis mit MwSt: '+floattostr(round(endpreis*100)/100));
readln;
end.
11/12/2006 18:21 DesperadoStrike#6
+karma


aber eins noch es wird immer 0,x angezeigt wie muss ich runden das ich nur x habe? und ich hab versucht mit ' ein % dahinter zu setzen aber der zeigt mir immer errors

writeln ('Rabatt betraegt: '+floattostr(round(erlass*100)/100)' %');


sry für meine dummheit ^^"
11/12/2006 19:05 rEdoX#7
Soll so gehn

Code:
writeln ('Rabatt betraegt: '+floattostr(round(erlass*100)/100) + '%');
11/12/2006 19:45 DesperadoStrike#8
funktioniert thx, jetzt bleibt nurnoch ein kleines problem und zwar das der 0,2% anzeigt statt 20 kann mir da einer helfen^^???


thx für eure hilfe!
11/12/2006 20:02 Leonino#9
wieviel ist den 20 durch 0,2? 100 richtiiiiig

also ist 0,2 mal 100? 20 richtiiiiig

das heißt immer mal 100 rechnen waer nicht schlecht
11/12/2006 20:40 DesperadoStrike#10
anzeigt, nicht rechnet..
11/12/2006 20:51 rEdoX#11
Dann lass doch dividiert durch 100 weg ..

Code:
writeln ('Rabatt betraegt: '+floattostr(round(erlass*100)) + '%');
11/12/2006 21:22 DesperadoStrike#12
danke^^