C++ Einen Buchstaben zurückkehren
-
Hey Leute,
Ich mache gerade einen Taschenrechner mit _getch() und wollte, dass man bei der Eingabe auch Buchstaben loeschen kann.
Es gibt ja die Funktioncout << "\r";
aber da kehrt man nur an den Zeilenanfang zurück
Gibt es diese Funktion auch mit einem Buchstaben, damit ich das Problem so lösen kann:int Eingabe = _getch(); if(Eingabe == 8) cout << /*Ein Buchstabe zurück*/ << " " << /*Ein Buchstabe zurück*/;
Danke schon mal,
------------------------
MfG Bubi
-
_getch()
und der ganze Rest aus<conio.h>
ist kein Standard C++. Warum willst Du Dir das überhaupt zu Fuß antun anstatt die iostreams zu verwenden?#include <conio.h> constexpr char bs = '\b'; // backspace int main() { int ch; while ((ch = _getche(), ch != '\r') { if (ch == bs) { _putch(' '); _putch(bs); } } }
-
Nimm '\b' statt 8.
Schau dir mal die Escape-Sequenzen an.
Die Funktionieren aber nicht überall gleich.
-
Swordfish schrieb:
_getch()
und der ganze Rest aus<conio.h>
ist kein Standard C++. Warum willst Du Dir das überhaupt zu Fuß antun anstatt die iostreams zu verwenden?Gibt es überhaupt istreams, die wie _getch () ohne Enter funktionieren?
Aber danke hat funktioniert!,
MfG Bubi
-
Bubiluminati schrieb:
Gibt es überhaupt iostreams, die wie _getch () ohne Enter funktionieren?
Nein. Wenn das bei Dir so sein muss ...
-
Ja eigentlich schon
Wie soll ich bei einem Tachenrechner sonst erkennen, wann ein Rechenzeichen eingegeben wird
_________________
LG Bubi
-
#include <iostream> int main() { double a, b; char op; std::cin >> a >> op >> b; std::cout << "Operand 1: " << a << "\nOperand 2: " << b << "\nOperation: " << op << "\n\n"; }
-
Swordfish schrieb:
#include <iostream> int main() { double a, b; char op; std::cin >> a >> op >> b; std::cout << "Operand 1: " << a << "\nOperand 2: " << b << "\nOperation: " << op << "\n\n"; }
Das Problem dabei wäre, dass ich mehrere Zeichen hintereinander einlesen möchte aber das nur optional.
Bei deiner Lösung wartet cin dabei auf alle EingabenLG
Bubi