sinnhaftigkeitsfrage



  • silkesommer schrieb:

    danke @muemmel

    was mir nicht ganz klar war:

    warum erhalte ich ein und die gleiche ausgabe, wenn ich die zeilen 12-28 lösche. mir stellt sich die frage, warum soll ich sie denn überhaupt eingeben?

    gruss

    Hallo silkesommer,

    dann hast du die Beiträge von LordJaxom, Unix-Tom, dark-eye und muemmel
    nicht genau genug gelesen.

    Es macht einen Unterschied!

    Was ist denn die Ausgabe von deinem Programm mit 12-28 und ohne diese Zeilen?

    Gruß mcr



  • silkesommer schrieb:

    danke @muemmel

    was mir nicht ganz klar war:

    warum erhalte ich ein und die gleiche ausgabe, wenn ich die zeilen 12-28 lösche. mir stellt sich die frage, warum soll ich sie denn überhaupt eingeben?

    gruss

    Du weißt was eine Konsole ist? Falls nicht: das ist dieses Kommandofenster, oder auch gerne DOS-Fenster genannt. Und diese Konsole/Konsolenfenster schließt sich sofort, nach deiner Tasteneingabe. Natürlich siehst du dann das Ergebnis nicht, weil das Fenster sich ja sofort schließt. Der PC ist natürlich so ultra schnell mit der Darstellung des Ergebnisses, und dem Schließen des Fensters, das du das garnicht sehen kannst.

    Starte doch mal dein Programm aus der Konsole heraus! (aber das müssen wir dir wahrscheinlich auch noch erklären?)

    Was für eine IDE benutzt Du denn? VisualC++? Falls ja, dann starte dein Programm doch mit STRG+F5 und nicht mit F5. Weil bei STRG+F5 schließt sich das Konsolenfenster nicht sofort, sondern man muß es mit einer Taste bestätigen.



  • meine ausgabe lautet:

    [Session started at 2008-07-16 14:32:55 +0200.]
    1 - Start
    2 - Info
    3 - Ende

    nach ändern des codes, lautet die ausgabe:

    [Session started at 2008-07-16 14:34:40 +0200.]
    1 - Start
    2 - Info
    Sie wählten: 3 - Ende



  • muemmel schrieb:

    Zum anderen, und das ist wichtiger, am Ende anhalten. Das geht am einfachsten, wenn Du nach Zeile 28 noch mal Ziele 12 wiederholst. Du must dann zum Beenden noch mal eine Zahl eingeben.

    Viel Erfolg wünscht Mümmel

    nach zeile 28 gab ich die zeile 12 ein, was genau meinst du mit beenden ncoh eine zahl eingeben? und wo soll ich diese eingeben?

    gruss



  • Du weißt was eine Konsole ist? Falls nicht: das ist dieses Kommandofenster, oder auch gerne DOS-Fenster genannt. Und diese Konsole/Konsolenfenster schließt sich sofort, nach deiner Tasteneingabe. Natürlich siehst du dann das Ergebnis nicht, weil das Fenster sich ja sofort schließt. Der PC ist natürlich so ultra schnell mit der Darstellung des Ergebnisses, und dem Schließen des Fensters, das du das garnicht sehen kannst.

    Starte doch mal dein Programm aus der Konsole heraus! (aber das müssen wir dir wahrscheinlich auch noch erklären?)

    Was für eine IDE benutzt Du denn? VisualC++? Falls ja, dann starte dein Programm doch mit STRG+F5 und nicht mit F5. Weil bei STRG+F5 schließt sich das Konsolenfenster nicht sofort, sondern man muß es mit einer Taste bestätigen.

    da ich an meinem macbookpro arbeite benutze ich kein dos-fenster sondern das mac-terminal. jedoch schliesst sich das fenster nicht!! es bleibt offen und zeigt mir diese zeilen an:

    1 - Start
    2 - Info
    Sie wählten: 3 - Ende

    was meinst du mit, ich solle es aus der konsole starten? mach ich das denn nicht schon?

    danke im voraus!!



  • Hi silkesommer,

    probiers mal so:

    #include <iostream> 
    using namespace std; 
    
    int main() 
    { 
        int eingabe; 
    
        cout << "1 - Start" << endl;       //Eingabehinweise
        cout << "2 - Info"  << endl; 
        cout << "3 - Ende"  << endl; 
        cout << endl;                      // Leerzeile
        cout << "Bitte Zahl auswählen ";   // Eingabe-Aufforderung ohne
                                           // Zeilenschaltung danach
    
        cin >> eingabe;                    // Eingabe der Zahl
    
        switch(eingabe)                    // Verzweigung anhand Eingabe
        { 
        case 1:                            // Fall 1
                cout << " Sie wählten 1 für Start" << endl; 
                break;                     // die anderen Fälle überspringen
        case 2: 
                cout << " Sie wählten 2 für Info" << endl; 
                break; 
        case 3: 
                cout << " Sie wählten 3 für Ende" << endl;
                break;            
        default:                           // wenn keines von den angegebenen
                cout << " Sie wählten eine nicht gültige Zahl" << endl; 
                break;                     // hier nicht nötig aber guter Stil
        } 
    
        cout << "Bitte Zahl für beenden eingeben ";    // Hinweis für Eingabe
    
        cin >> eingabe;                    // Auf Eingabe Warten danach Schluss
    
    return 0; 
    }
    

    Damit müsste es gehen. Ich habs mal ein bisschen kommentiert (alles nach //).

    Gruß Mümmel

    PS: Nein, Du startest es als Konsolenanwendung aber nicht von der Konsole. Also mach ein MS-DOS-Fenster auf und starte es von da.



  • 😃 ; 👍 ; ➡ 💡 💡 💡 💡

    wowwwwww, jetzt hab ichs verstanden 😮

    cool, danke!!! du meine güte, ist doch total logisch. danke für eure geduld.

    vg



  • Hi,

    nix zu danken, wenns noch Fragen gibt wieder melden.

    Gruß Mümmel



  • muemmel schrieb:

    cout << "Bitte Zahl für beenden eingeben ";

    muss dieser befehl nicht wie folgt enden:

    cout << "Bitte Zahl für beenden eingeben " << endl;

    gruss



  • Hi Silkesommer,

    nein, muß nicht unbedingt. Das endl heißt ja nicht daß es das Ende der Zeichenkette ist, sondern es führt eine Zeilenschaltung und einen Wagenrücklauf durch.
    Mit endl gibst du die Zahl auf der nächsten Zeile ein, ohne gleich dahinter in der selben Zeile.
    Früher war das zum Teil notwendig, weil auf alten Betriebssystemen die Zeile teilweise erst nach dem endl geschrieben wurde. Müsste aber bei dir auch ohne gehen.

    Gruß Mümmel


Anmelden zum Antworten