Brauche Hilfe ( Cin Befehl )



  • Hallo, ich bin noch blutiger Anfänger auf dem Gebiet der Prgrammierung. Soll für´s Studium jetzt einen Taschenrechner Programmieren. Alles noch auf Consolen Ebene. Ist auch eigentlich nicht das Problem. Nur mit dem Cin komm ich nicht klar.
    Am Anfang jeder Zeile soll das Ergebnis der Vorigen rechnung stehen, dann soll ein Operator und ein Operand dazu eingegeben werden. Diese dann berechnet und wieder am Anfang der nächsten Zeile ausgegeben werden. Die beinen Operanden haben als Datentyp Double, und der Operator char. Operator und Operand sollen aber jetzt in einer zeile Nebeneinander eingeeben werden ( +3 zB) das plus ist ja jetzt das char und die 3 das double. Ich hab das jetzt so Programmiert. Cin >> charVariable >> Double Varibale;
    leider ist beider dieser vorm ja immer ein Zeilen umbruch zwischen beiden eingaben, wie kann ich die denn jetzt nebeneinander eintippen, mit Enter bestätigen und sie trotzdem unabhängig voneinander einlesen?

    gruß
    Creep



  • cin (ist übrigens kein Befehl, sondern ein Objekt, aber das nur am Rande ;)) liest die Daten in der Reihenfolge, wie sie kommen - und ignoriert idR whitespaces (Leerzeichen, Tab, Enter etc.). Aber es hat auch kein Problem damit, wenn mehrere Eingabewerte auf einer Zeile hintereinander kommen.



  • ok ok, schonal vielen dank. Aber wie waäre das zum beispiel, wenn ich zwei double werte einlesen würde und die in einer Zeile nebeneinander schreiben würde, die könnten doch granicht auseinander gehalten werden. zB Cin >> double a >> double b;
    und ich würde am prompt ein geben 33, woher wüste den jetzt der compiler, ob a und b jeweils 3 sind, oder ob a 33 ist und b erst in der nächsten Zele eingegeben wird?

    gruß
    creep



  • da müsstest du ein Leerzeichen dazwischen eingeben (z.B. "3 3"), dann weiß das Programm (nicht der Compiler, der ist während des Programmlaufs gar nicht aktiv ;), wo eine Zahl zu Ende ist und die nächste Zahl beginnt. Bei der Eingabe "33" wird der gesamte Wert in der ersten Variablen gespeichert und das Programm wartet darauf, daß du noch etwas für die zweite Variable eingibst.



  • Achso, nagut. Erstmal vielen dank, das hat mir weitergeholfen.

    gruß
    Creep


Anmelden zum Antworten