Hallöchen,
hat einer von euch den Blockkurs November 2006 zu den Grundlagen der C-Programmierung von der mathematischen Universität Göttingen gemacht???
ich muss den gerade durcharbeiten und häng da leider n bissl fest und suche nun jemanden der mir Lösungsansätze oder Musterlösungen (also Quellcode.... keine Text wie z.B. erst mit scanf einlesen, dann dies, dann das) schicken kann...
Mein Problem liegt bei Tag 7 (Also dem Aufgabenblat 6) und da die 2. Aufgabe.
Für alle, die die Aufgabe nicht kennen, aber trotzdem gewillt sind mir zu helfen:
Schreiben und testen Sie ein Programm, das vom Nutzer eine nichtnegative ganze Zahl als Eingabe erwartet und geben Sie die eingegebene Zahl wieder aus. Die Besonderheit: Es soll nicht formatiert mit scanf eingelesen werden sondern zeichenweise mit getchar. Der Nutzer soll gewarnt und erneut zur Eingabe aufgefordert werden, falls in seiner Eingabe ein Zeichen auftaucht, dass nicht Teil einer korrekten Eingabe sein kann. Führende Leerräume (also Leerzeichen oder \f, \n,\r, \t, \v) sollen überlesen werden, führende Nullen sollen erlaubt sein. Als Ende der Zifferneingabe gilt der erste Leerraum nach einer Ziffer. Z.B. würde die Eingabe "1860 München" korrekt sein und zur Ausgabe "1860" führen. "1860München" und "München 1860" dagegen wäre fehlerhafte Eingaben.
Hinweis: Der Unterschied zwischen einem Zeichen und dem entsprechenden char-Wert ist zu beachten. So lesen wir das Zeichen 5 als fünf - der entsprechende char-Wert ist aber die Nummer dieses Zeichens im Zeichensatz, das kann von Maschine zu Maschine eine andere Zahl sein. Wir können aber davon ausgehen, dass die Ziffern im Zeichensatz in üblicher Reihenfolge hintereinander kommen. Der Wert, den wir brauchen, ist also '5'-'0'. Allgemein ausgedrückt: Wenn durch c = getchar() ein Zeichen gelesen wurde, das als Ziffer erkannt wurde (Funktion isdigit !), so gibt der Wert des Ausdrucks c-'0' den "richtigen" Wert von c an.
*für Fortgeschrittene: Sorgen Sie dafür, dass ein Überlauf verhindert wird, d.h., dass der Nutzer informiert wird, falls versucht wird, eine zu große ganze Zahl einzugeben.
Vielen Dank shcon einmal im Vorraus :byby: