[gelöst] Frage zu cin/scanf Taschenrechner C++ 

  • Ersteller Ersteller groka
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
G

groka

Ahoi,
der Titel sagt zwar nicht gerade viel aus, aber das werd ich jetzt mal erklären ;D.
Da ich überall gesehen habe das Leute Taschenrechner machen, wollte ich es auch einmal probieren, jedoch etwas anders.
Die meisten nutzten ja Funktionen dazu, also zb. am Anfang die frage mit welchem Operator wollen sie Rechnen, addition, subtraktion usw..
Nun war mir das aber zu blöd, denn ein richtiger Taschenrechner fragt das ja auch nicht ab. Also kam ich auf die idee es gleich mit in die Eingabe des Users zu implementieren. Da ich aber nicht wusste wie ich das machen soll, da ja in scanf nur 1 was reinpasst ( denke ich jedenfalls ), habe ich in verschiedenen Foren nach einer Lösung gesucht und schließlich hatte eine einzige Person in diesem Forum die Lösung ;D...leider war es nur ein Gastmember. Hier der Quelltext:
Code:
#include 
#include 

using namespace std;

int main(int argc, char *argv[])
{
cout cout 
double a,b;
float E;
char r;

cout > a >> r >> b;
cout 
switch(r)
{
case '+': E = a + b; break;
case '-': E = a - b; break;
case '*': E = a * b; break;
case '/': E = a / b; break;
}

cout 
system("PAUSE");
return 0;
}
Das ist zwar schon eine Lösung aber es klärt nicht alles. Die Zeile mit
cout > a >> r >> b;
war die Lösung, jedoch würde ich gerne wissen wie das mit printf und scanf aussieht und ob es überhaupt machbar ist.
Kennt jemand die Lösung ?
Danke, Robert.
 
Zuletzt bearbeitet:
Da ich aber nicht wusste wie ich das machen soll, da ja in scanf nur 1 was reinpasst


Hallo groka,
zunächst bezogen auf deinen Satz im Quote.
Ich weiß nicht was du genau damit meinst..

Aber um auf deine Frage zurückzukommen,
wie die beschriebene Eingabe mit scanf umzusetzen ist..

So kannst du mehrere Werte in einem Aufruf abfragen und verschiedenen Variablen zuweisen:
(hier auf dein Beispiel angewandt)
Code:
printf("Rechnung:\n);
scanf("%lf %c %lf", &a, &r, &b);
Verständlich?

Hier sind es wie bei dir ja auch zwei Zeilen, vielleicht ist da was verrutscht bei der Formatierung:
Code:
cout COLOR] cin >> a >> r >> b;

Also:
cout cin >> a >> r >> b;

Und was ist noch nicht geklärt?
Weil du sagst, deine Lösung klärt noch nicht alles..
Fragen! ;)

Gruß,
jim
 
Zuletzt bearbeitet von einem Moderator:
Ne is schon richtig, danke ;D
Die Lösung war ja das mit dem cin und ich wusste halt nicht wie und ob man das mit scanf machen kann, auf sowas einfaches bin ich natürlich nicht gekommen ^^.
Danke dir
gruß Robert
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten