Taschenrechner programmierung Problem
-
ich versuch mich grad in c++ einzuarbeiten wegen Uni und erstem Semester
sollen Taschenrechner programmieren und ich hab jetzt ein Problem wo ich das nimma kapiere.
Bin noch am Anfang vom Programm also nicht wundern fehlt noch einiges.Mein Code bis jetzt
#include <stdio.h> main () { char zeichen; char c; float Erg=0; float Wert1; float Wert2; printf(":"); scanf("%f", &Wert1); printf(":"); scanf("%c %c %f", &c, &zeichen, &Wert2); switch( zeichen ) { case '+': Erg = Wert1 + Wert2; printf("%f", Erg); break; case '-': //irgendwas break; case '*': //irgendwas break; case '/': //irgendwas break; } }Das problem ist diese Zeilen Kombi
15: printf(":");
16: scanf("%c %c %f", &c, &zeichen, &Wert2);Ich hatte Zeile 16 erst so
16: scanf("%c %f", &zeichen, &Wert2);
also ohne das einlesen der Variablen "c"
Da hat das Programm dann nicht funktioniert.Also wenn ich
10
+10
machen wollte ist er immer aus dem programm gesprungen
erst nachdem ich das "c" mit eingelesen hab im scanf lief das addieren.
Hab das "c" aus der Musterlösung genommen blos hab ich absolut kein plan wieso ich das mit einlesen muss im scanf
Wäre nett wenn mir jemand ne anfängerfreundliche Erklärung geben könntevielen dank auf jeden Fall schonmal im voraus.
Mir schon fast peinlich wegen sowas kleinem hier zu fragen
Grüsse
Christian
PS. eventuelle andere Fehler bitte noch nicht ansprechen will erstmal selbst probieren wenn ich mit weiteren Problemen konfrontiert werde da ich für weitere abläufe irgendwas im Moment noch falsch haben sollte.
-
Ihr sollt euch doch in C++ einarbeiten ... das hat net soo viel mit C++ zu tun ...
#include <iostream> int main() { std::cout << "Taschenrechner V1.0" << std::endl; std::cout << "Input: " << std::flush; }usw ... das ist reines C++ ...
-
ist "scanf" etwa kein reines C++ ?
-
Hmm gehört zum C-Std. D.h. heißt der Header ja auch <cstdio>
-
wie wäre es mit einem delete dieses problemes
? schließlich steht es auch im ansi c und zwei postings sind unübersichtlich