For-schleife und switch-anweisung...



  • okay!
    danke erstmal aber wie gehts dann genau weiter ? xD



  • Womit weiter? Ich hatte dich so verstanden, dass du wissen willst, was du machen musst, damit es nachm switch-case wieder oben weitergeht. 😉

    Das ginge in deinem Fall dann so:

    for (int j = 0; j < 10; j++)
    {
       //...
       //...
    }
    


  • aso 😉 nein ich meinte wenn der anwender "j" eingibt, dann soll die switch anweisung wieder zum for hochspringen 😃 oder war das dann schon das was ich meinte? bin schon etwas müde sry 🙂



  • Steht "Zahle" für Zahl oder für Zeile?
    Also was willst du hiervon?
    a) 10 Zahlen werden eingegeben, dann darf der Benutzer entscheiden, ob er nochmal 10 eingeben soll.
    oder b) Es wird eine Zahl eingegeben, dann wird gefragt, ob nochmal eine eingegeben werden soll, und das ganze maximal 10 mal?

    Zweites könntest du zb. so machen:

    #include <iostream>
    #include <vector>
    using namespace std;
    int main()
    {
    	typedef vector<int> TZahlen;
    	TZahlen zahlen;
    	bool fertig(false);
    	do
    	{
    		cout << "Bitte geben sie eine Zahl ein." << endl;
    		int zahl( 0 );
    		cin >> zahl;
    		zahlen.push_back( zahl );
    		cout << "Wollen sie eine weitere Zahle eingeben?[j/n]" << endl;
    		string wahl;
    		cin >> wahl;
    		if ( wahl == "n" )
    			fertig = true;
    		else if ( wahl != "j" )
    		{
    			cout << "Ungültige Eingabe, Programm wird beendet." << endl;
    			return 999;
    		}
    	} while ( !fertig );
    	// Ausgabe
    	for ( TZahlen::iterator it( zahlen.begin()); it != zahlen.end(); ++it )
    		cout << *it << " ";
    	cout << endl;
    	return 0;
    }
    

    Fehlerfälle wie die Eingabe einer ungültigen Zeichenfolge als Zahl usw. sind noch nicht abgefangen.



  • es sind zahlen gemeint! es handelt sich dabei um die Addiotions-Funktion eines Taschenrechners!! Aarg schon wieder die sache mit dem vektor... die kam in meinem c++ Buch nicht vor 😕 Es war fall zwei, danke 🙂
    [Morgen kommen wahrscheinlich noch mehr fragen xD]
    Mux



  • Es geht auch ohne Vektor nur mit C-Arrays. Ist natürlich gut wenn man die auch verstanden hab, aber mit denen handelt man sich halt schnell mal andere Probleme ein.



  • ja die arrays zu verstehen is ja nich schwer 😉 könntest du mir vlt ein "Tutoriotal" für vektoren schicken?? oder mir kurz die funktionsweise und syntax erklären? Dann kann ich da auch mal mitreden 🙂





  • siehe C++ Reference: http://www.cplusplus.com/reference/stl/vector/

    Stöbere dort mal ein wenig.



  • DANKE 😃 Damit wär dann ein problem aus dem weg geschafft! danke nochmal
    Mux



  • Prog_mux schrieb:

    Aarg schon wieder die sache mit dem vektor... die kam in meinem c++ Buch nicht vor 😕

    Bist du sicher, dass es ein C++-Buch war und kein C-Buch? Ein C++-Buch, das die grundlegensten Container der Standardbibliothek nicht behandelt gehört eigentlich gleich in die blaue Tonne...



  • Um noch mal auf die Ausgangsfrage zurück zu kommen. Ich geh mal davon aus, dass dein Anweisungsblock für for jetzt in geschweiften Klammern steht. Schau dir mal break in Verbindung mit switch an. Und statt die Schleife mit break zu verlassen wäre es sinnvoller eine zusätzliche Bedingung für die Ausführung der Schleife zu definieren.

    bool fertig = false;
    for (int i = 0; (i < Durchlaeufe) && !fertig; ++i)
    {
    // && logisches Und, verknüpft die beiden Bedingungen
    // ! negiert den Ausdruck (true->false und false->true)
        switch (x)
        {
        case 1: // bei x == 1
          break; // switch verlassen
        case 2: // bei x == 2
        case 3: // bei x == 3 oder x == 2, weil switch nicht verlassen wurde
          fertig = true;
          break; // letztes break ist optional, weil switch zuende
        }
        // d.h. fertig wird bei 2 oder 3 gesetzt
    }
    


  • @pumuckl es heißt: Objektorientiertes Programmieren mit c++ xD es war also ein buch aber du hast recht: es ist für die tonne und dafür is die tonne eig noch zu gut 😠

    @Paul Müller
    Danke!! Jetzt hab ich noch eine möglichkeit 🙂 aber das mit den vektoren kann ich ja jetzt auch 😉


  • Mod

    Prog_mux schrieb:

    @pumuckl es heißt: Objektorientiertes Programmieren mit c++ xD es war also ein buch aber du hast recht: es ist für die tonne und dafür is die tonne eig noch zu gut 😠

    Hmm, auf Google Books sieht das eigentlich ganz vielversprechend aus. Strings, Vectoren und die anderen STL-Container werden laut Inhaltsverzeichnis sehr früh besprochen und C-Arrays erst später als kleines Kapitel. Und die Beispielcodes die ich bei der Vorschau gesehen hab, waren eigentlich auch ganz gut.



  • sry es hieß: C++ Objekorientiertes Programmieren von anfang an 😃 soll jetzt keine falschen eindruck vermitteln 🙂


  • Mod

    Prog_mux schrieb:

    sry es hieß: C++ Objekorientiertes Programmieren von anfang an 😃 soll jetzt keine falschen eindruck vermitteln 🙂

    Ahh, kein Preview bei Google, aber Autor Jürgen Wolf. Das erklärt alles. Wegschmeißen.



  • okay! kannst mir ein neues empfehlen? 🙂
    *altes buch verbrenn*



  • Schau mal in die FAQ, dort gibts eine ausführliche Bücherliste 🙂


Anmelden zum Antworten