Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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;

}

Geschrieben

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.

Geschrieben

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

Geschrieben

@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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...