Ich habe ein Programm zur Berechnung von Durchmesser, Umfang und Fläche eines Kreises in Pascal geschrieben. Beim Kompilieren kommt aber folgende Fehlermeldung:
Ich hab schon einiges versucht, hab aber den Fehler nicht beseitigen können.
Hier ist der Quelltext von dem Programm:
Tnx schon mal im Voraus!
kreisb~1.pas(26,40) Error: Constant and CASE types do not match
kreisb~1.pas(26,40) Error: Ordinal expression expected
kreisb~1.pas(26,40) Fatal: Syntax error, : expected but ; found
kreisb~1.pas(26,40) Error: Ordinal expression expected
kreisb~1.pas(26,40) Fatal: Syntax error, : expected but ; found
Hier ist der Quelltext von dem Programm:
program Kreisberechnung;
var auswahl :char;
var d,A,U :real;
begin
writeln('Kreisberechnung');
writeln('===============');
writeln('Ein Kreis ist durch eine der 3 Groessen Durchmesser d, Umfang U oder');
writeln('Flaeche A eindeutig bestimmt.');
writeln('Nach Eingabe von einer der 3 Groessen, werden die beiden fehlenden');
writeln('vom Programm berechnet und auf 2 Nachkommastellen gerundet.');
writeln('Zum Schluss werden alle 3 Werte auf dem Bildschirm ausgegeben.');
writeln;
writeln;
writeln;
writeln('gegeben: gesucht: Auswahl:');
writeln('___________________________________________________');
writeln('Durchmesser Umfang, Flaeche 1');
writeln('Flaeche Durchmesser, Umfang 2');
writeln('Umfang Durchmesser, Flaeche 3');
writeln;
writeln('Programmende 4');
writeln;
writeln;
write('Waehlen Sie eine Zahl: '); readln(auswahl);
case auswahl of
'1' : write('Durchmesser: '); readln(d); U:=pi*d; A:=pi*sqr(d)/4;
'2' : write('Flaeche: '); readln(A); d:=sqrt(4*A/pi); U:=pi*d;
'3' : write('Umfang: '); readln(U); d:=U/pi; A:=pi*sqr(d)/4;
'4' : write('Ende');
else write('Eingabe nicht moeglich.');
end;
writeln;
writeln;
writeln;
writeln('Durchmesser Flaeche Umfang');
writeln('========================================');
writeln(d:0:2,' ',A:0:2,' ',U:0:2);
readln;
end.
var auswahl :char;
var d,A,U :real;
begin
writeln('Kreisberechnung');
writeln('===============');
writeln('Ein Kreis ist durch eine der 3 Groessen Durchmesser d, Umfang U oder');
writeln('Flaeche A eindeutig bestimmt.');
writeln('Nach Eingabe von einer der 3 Groessen, werden die beiden fehlenden');
writeln('vom Programm berechnet und auf 2 Nachkommastellen gerundet.');
writeln('Zum Schluss werden alle 3 Werte auf dem Bildschirm ausgegeben.');
writeln;
writeln;
writeln;
writeln('gegeben: gesucht: Auswahl:');
writeln('___________________________________________________');
writeln('Durchmesser Umfang, Flaeche 1');
writeln('Flaeche Durchmesser, Umfang 2');
writeln('Umfang Durchmesser, Flaeche 3');
writeln;
writeln('Programmende 4');
writeln;
writeln;
write('Waehlen Sie eine Zahl: '); readln(auswahl);
case auswahl of
'1' : write('Durchmesser: '); readln(d); U:=pi*d; A:=pi*sqr(d)/4;
'2' : write('Flaeche: '); readln(A); d:=sqrt(4*A/pi); U:=pi*d;
'3' : write('Umfang: '); readln(U); d:=U/pi; A:=pi*sqr(d)/4;
'4' : write('Ende');
else write('Eingabe nicht moeglich.');
end;
writeln;
writeln;
writeln;
writeln('Durchmesser Flaeche Umfang');
writeln('========================================');
writeln(d:0:2,' ',A:0:2,' ',U:0:2);
readln;
end.
Tnx schon mal im Voraus!
Kommentar