- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: cin in nur einer Zeile an mehreren Variablen zuweisen?

  1. #1
    NUFlana
    Gast

    cin in nur einer Zeile an mehreren Variablen zuweisen?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Tag,

    ist es möglich, Eingaben mit cin >> in einer Zeile an MEHRERE Variablen zu übergeben?

    Beispiel mit nur einer Variablen:
    cout << "Farbe eingeben: \n";
    cin >> Variable1

    Beispiel mit zwei Variablen (funktioniert natürlich nicht)
    cout << "Farbe eingeben: \n";
    cin >> Variable1, Variable2


    Und noch eine Frage:
    Kann man den Wert mit cin an eine Variable übergeben und den neuen Wert mit dem cin Wert addieren OHNE den Wert von cin an eine Variable zu übergeben?... Etwas verständlicher: kann man mehrere Werte über cin addieren (ich lese z.B. nacheinander 4 werte über cin ein), ohne zwei Variablen zu benutzen, sondern nur eine?

    So funktionierts leider nicht:
    cout << "wert 1:\n";
    variable1 = variable 1 + cin
    cout << "wert 2:\n";
    variable1 = variable 1 + cin
    cout << "wert 3:\n";
    variable1 = variable 1 + cin
    cout << "wert 4:\n";

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Versuch mal:

    cin >> Variable1 >> Variable2

    http://www.cpp-tutor.de/cpp/le04/cin.html

    Oder soll in Variable 2 das stehen was auch in Variable 1 steht?
    Und wenn ja warum? (steht doch schon in Variable 1).

    variable1 = variable 1 + cin

    Wie Soll das denn gehen?
    cin ist ein Datenstrom.
    Woher soll der Compiler an der Stelle wissen ob du eine logische Verknüpfung von chars zu einem String vornehmen willst oder ob Du da eine arimetrische Addition von Integer Werten vornehmen willst.




    Geändert von i_make_it (12.12.2016 um 15:08 Uhr)

  3. #3
    Trauerkloß
    Gast
    i_make_it @: Frage 1 kannst du verwerfen, Denkfehler!

    "Woher soll der Compiler an der Stelle wissen ob du eine logische Verknüpfung von chars zu einem String vornehmen willst oder ob Du da eine arimetrische Addition von Integer Werten vornehmen willst."
    Kann man den Eingabestream nicht konvertieren? Z.B. wie in VBA mit Cint() oder so änhlich?

  4. #4
    shedepe
    Gast
    Der Eingabestream ist vom Typ std::istream. Der << oder >> ist ein überladener Operator der den Inhalt des Streams in eine Variable reinschreibt bw. davon liest. D.h. Schreib in deine Variable und verwende diese dann. Man kann direkt auf den Stream zugreifen. Will man aber nicht.

    Alle Infos findet man außerdem in der C++ Doku die man zuerst anschauen sollte: http://www.cplusplus.com/reference/istream/istream/

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Zitat Zitat von NUFlana Beitrag anzeigen
    ist es möglich, Eingaben mit cin >> in einer Zeile an MEHRERE Variablen zu übergeben?

    cout << "Farbe eingeben: \n";
    cin >> Variable1 >> Variable2
    wieso Denkfehler?
    Wenn die eingegebene Farbe "Blas Blau" ist, dann enthält Variable1 "Blas" und Variable2 "Blau".
    Das ist was anderes wie wenn beide Variablen "Blas Blau" enthalten sollen.

    Wenn man sich mal den Text hinter meinem Link duchliest, wird das noch komplexer, da der Tastaturpuffer ja auch die Escapesequenz vom Betätigen der Entertaste enthält.
    Üblicherweise liest man mit cin in eine Variable ein, macht eine Plausibilitätsprüfung des Variableninhaltes. (erwarte Zahl, bekomme aber Alphanumerisch).
    Und dann verarbeitet man das.
    Man kann auch ungeprüft arbeiten oder direkt mit dem Puffer.
    Die Frage ist, will man das?

    Genauso stellt sich halt die Frage warum den selben Wert in zwei Variablen speichern?
    Eventuell wird hier eine Lösung für "kein" Problem gesucht sondern um unsaubere Progarmierung irgendwie zum laufen zu bringen.
    Das sollte erst mal geklärt werden bevor ein Rattenschwanz von Folgeproblemen nachfolgt.

  6. #6
    Unregistriert
    Gast
    ich weiß nicht ob das weiterhilft -
    Sollen denn Strings oder Zahlen eingelesen werden - oder beides gemischt?
    2 strings zu trennen wird sicher schierig werde, aber in allen anderen Fällen würde ich eher scanf verwenden, da weiß man was man kriegt (oder kriegen soll).
    Warum muss man immer c++ dafür herbeiquälen?
    http://www.cplusplus.com/reference/c...canf/?kw=scanf

  7. #7
    Trauerkloß
    Gast
    ich habe mit Antwort von Frage 2 auf eine Antwort auf Frage 1 gehofft. Dabei habe ich festgestellt, das ich da einen Denkfehler gemacht habe. Denn mit der Antwort der Frage/Problem 2 kann ich nicht das Problem der Frage 1 beantworten (ein Denkfehler meinerseits).

    ich habe bereits eine Lösung gefunden. Letztendlich war es nur eine Winzigkeit. ich Danke euch für die Hilfe
    thank you

Ähnliche Themen

  1. Löschen einer Zeile LCD
    Von anfänger99 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 21.02.2011, 11:51
  2. kleinste Wert aus mehreren Variablen
    Von friedrich2002 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 24.10.2009, 18:30
  3. Pins einer Variable zuweisen
    Von Thomas8443 im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 30.07.2009, 21:37
  4. blinken einer Zeile (LCD 20x4)
    Von quantum im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 16.09.2005, 11:57
  5. Erzeugen einer .Hex-Datei aus mehreren C-Quelltexten !!
    Von casa74 im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 13.06.2005, 21:33

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests