C++, wie man prüft, ob der std::cin-Puffer leer istC++

Programme in C++. Entwicklerforum
Anonymous
 C++, wie man prüft, ob der std::cin-Puffer leer ist

Post by Anonymous »

Der Titel ist irreführend, da ich mehr daran interessiert bin, eine alternative Lösung zu finden. Mein Bauchgefühl ist, dass die Überprüfung, ob der Puffer leer ist, nicht die idealste Lösung ist (zumindest in meinem Fall).

Ich bin neu in C++ und habe Bjarne Stroustrups Programmierprinzipien und -praktiken mit C++ befolgt. Ich bin gerade bei Kapitel 7, wo wir den Rechner aus Kapitel 6 „verfeinern“. (Die Links zum Quellcode füge ich am Ende der Frage ein.)

Grundsätzlich kann der Rechner mehrere Eingaben vom Benutzer entgegennehmen, die durch Semikolons getrennt sind.

Code: Select all

> 5+2; 10*2; 5-1;
= 7
>         = 20
>         = 4
>
Aber ich möchte das Aufforderungszeichen ('>') für die letzten beiden Antworten entfernen und es nur dann wieder anzeigen, wenn der Benutzer zur Eingabe aufgefordert wird. Mein erster Instinkt war, einen Weg zu finden, um zu überprüfen, ob der Puffer leer ist, und wenn ja, das Zeichen zu zählen, und wenn nicht, mit dem Zählen der Antwort fortzufahren. Aber nach ein wenig Googeln wurde mir klar, dass die Aufgabe nicht so einfach ist, wie ich ursprünglich dachte ... Und auch, dass das vielleicht von Anfang an keine gute Idee war.

Ich denke, im Wesentlichen geht es mir um die Frage, wie ich die „>“-Zeichen für die letzten beiden Antworten entfernen kann, wenn es mehrere Eingaben gibt. Aber wenn die Überprüfung des Cin-Puffers möglich ist und keine schlechte Idee ist, würde ich gerne wissen, wie man das macht.

Quellcode: https://gist.github.com/Spicy-Pumpkin/4 ... 41d7417675

Header-Datei: http://www.stroustrup.com/Programming/P ... cilities.h

^ Sie benötigen diese Header-Datei. Ich gehe davon aus, dass es vom Autor selbst geschrieben wurde.

Bearbeiten: Ich habe mich im Internet nach einigen Lösungen umgesehen, aber um ehrlich zu sein, ergab für mich keine davon einen Sinn. Es ist ungefähr 4 Tage her, seit ich C++ gelernt habe, und ich habe nur sehr geringe Programmierkenntnisse, daher ist selbst das Googeln manchmal etwas schwierig..

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post