Autor Beitrag
panic220
Hält's aus hier
Beiträge: 7

Win 7x64, OSX 10.6
Delphi 6
BeitragVerfasst: So 04.12.11 05:32 
Ich habe Probleme mit einer If abfrage es soll abgefragt werden über if was man bei eine geometrichen figur ausrechnen will oberfläche oder volumen und dann soll es berechnet werden mein Problem ist, das die Zeilen von oben nach unten abklappert werden und die if Auswahl nicht in kraft tritt jedes mal rechnet er if auswahl2 = 1 then und dann =2

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
program Project1;

{$APPTYPE CONSOLE}

var  auswahl1,wert1, wert2, ergebnis :integer;
CONST PI=3;


begin

Writeln ('Test');
readln (auswahl1);

begin
        if auswahl2 = 1 then
        writeln ('Sie haben sich fuer die Oberflaeche entschieden ');
        writeln ('Bitte geben sie die folgenden geometrichen Variablen an ');
        write ('Radius (r): ');
        readln (wert1);
        write ('Koerperhoehe (h): ');
        readln (wert2);

        ergebnis := (wert1*wert1*PI)*(2*wert1*PI)*wert2;
        writeln ('Die Oberflaeche des Zylinders betraegt: ',ergebnis);





        if auswahl2 = 2 then
        writeln ('Sie haben sich fuer das Volumen entschieden ');
        writeln ('Bitte geben sie die folgenden geometrichen Variablen an ');
        write ('Radius (r): ');
        readln (wert1);
        write ('Koerperhoehe (h): ');
        readln (wert2);

        ergebnis := (wert1*wert1*PI)* wert2;
        writeln ('Das Volumen des Zylinders betraegt: ',ergebnis);


end;

readln;
end.


Was mache ich Falsch?!

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt
Moderiert von user profile iconMartok: Topic aus Sonstiges (Delphi) verschoben am So 04.12.2011 um 05:55
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: So 04.12.11 06:17 
Einen schönen 2. Advent panic220,

Du hast vergessen Begin und end zu nutzen. Ohne diese beiden Schlüsselwörter wird nur die erste Zeile nach dem then ausgeführt.
Als zweites fällt auf, dass Du eine Eingabe in "auswahl1" speicherst aber "auswahl2" abfragst. Dies muss angepasst werden.
Da Auswahl1 aus readln() kommt nehme ich an, dass es eine Textvariable ist.
Diese muss noch in auswahl2 übertragen werden.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
program Project1;

{$APPTYPE CONSOLE}

var  auswahl1,wert1, wert2, ergebnis :integer;
CONST PI=3;


begin

Writeln ('Test');
readln (auswahl1);

begin
        auswahl2:=strtoint(auswahl1)
        if auswahl2 = 1 then
        begin
          writeln ('Sie haben sich fuer die Oberflaeche entschieden ');
          writeln ('Bitte geben sie die folgenden geometrichen Variablen an ');
          write ('Radius (r): ');
          readln (wert1);
          write ('Koerperhoehe (h): ');
          readln (wert2);

          ergebnis := (wert1*wert1*PI)*(2*wert1*PI)*wert2;
         writeln ('Die Oberflaeche des Zylinders betraegt: ',ergebnis);
       end;




        if auswahl2 = 2 then
        begin
          writeln ('Sie haben sich fuer das Volumen entschieden ');
          writeln ('Bitte geben sie die folgenden geometrichen Variablen an ');
          write ('Radius (r): ');
          readln (wert1);
          write ('Koerperhoehe (h): ');
          readln (wert2);

          ergebnis := (wert1*wert1*PI)* wert2;
          writeln ('Das Volumen des Zylinders betraegt: ',ergebnis);
       end;

end;

readln;
end.


MFG Tilo
panic220 Threadstarter
Hält's aus hier
Beiträge: 7

Win 7x64, OSX 10.6
Delphi 6
BeitragVerfasst: So 04.12.11 15:18 
Danke schön habe wohl nicht aufgepasst wo ich begin und end setzen soll.... das mit auswahl1 und auswahl 2 ..... habe ich wieder richtig gemacht.... es gibt nur auswahl 1 :P