Chinahoroskop in Pascal

Pascal, Basic und andere nicht aufgelistete
Antworten
TerenceSkill
Beiträge: 4
Registriert: So Jan 24, 2010 4:18 pm

Chinahoroskop in Pascal

Beitrag von TerenceSkill » So Jan 24, 2010 8:00 pm

Hi hoffe ihr könnt mir helfen da der compiler abricht und kein fehler anzeigt, muss das für ne Freundin bis Montag abend programmiert haben. :)
Hier die Vorlage!

Code: Alles auswählen

program chinahoroskop;

USES Crt;

TYPE int Ratte = (1900,1912,1936...);
TYPE int Ochse = (1901....);
....

VAR eingabe: integer;
VAR nratte: Ratte;
VAR nochse: Ochse;
....

BEGIN
ClrScr;
Write ('begrüßung was dein geburtsjahr..?');
Read (eingabe);
If eingabe = nratte then write ('..........');
If eingabe = nochse then write ('....');
......
ELSE Write ('........');
End.
Edit by Xin: Code-Tags eingefügt

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Chinahoroskop in Pascal

Beitrag von cloidnerux » So Jan 24, 2010 8:05 pm

Hallo und Wilkommen im Forum.
Hi hoffe ihr könnt mir helfen da der compiler abricht und kein fehler anzeigt, muss das für ne Freundin bis Montag abend programmiert haben. :)
Hier die Vorlage!
Was bricht ab? Wenn du Compilieren willst oder wenn du es ausführtst?

Code: Alles auswählen

If eingabe = nratte then write ('..........');
If eingabe = nochse then write ('....');
Wie soll das Funktionieren? So wie ich das sehe wird noch "nochse" oder "nratte" kein Wert zugewiesen, wie soll dann if das Prüfen?
Redundanz macht wiederholen unnötig.
quod erat expectandum

TerenceSkill
Beiträge: 4
Registriert: So Jan 24, 2010 4:18 pm

Re: Chinahoroskop in Pascal

Beitrag von TerenceSkill » Mo Jan 25, 2010 12:48 am

Ja ich benutzt Free Pascal, wenn ich es ausführe, kommt Compiler abort.
Ja laut ner Seite zu Pascal stand da das man wenn man die TYPES macht diese nochmal zu einer VAR machen soll. Deswegen TYPE Ratte ...> VAR nratte: Ratte; oder ist das nun verdreht!?

TerenceSkill
Beiträge: 4
Registriert: So Jan 24, 2010 4:18 pm

Re: Chinahoroskop in Pascal

Beitrag von TerenceSkill » Mo Jan 25, 2010 9:26 am

Grad der Anfang stimmt schon nicht, ich will die Jahreszahlen irgendwie abspeichern als TYP oder Feld also Array, das später beim Programm durchlauf nur schaut welches Jahr eingeben wurde und was er dann ist am ende.. kann mir keiner helfen??? pascal ist neuland ;(

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Chinahoroskop in Pascal

Beitrag von Xin » Mo Jan 25, 2010 11:17 am

TerenceSkill hat geschrieben:Grad der Anfang stimmt schon nicht, ich will die Jahreszahlen irgendwie abspeichern als TYP oder Feld also Array, das später beim Programm durchlauf nur schaut welches Jahr eingeben wurde und was er dann ist am ende.. kann mir keiner helfen??? pascal ist neuland ;(
Ich vermute(!), dass Du ein Arraytypen mit einem Integer vergleichst und dass das nicht geht. Ich schätze der Vergleich ( = ) passt hier einfach nicht. Aber meine Pascalzeit ist sehr lange her.
Ich weiß es nicht, bitte poste doch mal, was der Compiler überhaupt meldet. Der wird vermutlich ja beschreiben, was ihn stört.

Ansonsten möchte ich Dich auffordern, Deine Entscheidung zu Pascal doch noch einmal zu überdenken. Das letzte mal, dass ich Pascal programmiert habe ist grob geschätzt 13 Jahre her. Auch das war nicht freiwillig, denn da war Pascal schon tot. Pascal ist heute so dermaßen tot, das stinkt nichtmals mehr. Wenn Du Dich nicht gerade zwangsläufig zu Delphi unterwegs bist (in dem Fall nimm auch Delphi) oder Dich ein Lehrer Dich dazu zwingt, dann kenne ich keinen sinnvollen Grund mehr, sich als Anfänger mit Pascal zu beschäftigen.


Edit:
Ansonsten nimm die Eingabe modolu 12 (also der Tierkreiszeichen), dann bekommst Du einen Wert zwischen 0 und 11 heraus.

Code: Alles auswählen

zeichen := eingabe mod 12;

if zeichen = 8 then println( "Du bist ein Drache" );
else if zeichen = 9 then println( "Du bist kein Drache" );
else println( "Du bist kein Drache und auch nicht das Vieh, das dem Drachen folgt" );
Das müsste für die Lösung des Problems zumindest reichen, so dass Du heute abend fertig sein kannst.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

TerenceSkill
Beiträge: 4
Registriert: So Jan 24, 2010 4:18 pm

Re: Chinahoroskop in Pascal

Beitrag von TerenceSkill » Mo Jan 25, 2010 8:10 pm

Naja hab so weit alles fertig, brauch nur noch ne Abbruch Möglichkeit falls jnd buchstaben oder eine riesen zahl ein tipp, also bewusst was falsches schreibt.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Chinahoroskop in Pascal

Beitrag von Xin » Mo Jan 25, 2010 8:37 pm

TerenceSkill hat geschrieben:Naja hab so weit alles fertig, brauch nur noch ne Abbruch Möglichkeit falls jnd buchstaben oder eine riesen zahl ein tipp, also bewusst was falsches schreibt.
Du liest doch nur Integer ein, also kannst Du zwar Buchstaben eingeben, aber es kann doch nur eine Zahl rauskommen.

Ansonsten fragst Du halt das Geburtsjahr ab und wenn das Geburtsjahr 0 ist, brichst Du ab, sonst (else) schaust Du, was das Geburtsjahr Modulu 12 ist. Wenn jemand im Jahr 100000000 geboren wird, ist der chinesische Kalender vermutlich nicht mehr gültig, aber wäre er noch gültig.... dann kann Dein Programm sagen, welchem Tierkreiszeichen er angehört ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten