Troja2k Geschrieben 27. Oktober 2003 Geschrieben 27. Oktober 2003 da habt irh wieder einen neuen quelltext und ne frage gleich dazu *grml* im hilfe menü soll ich 'enter' eingeben können und dann soll das prog automatisch wieder ins hauptmenü zurück...wie mach ich das??? ich verzweifle so langsam wirklich. gehe nun erstmal in mittag *schnief* //**********************************MAIN**************************************** #include <stdio.h> #include <conio.c> main() { int jahr; jahr=haupt(); } //*******************************************Funktionen*************************** int haupt() { int eingabe; int jahr; printf("\n\t\tHAUPTMENU\n\n"); printf("\n1: Schaltjahr berechnen"); printf("\n2: Hilfe aufrufen"); printf("\n3: Beenden"); printf("\nIhre Eingabe: "); scanf("%i",&eingabe); switch (eingabe) { case 1: { eingabe=schaltjahr(jahr); } //ende case1 } //switch ende switch (eingabe) { case 2: { eingabe=hilfe(); } //ende case2 //return (jahr); system("pause"); } //ende switch switch (eingabe) { case 3: { eingabe=beenden(); } } //switch ende } //****************************************************************************** int schaltjahr(jahr) { printf("\nBitte geben sie eine Jahreszahl ein:"); scanf("%i",&jahr); if (jahr>=1904 && jahr<=2012) //kontrolle ob in der angegebenen zeitspanne { if ((jahr % 400 == 0 || jahr % 100) != 0 && jahr % 4 == 0) //formel für schaltjahr berechnung { printf("\nDas angegebene Jahr ist EIN Schaltjahr\n\n"); } else { printf("\nDas angegebene Jahr ist KEIN Schaltjahr\n\n"); } } else { printf("\n\aFalsche Eingabe\n"); } system("pause"); } //****************************************************************************** int hilfe() { clrscr(); printf("\n\n\tHILFE\n"); printf("\nDieses Programm errechnet ein Schaltjahr\nanhand ihrer angegebenen Jahreszahl.\n\n"); printf("Danach zeigt es ihnen an, ob\nes sich um ein Schaltjahr handelt oder nicht.\n\n"); printf("\nDruecken sie Enter, um ins Hauptmenu zurueckzukehren\n\n"); //scanf("%c",&enter); } //****************************************************************************** int beenden() { exit; } Zitieren
mixki Geschrieben 27. Oktober 2003 Geschrieben 27. Oktober 2003 Ich will dich nicht angreifen, aber ein bissel komisch kommt das schon wenn hier alle Anderen dein Programm schreiben... Du willst doch was lernen und nicht abschreiben. Ich kenne C++ nicht so gut, aber normalerweise fragt man Enter wie ein Leerzeichen, also so: ' ' ab. Aber du kannst doch auch einfach am Ende fragen ob er ein weiteres Schaltjahr berechnen möchte und durch eine J/N- Eingabe das Programm beenden. Zitieren
nic_power Geschrieben 27. Oktober 2003 Geschrieben 27. Oktober 2003 Hallo, Der Code ist eh etwas gewöhnungsbedürftig: 1) Es reicht ein Switch-Statement switch (eingabe) { case '1': /*code */ break; case '2': /* code */ break; .... default: break; } [/php] 2) exit() ist eine Funktion und sollte auch so aufgerufen werden. 3) Was für ein "ding" ist denn "enter"? 4) hilfe() hat keinen Return-Wert, obwohl dieser verwendet wird. 5) Auch wenn der Compiler bei Konstrukten wie "int schaltjahr(jahr)" den Datentyp "int" für jahr ergänzt, ist das kein guter Stil und führt je nach Compiler zu einer Fehlermeldung. 6) haupt() liefern keinen Return-Wert Du musst schon einen ziemlich toleranten Kompiler haben, dass das so durch geht. Mich wundert allerdings nicht, dass der Code nicht das macht was er soll. Versuch doch erstmal anhand der Tips, die Fehler zu entfernen. Nic Zitieren
Troja2k Geschrieben 28. Oktober 2003 Autor Geschrieben 28. Oktober 2003 @mixki es geht gewiss nicht darum, dass andere mein programm schreiben sollen!!! aber wenn man in einer ausbildung ist und selbst die ausbilder keinen plan von ANSI-C haben, dann muss ich mir mein wissen andersweitig herholen. JA...es gibt bücher..und die studier ich auch, aber lern du mal ANSI-C in 2 wochen, ohne jegliche hilfe und zieh dabei noch in eine eigene wohnung, dann weißt du wieviel stress man bzw frau hat!!! und da brauch man einfach ein forum oder leute die man mal wegen fragen antexten kann. soweit zu meiner rechtfertigung. allen anderen danke ich für das verständnis...und hilfe/unterstützung Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.