WinFuture-Forum.de: Programmierfehler? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Programmierfehler? Pascal


#1 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Dezember 2004 - 16:45

Hi ich habe ein Problem mit einem in Pascal geschriebenen Programm...
Und zwar sagt mein Debugger ich hätte kein ende.
Kann mir da jemand helfen? Das Programm soll eine Passwortabfrage sowie die Auswahl zwischen Programm beenden oder Taschenrechner wählen haben.
Bitte sagt wenn ihr meinen Fehler entdeckt habt.
program Passwortabfrage;
uses crt;
var Passwort1 : string[15];
    Passwort2 : string[15];
    zahl1, zahl2: integer;
    auswahl   : char;
    auswahl1  : char;
Begin

Window (1, 1, 80, 25);
TextBackground (lightgreen);

clrscr;
window (15, 20, 20, 15);
TextBackground (lightgray);
TextColor (black);
gotoxy (10, 15);
writeln ('Geben Sie ein Passwort mit bis zu 15 Zeichen ein: ');
textcolor (black);
textbackground (lightgreen);
gotoxy (25, 16);
readln (Passwort1);
clrscr;

repeat;
window (15, 20, 20, 15);
Textbackground (lightgray);
Textcolor (black);
gotoxy (10, 15);
writeln ('Ihr Passwort wurde akzeptiert. Drücken Sie "Enter" um fortzufahren...');
readkey;
clrscr;

window (1, 1, 80, 25);
textbackground (lightgreen);
textcolor (black);
clrscr;

window (15, 20, 20, 15);
Textbackground (lightgray);
Textcolor (black);
gotoxy (10, 15);
writeln ('Was möchten Sie tun? [T]aschenrechner oder [b]eenden ?');
clrscr;
case auswahl1 of


't', 'T' :begin
repeat
writeln('Dies ist ein Rechner. Sie können das Programm beenden, indem Sie "e" drücken.');
write ('Geben Sie bitte die erste Zahl ein: ');
readln (zahl1);
write ('Geben Sie bitte die zweite Zahl ein: ');
readln (zahl2);
writeln ('Welche Rechenart möchten Sie ausführen?');
write ('[A]ddition    [S]ubtraktion');
writeln (' [M]ultiplikation   [D]ivision');
readln (Auswahl);
case Auswahl of
'a', 'A' :begin
write(zahl1);
write(' + ');
write(zahl2);
write(' = ');
writeln (zahl1 + zahl2);
end;
's', 'S' :begin
write(zahl1);
write(' + ');
write(zahl2);
write(' = ');
writeln(zahl1 + zahl2);
end;
'm', 'M' :begin
write(zahl1);
write(' * ');
write(zahl2);
write(' = ');
writeln(zahl1 * zahl2);
end;
'd', 'D' :begin
write(zahl1);
write(' / ');
write(zahl2);
write(' = ');
write(zahl1 div zahl2);
write(' Rest ');
writeln(zahl1 mod zahl2);
end;
'e', 'E' :begin
write ('Auf Wiedersehen');
end;
else
begin
writeln('Ungültige Eingabe');
end;
end;
until auswahl = 'e';
end;

'b', 'B':begin
window (15, 20, 20, 15);
Textbackground (lightgray);
Textcolor (black);
gotoxy (10, 15);
writeln ('Ihr Passwort lautete: ');
textcolor (black);
textbackground (lightgreen);
gotoxy (10, 16);
readln (Passwort2);

if Passwort2 = Passwort1 then

begin
gotoxy (1, 20);
writeln ('Korrekt. Sie können das Programm mit Druck einer beliebigen Taste beenden...');
end;

if Passwort2 <> Passwort1 then

begin
textcolor (red);
writeln ('Falsch!!! Drücken Sie eine Taste um das Passwort erneut einzugeben.');
readkey;
clrscr;
end;
end;

until Passwort2=Passwort1;

readkey;
end.

Dieser Beitrag wurde von mo bearbeitet: 03. Dezember 2004 - 18:17

0

Anzeige



#2 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Dezember 2004 - 16:46

achja die klammern am anfang und am ende sind nicht da...die sind ausversehen hinzu gekommen. Und noch ne Frage: Wie benutze ich 'Code'?
0

#3 Mitglied ist offline   mo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.796
  • Beigetreten: 17. Juni 02
  • Reputation: 0
  • Wohnort:Ulm / BaWü

geschrieben 03. Dezember 2004 - 18:18

mit (code)deincode(/code) - habs bei dir eingebaut
wobei die klammern eckig sein müssen

Dieser Beitrag wurde von mo bearbeitet: 03. Dezember 2004 - 18:18

I'm mó. mo's good twin.
0

#4 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 03. Dezember 2004 - 18:48

"repeat;" ist falsch.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#5 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Dezember 2004 - 18:54

Kannst du mir das korrigieren rika?
0

#6 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Dezember 2004 - 18:57

Ach stimmt ich habs....das semikolon war falsch
0

#7 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Dezember 2004 - 19:00

ne doch nicht....das is egal ob mit oder ohne....der sagt es fehlt ein "end." aber das hab ich doch
0

#8 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 03. Dezember 2004 - 19:21

Die erste Case-Anweisung ist nicht abgeschlossen!

P.S.:
Eine einzelne Anweisung innerhalb eines case brauchst du übrigens nicht in begin-end schachteln.

else
begin
writeln('Ungültige Eingabe');
end;

=>

else
writeln('Ungültige Eingabe');

Ach ja, und if Passwort2 = Passwort1 then blah; if Passwort2 <> Passwort1 then foobar; solltest du vielleicht auch mal zu if-then-else zusammenfassen.

Dieser Beitrag wurde von Rika bearbeitet: 03. Dezember 2004 - 19:22

Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#9 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Dezember 2004 - 19:31

Danke vielmals...wär ich nicht drauf gekommen.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0