Atomique
Ensign
- Registriert
- März 2010
- Beiträge
- 135
Guten Abend CB
ich hoffe ihr könnt mir weiterhelfen mit meinem Problem
und ich hoffe, dass ich mein Problem in die richtige Kategorie gepostet hab 
Nun zu meinem Problem:
Ich habe heute Abend begonnen ein C-Programm zu schreiben um etwas zu üben. Wollte ein Programm schreiben in dem Alles irgendwie vorkommt. Das Programm hat ein Menü in welchem ausgewählt werden kann welche Funktion man benutzen möchte (Die Funktionen sind noch nicht geschrieben, habe den Aufruf erstmal mit Printf ausgefüllt ^^). Wenn man 0 eingibt soll in diesem Menü auf erneute Bestätigung das Programm beendet werden. Nun das Problem: Wenn ich 'n' eingebe kommt zwar das Programm wie ich es vor hatte, jedoch kommt "Falscheingabe" aus der int main dazu
Ich dachte erst das liegt an dem \n, habe deswegen mal überall vor Verzweiflung ein fflush(stdin) eingebaut wie ihr sehen könnt. Ich hoffe ihr könnt mir helfen!
Ersteinmal der Code:

Vielen Dank für eure Hilfe im vorraus schon einmal
Wenn ihr irgendwelche Vorschläge habt meinen Programmierstil zu verbessern, nur raus damit, ich möchte versuchen so sauber wie möglich zu programmieren! 
Gruß Atomique
ich hoffe ihr könnt mir weiterhelfen mit meinem Problem
Nun zu meinem Problem:
Ich habe heute Abend begonnen ein C-Programm zu schreiben um etwas zu üben. Wollte ein Programm schreiben in dem Alles irgendwie vorkommt. Das Programm hat ein Menü in welchem ausgewählt werden kann welche Funktion man benutzen möchte (Die Funktionen sind noch nicht geschrieben, habe den Aufruf erstmal mit Printf ausgefüllt ^^). Wenn man 0 eingibt soll in diesem Menü auf erneute Bestätigung das Programm beendet werden. Nun das Problem: Wenn ich 'n' eingebe kommt zwar das Programm wie ich es vor hatte, jedoch kommt "Falscheingabe" aus der int main dazu
Ich dachte erst das liegt an dem \n, habe deswegen mal überall vor Verzweiflung ein fflush(stdin) eingebaut wie ihr sehen könnt. Ich hoffe ihr könnt mir helfen!
Ersteinmal der Code:
Code:
#include <stdio.h>
#define Version 1.00
int main();
int menue_01();
int programmende();
int main()
{
int me_in=0;
do
{
menue_01();
scanf("%i",&me_in);
fflush(stdin);
switch(me_in)
{
case 1: printf("1\n");
break;
case 2: printf("2\n");
break;
case 3: printf("3\n");
break;
case 9: printf("9\n");
break;
case 0: programmende();
default: printf("Falscheingabe\n\n");
}
}
while(me_in=!0);
return 0;
}
int menue_01()
{
printf("Willkommen in MathematiX Version %.2lf, was wollen Sie tun?\n", Version);
printf("<1> Rechnen (Normaler Taschenrechner)\n");
printf("<2> Flaechenberechnung einer geom. Figur\n");
printf("<3> Volumenbrechnung eines Objektes\n");
printf("<9> About MathematiX Version %.2lf.\n", Version);
printf("<0> Programm beenden. \n[Randnotiz: Es folgen weitere Funktionen ;) ]\n");
return 0;
}
int programmende()
{
char input;
printf("Programm wird beendet. Fortfahren mit < J >, Abbrechen mit < N >.\n");
do
{
input=getchar();
}
while(getchar()!='\n');
fflush(stdin);
if(input == 'j','n')
{
if(input=='j')
{
printf("Programm beendet. Vielen Dank f\x81r das benutzen von MathematiX Version %.2lf\n", Version);
exit(0);
}
else
{
printf("Programm wird fortgesetzt.\n\n");
return 0;
}
}
else
{
printf("Falscheingabe, Bitte wiederholen:\n");
programmende();
}
return 0;
}

Vielen Dank für eure Hilfe im vorraus schon einmal
Gruß Atomique