Probleme mit char, cout und cin (einfacher Code)



  • Nathan schrieb:

    [...]
    getline(cin, name); //getline anstatt cin >> name; Das liest mehrere Strings ein

    [...]

    Wieviel denn so im Durchschnitt? Und ... wo werden die dann abgespeichert?
    Und ... gibt das nachfolgende

    cout << name;
    

    dann auch mehrere Strings aus?



  • Belli: damit meint er bestimmt, dass non-alnum-Zeichen nicht einfach so abgeschnitten werden.



  • Ja.
    Ich hatte mich unklar ausgedrükt. 😃



  • Ach, wenn er das meinen würde, könnte er das doch auch schreiben?

    Edit:
    Ups, ein paar Sekunden zu spät ...

    Edit 2:
    Ich verstehe einfach nicht, wieso nicht als Standardantwort auf:

    ... mein Konsolenfenster (meine Box, mein Programm, ...) verschwindet, die einzig vernünftige Antwort kommt:

    Starte Konsolenprogramme aus der Konsole!

    kommt!
    Stattdessen wird so ein Blödsinn wie: Lies noch mal ein Zeichen ein, aber vergiss nicht den Puffer vorher zu löschen, bla bla rausgelassen ... 😕



  • Ja. 😉



  • Belli schrieb:

    Edit 2:
    Ich verstehe einfach nicht, wieso nicht als Standardantwort auf:

    ... mein Konsolenfenster (meine Box, mein Programm, ...) verschwindet, die einzig vernünftige Antwort kommt:

    Starte Konsolenprogramme aus der Konsole!

    kommt!
    Stattdessen wird so ein Blödsinn wie: Lies noch mal ein Zeichen ein, aber vergiss nicht den Puffer vorher zu löschen, bla bla rausgelassen ... 😕

    Ganz einfach: Das Programm lief noch weiter, es wollte nur den Namen nicht einlesen, sondern hat versucht ihn direkt auszugeben.
    Und sorry, für Doppelpost, wollte das Belli das noch liest.



  • Serena schrieb:

    Wenn ich dann im Programm einen Namen eingebe und Enter drücke, schließt sich die Box einfach.

    Nathan schrieb:

    Ganz einfach: Das Programm lief noch weiter, ...

    ... wohl kaum.



  • Sie hat sich unklar ausgedrückt: Die Konsole bleibt offen - probiers aus, selbst bei ihrem ersten Code. Das Eingabefeld "schließt" sich nur.



  • Was ist denn ein Eingabefeld in der Konsole?
    Das Programm beendet sich, wenn ich
    30
    Peter Pan
    eingebe.
    Und wenn das Programm sich beendet, und es nicht aus der Konsole gestartet wurde, sondern durch Doppelklick im Explorer auf die exe-Datei, dann schließt sich auch die Konsole.
    Wenn man das Programm aus der Konsole startet, braucht man dieses abschließende 'Puffer leeren, damit noch eine Eingabe gemacht werden kann' nicht. Das braucht man nur, wenn man das Programm durch Doppelklick startet, weil man nämlich sonst die Programmausgabe nicht sieht, da sich die Konsole bei Programmende dann sofort schließt.


Anmelden zum Antworten