Hi,
ah, soweit isser doch schon ;-)
int main(void)
{
int z;do{
Warum machst Du hier eine Schleife mit Bedingung, die Du ehe schon in der Schleife abfragst?
printf("Waehlen Sie ein Programm aus\n\n");
[...]
printf("\nEingabe ");
z = 0;
scanf("%d", &z);
scanf() gibt im Fehlerfalle etwas zurück und setzt errno entsprechend. Bitte nutzen. Wenn keine Nummer sondern ein Buchstabe eingegeben wurde gibt scanf() z.B. 0 zurück. Abfangen wie im anderem Posting beschrieben.
printf("\n\n");
Das ist hier etwas zu früh. Aber egal.
if( z==1) tabelle();
else if(z==2) ASCII();
else if(z==3) taschenrechner();
else if(z==4) zeichenausgabe();
}while(z==1 || z==2 || z==3 || z!=5);
Wenn Du nun statt Deines Konstruktes folgendes genommen hättest:
switch(z){
case 1: tabelle();
break;
case 2: ASCII();
break;
case 3: taschenrechner();
break;
case 4: zeichenausgabe();
break;
case 5: exit(EXIT_SUCCESS);
default: puts("Nein, eine Zahl zwischen 1 und 5 bitte");
break;
}
} while(true);
return 0;
}
was fehlt jetzt noch? wie gebe ich das genau aus?
Gute Frage, was möchtest Du denn noch gerne ausgeben?
sorry bin anfänger in der materie
Ja, das ist eine typische Übungsaufgabe. Sogar richtig typisch, denn um den Standard kümmert sich mal wieder keine Sau, Fehler werden nicht abgefangen, es wird eigentlich zuviel verlangt usw.
Ja, ich weiß:"Dann mach's doch besser!", aber ist ja schon in Arbeit also verkneift euch das <I> ;-)
so short
Christoph Zurnieden