JA oder NEIN Eingabe weiter verwenden
-
kannst du machen (und erhältst damit das selbe Ergebnis), aber cin/cout ist typsicherer ;).
-
char ans;
printf("Wollen Sie weitermachen (j/n)?\n");
scanf("%c",ans);
if(tolower(ans)!='j')
exit(0);
else
printf("OK, dann geht es hier weiter.\n");
}
getch();dann kommt eine fehlermeldung!!
kannst du den Fehler erkennen, es steht noch data definition has no type or storage classwas bedeutet "tolower"
-
In welcher Zeile kommt denn der Fehler? Ich würde ja darauf tippen, daß eine wichtige Header-Datei fehlt (leider weiß ich nicht aus dem Kopf, in welcher tolower() untergebracht ist).
-
ich grad gekuckt das die zeile
scanf("%c",ans);
den fehler verursacht,
-
Und da haben wir schon den Übeltäter - scanf ist ein Relikt aus C-Zeiten und benötigt deshalb keine Referenz, sondern pointer: "scanf("%c",**&**ans);"
-
jetzt wird das programm geschlossen
ist eine Consolen anwendung/*
a=Alter
b=Antwort
*/
main() {
int a;
char b;
printf("Wollen Sie weitermachen (j/n)?\n");
scanf("%c",&b);
sleep(5000); //nach 5 sec wird das Programm geschlossen
printf("hint");
if(tolower(b)!='j')
printf("\nOk oK");
else
printf("OK, dann geht es hier weiter.\n");
}
getch();
-
Die Auswertung, was nach der jeweiligen Antwort geschieht, bleibt natürlich dir selber überlassen
Im einfachsten Fall ist das eine if()-Abfrage ("'j' gedrückt = JA" vs. "andere Taste gedrückt = NEIN"), für komplexere Entscheidungen kannst du auch switch/case verwenden oder längere Antworten mittels std::string (notfalls auch mit char* und strcmp,... - aber wozu haben wir die STL, wenn wir sie nicht nutzen wollen?) auswerten.
-
-
do_this_for_the_school schrieb:
scanf("%c",&b); sleep(5000); //nach 5 sec wird das Programm geschlossenunnötig, weil scanf blockierend ist - so wie die fast alle stdlib funktionen.
-
terraner schrieb:
do_this_for_the_school schrieb:
scanf("%c",&b); sleep(5000); //nach 5 sec wird das Programm geschlossenunnötig, weil scanf blockierend ist - so wie die fast alle stdlib funktionen.
öhm ist scanf nicht aus der stdio -.-
-
Nur so nebenbei: Für tolower braucht ihr nen unsigned char und nicht char.
-
shapeless schrieb:
öhm ist scanf nicht aus der stdio -.-
stdio.h (GCC 3.4.1) schrieb:
/* Read formatted input from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int scanf (__const char *__restrict __format, ...);hier ist es auch in stdio zu finden.
edit: juhu, 2^9 postings!!1!!11!