IF Else Taschenrechner falsches Ergebniss?

dxeshranze

Banned
Registriert
Aug. 2017
Beiträge
25
Guten Tag derzeit mache ich den ITA und sind noch ganz am Anfang des Programmierens und haben als Hausaufgabe einen Programmierbaren Taschenrechner auf.. Jedoch habe ich ein Problem was bereits bei der ersten Auswahl der Addition auftritt und zwar gibt er mir immer einen fix wert aus welcher nicht stimmt egal welche eingabe getätigt wird und ich finde den Fehler einfach nicht :/

Ich gebe euch mal mein Quelltext..

#include <iostream>

using namespace std;

main()
{
int zahl1;
int zahl2;
int ergebniss;
int zahl4;


cout<<"Willkommen beim Taschenrechner was wollen Sie tun?"<<endl;
cout<<"Addition(1)"<<endl;
cout<<"Subtraktion(2)"<<endl;
cout<<"Division(3)"<<endl;
cout<<"Multiplikation(4)"<<endl;
cout<<"Auswahl: ";

char auswahl;
cin >> auswahl;

if(auswahl == '1')
cout<< "Bitte geben Sie eine Zahl ein."<<endl;
cin >> "zahl1";
cout<< "Bitte geben Sie eine weitere Zahl ein um zu Addieren."<<endl;
cin >>"zahl2";
ergebniss = zahl1 + zahl2;
cout<<"Das Ergebniss ihrer Auswahl lautet:"<<ergebniss<<endl;

system("pause");
}


Das ergebniss ist immer 4305161 ?
 
Etwas in Hochkommata(z.B. "Test") ist ein String, also eine Zeichenkette. Schau dir deinen If-Block daher mal genau an und schau dir auch noch einmal die Syntax eines If-Blocks an, denn da fehlt noch etwas.
 
Kenn zwar die Porgrammiersprache nicht, vermute aber, dass es ein Konvertierungsfehler sein könnte?

Fixier mal eine Haltemarke auf if (auswahl==1) und geh Schritt für Schritt alles durch, das hilft immer am besten weiter!
 
if(auswahl == '1')
cout<< "Bitte geben Sie eine Zahl ein."<<endl;
cin >> "zahl1"; <<-------------
cout<< "Bitte geben Sie eine weitere Zahl ein um zu Addieren."<<endl;
cin >>"zahl2"; <<---------------
ergebniss = zahl1 + zahl2;
cout<<"Das Ergebniss ihrer Auswahl lautet:"<<ergebniss<<endl;



Das ergebniss ist immer 4305161 ?

Gib mal bei den pfeilen die anführungszeichen weg.
 
Programmiersprache ist C++ ganz vergessen tut mir leid :) schonmal danke für die Hilfe ich begeb mich mal weiter auf Fehlersuche.. das ging ja echt fix
 
Code:
#include <iostream>

using namespace std;

main()
{
    int zahl1; 
    int zahl2; 
    int ergebniss; 
    int zahl4;
    
    
    cout<<"Willkommen beim Taschenrechner was wollen Sie tun?"<<endl;
    cout<<"Addition(1)"<<endl;
    cout<<"Subtraktion(2)"<<endl;
    cout<<"Division(3)"<<endl;
    cout<<"Multiplikation(4)"<<endl;
    cout<<"Auswahl: ";

    char auswahl;
    cin >> auswahl;
    
    if(auswahl == '1')    
        cout<< "Bitte geben Sie eine Zahl ein."<<endl;

    cin >> "zahl1";
    cout<< "Bitte geben Sie eine weitere Zahl ein um zu Addieren."<<endl;
    cin >> "zahl2";
    ergebniss = zahl1 + zahl2;
    cout<<"Das Ergebniss ihrer Auswahl lautet:"<<ergebniss<<endl;
    system("pause");
}

Hinweise:
Du sprichst z.B. in Zeile 26 mit cin keine Variable an. Dort steht ne Zeichenkette "zahl1"
Außerdem solltest Du noch mal gucken, wie weit Deine if-Verzweigung wirkt. Korrekt eingerückt sollte das deutlich werden.

Die Hinweise sollte Dir bei der Problemfindung weiterhelfen. Ansonsten nochma nachfragen.
 
Jbear schrieb:
Gib mal bei den pfeilen die anführungszeichen weg.

Wow DAS WARS . Großes dankeschön..
Ergänzung ()

Ja waren die Anführungszeichen wurde dadurch nicht als Eingabe deklariert wenn ich richtig denke oder? .. Ich mach dann mal die anderen Zweige weiter und melde mich ggbf nochmal. Danke
 
Kleiner Tipp noch: korrekte Rechtschreibung auch bei Variablennamen zu beachten ("ergebniss"?) beugt "unerklärlichen" Fehlern, nach denen man sich dumm und dappig sucht, vor.
 
Du musst an deiner Codequalität arbeiten! Ansatzpunkte:
  1. sprechender Code
  2. Formatierung
  3. Konsistenz
  4. Variablen so spät wie möglich deklarieren
  5. Variablen bei der Deklaration gleich initialisieren

Außerdem funktionert dein if nicht.

Ich korrigiere selbst Erstsemesterabgaben in der Programmierlernvorlesung und für sowas gibts beim ersten mal 50% Punktabzug und ab der zweiten Abgabe 0 Punkte.
 

Ähnliche Themen

Antworten
10
Aufrufe
942
Antworten
12
Aufrufe
2.103
C
  • Gesperrt
Antworten
10
Aufrufe
1.867
Antworten
27
Aufrufe
6.776
RalphS
R
Zurück
Oben