wikki Geschrieben 3. April 2011 Geschrieben 3. April 2011 Hallo! Zuersteinmal: ES HANDELT SICH NICHT UM HAUSAUFGABEN! Ich habe zuhause angefangen ein Programm zu schreiben, so zum verstehen der Materie, da die nächste Arbeit sicher bald über dieses Thema kommt. Nun habe ich meinen Lehrer ein paar Fragen geschrieben, dieser hat mir eine sehr schöne Anleitung zurück geschickt, leider hänge ich an einem Punkt, der mich auch aufhält die anderen Punkte anzugehen. Da er Sonntags wohl nicht erreichbar ist, und ich ihn auch nicht 10x belästigen möchte, ich aber wiederum drauf brenne weiter zu machen, bitte ich um eure Hilfe! Hier die Passage aus der Anleitung: Also schreiben Sie in der Funktion eingeben eine Schleife, die die Funktion bucheingeben mit &lib.buch[lib.anzahl] als Parameter aufruft. Damit werden die Daten des Buches abgefragt und abgelegt. Danach erhöhen Sie lib->anzahl um Eins und fragen den Benutzer, ob er noch ein Buch eingeben will Diese Schleife läuft solange der Benutzer jeingegeben hat und solange lib->anzahl kleiner lib->max ist. Frage: Wie geht die Schleife? Eine for-schleife kann es nicht sein oder? Ich dachte ja eine do-while schleife, aber viel rumraten will ich auch nicht Ich hoffe ihr könnt mir helfen! grüße! Zitieren
Anyanca Geschrieben 3. April 2011 Geschrieben 3. April 2011 ich würde auch sagen, das funktioniert mit einer do-while-Schleife Zitieren
itazubi Geschrieben 3. April 2011 Geschrieben 3. April 2011 ES HANDELT SICH NICHT UM HAUSAUFGABEN! löblich Ich formuliere es mal im Pseudocode: Also schreiben Sie in der Funktion eingeben eine Schleife, die die Funktion bucheingeben mit &lib.buch[lib.anzahl] als Parameter aufruft. Damit werden die Daten des Buches abgefragt und abgelegt. Danach erhöhen Sie lib->anzahl um Eins und fragen den Benutzer, ob er noch ein Buch eingeben will Diese Schleife läuft solange der Benutzer jeingegeben hat und solange lib->anzahl kleiner lib->max ist. Funktion "Eingeben" aufrufen Aufruf "Bucheingeben" erhöhe "Anzahl"+1 Abfrage "weitere Bucheingabe?" und "Anzahl<Max" wenn ja, dann Aufruf "Bucheingeben" erhöhe "Anzahl"+1 wenn nein, dann Ende Ich hab das Gefühl, dass die Schleife "weiter Bucheingabe" besser formuliert werden könnte. Also direkt die Abfrage starten und nicht erst einmalig ein Buch eingeben lassen. Zitieren
Missi89 Geschrieben 3. April 2011 Geschrieben 3. April 2011 würde auch auf eine do-while schleife setzen. dann kannste ja easy die Bedingung fortführen wenn der user der eingabeaufforderung nachkommt u bis dein "max" erreicht ist. Zitieren
wikki Geschrieben 3. April 2011 Autor Geschrieben 3. April 2011 Schon einmal VIELEN Dank! Ich bin eine totale null wenns um Do-While Schleifen geht... Ich würds irgendwie so machen: void eingeben (cbib* lib) { char wh; // für das Wiederholen der Schleife do { bucheingeben (&lib.buch[lib.anzahl]); lib->anzahl ++ ; }while (wh=='j' || wh == 'J' && lib->anzahl < lib->max) } Ist das so richtig?! Nochmal vielen Dank, ihr seid super! Zitieren
itazubi Geschrieben 3. April 2011 Geschrieben 3. April 2011 sieht auf den ersten Blick gut aus. Es muss auf jeden Fall eine kopfgesteuerte Schleife sind. Schließlich wird mind. 1 Eingabe betätigt. Zitieren
Klotzkopp Geschrieben 4. April 2011 Geschrieben 4. April 2011 Es muss auf jeden Fall eine kopfgesteuerte Schleife sind. Schließlich wird mind. 1 Eingabe betätigt. Du meinst wahrscheinlich fußgesteuert. Zitieren
Empfohlene Beiträge
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.