Eingab mit Vorbesetzung
-
H.Pauker
hpauker@hotmail.deEingabe mit Vorbesetzung:
In QB45 gebe ich bei Vorbesetzung für die Eingabe folgende Zeile ein:
d= 30 'Vorbesetzung
PRINT "Durchsatz D [kg/s]"; d; : INPUT o: IF o <> 0 THEN d = o
Über INPUT o kann man die Vorbesetzung überschreiben. Will man die Vorbesetzung so geht man mit „Enter“ in die nächste Programmzeile.
double a,b,c,o;
char r,j,n;
a=5.;b=2;c=3;
cout<<" a= "<<a<<" ";cin>> o;cout<<o;
if (o!= ' ')
{a=o;
cout <<a;}
Wie programmiert man das in C++ weil mit „Enter“funktioniert das nicht
-
Mit den normalen C++-Mitteln: Gar nicht. Das ist eine Frage der Benutzeroberfläche, C++ hat aber keine vorgeschriebene Nutzeroberfläche. Natürlich kann C++ mit so ziemlich jeder Nutzeroberfläche zusammen arbeiten und viele davon werden sicherlich solch ein Feature unterstützen. Du musst uns nur sagen, für welche Oberfläche das sein soll. Windows-Konsole?
-
Gibt es für so etwas nicht grafische Benutzeroberflächen? Wenn nicht, dann sollte die mal einer erfinden...
-
Ich verwende code:block mit ubuntu.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
#include <iostream>
#include<string>
using namespace std;int main()
{
Anfang:
double a,o;
char r,j,n;
a=5.;/* Vorbesetzung*/
cout<<" a= "<<a<<" ";cin>>o;cout<<o;if (o!=0 ) {a=o;}
cout<< "\n\n"" a= "<<a<<" ";/* Hier wird der Rechnungsblock eingegeben */
cout<<"\n\n Alles richtig j/n ";cin >>r;
if(r!='j')
{goto Anfang;}
Schluss:;
}/*In der Zeile 13 wird nach der Eingabe von o der Vorgabewert a */
/*überschrieben, jetzt muß man ihn bei Beibehalt wiederholen,oder */
/* 0 eingeben, was bei mehrern Eingabewerten die gleichbleiben */
/*fad ist. */
/*das wollte ich mir durch Drücken der "enter" Taste ersparen!! */XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Das bildet das Grundelement für verschiedene Konsolen Programme die
ich in QB45 geschrieben habe und die ich auf C++ eventuell umschreiben möchte,
da sowohl mein Sohn als auch meine Enkelin jetzt C++ lernen.
-
Das
cin
überliest am Anfang Whitespace (Dazu gehört auch die Entertaste).
Du kannst z.B einen Text (String) einlesen und prüfen, ob der Zeichen enthält.
Aus diesem String kannst du dann bei Bedarf einen double oder int-Wert holen.
-
#include <iostream>
#include<string>
using namespace std;int main()
{
Anfang:
double a,o;char r,j,n;
a=5.; /* Vorbesetzung*/
cout<<" Bei Beibehalten der Vorbesetzung 0 eingeben !!\n\n ";cout<<" a= "<<a<<" ";
cin>>o;
cout<<o;
if (o!=0)
a=o;
cout<< "\n\n"" a= "<<a<<" ";/* Hier wird der Rechnungsblock eingegeben */
cout<<"\n\n Alles richtig j/n ";cin >>r;
if(r=='n')
#include <iostream>
#include<string>
using namespace std;int main()
{
Anfang:
double a,o;char r,j,n;
a=5.; /* Vorbesetzung*/cout<<" Bei Beibehalten der Vorbesetzung 0 eingeben !!\n\n ";
cout<<" a= "<<a<<" ";
cin>>o;
cout<<o;
if (o!=0)
a=o;
cout<< "\n\n"" a= "<<a<<" ";/* Hier wird der Rechnungsblock eingegeben */
cout<<"\n\n Alles richtig j/n ";cin >>r;
if(r=='n')
{goto Anfang;}
else
Schluss:;{goto Anfang;}
else
Schluss:;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Gelöst:
Durch den Hinweis:cout<<" Bei Beibehalten der Vorbesetzung 0 eingeben !!\n\n ";
Kann der Eingabewert Übernommen werden.
Danke für die Hilfe!
-
Heli schrieb:
Das bildet das Grundelement für verschiedene Konsolen Programme die
ich in QB45 geschrieben habe und die ich auf C++ eventuell umschreiben möchte,
da sowohl mein Sohn als auch meine Enkelin jetzt C++ lernen.Dann aber nicht krampfhaft 1:1 übernehmen, sondern nutzt dann auch die Konzepte von C++.
D.h. Problem verstehen und umsetzen. Da verwirrt dein bisheriger Code mehr als dass er nützt.Das
goto
brauchst du als Anfanger in C++ nicht