Probleme mit if



  • Bedanke mich jetzt schon für die Antworten 😃
    Ich wollte mir mal einen Taschenrechner programmien ( bin noob )
    und ich hab dabei Probleme mit der if Funktion.
    Ich weiß was das Problem ist nämlich, das alles was ich bei
    der cin aufforderung eingebe dann multi ist.
    Dazu kommt nach, dass es mich nur einmal fragt nach einer eingabe
    und dann alles herunterrasselt, seht es eich einfach mal selber an:
    ( bitte keine Beleidigungen, weil das Programm schlecht ist )

    #include <iostream>
    using namespace std;

    int main()
    {
    int Zahl1;
    int Zahl2;
    int multi;
    int div;
    int add;
    int sub;

    cout<<"Geben sie bitte die erste Zahl ein\n";
    cin>>Zahl1;
    cout<<"Geben sie nun bitte die zweite Zahl ein\n";
    cin>>Zahl2;
    cout<<"Schreiben sie bitte multi wenn sie multiplizieren möchten.\n";
    cin>>multi;

    if (multi==multi)
    {
    cout<<"Das Ergebnis ist "<<Zahl1*Zahl2<<"\n";
    }

    cout<<"Schreiben sie bitte div wenn sie dividieren möchten.\n";
    cin>>div;

    if (div==div)
    {
    cout<<"Das Ergebnis ist "<<Zahl1/Zahl2<<"n";
    }

    cout<<"Schreiben sie bitte add wenn sie addieren wollen";
    cin>>add;

    if (add==add)
    {
    cout<<"Das Ergebnis ist "<<Zahl1+Zahl2<<"\n";
    }

    cout<<"Schreiben sie bitte sub wenn sie subtrahieren wollen.\n";
    cin>>sub;

    if (sub==sub)
    {
    cout<<"Das Ergebnis ist "<<Zahl1-Zahl2<<"\n";
    }

    system("pause");
    }



  • Hi!

    Im Datentyp int kannst du nur ganze Zahlen speichern. Wenn du eine Zeichenkette speichern möchtest solltest du es mal mit der string-Klasse versuchen:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    void main(void) {
       string zeichenkette;
       cout << "Geben Sie 'apfel' ein: ";
       cin >> zeichenkette;
       if (zeichenkette == "apfel")
          cout << "Sie haben gewählt: Drei Gelbe Bananen" << endl;
       else
          cout " Ich habe Sie nicht verstanden." << endl;
    }
    


  • Und desweiteren: Bitte verwende die C/C++ Tags. Dadurch wird dein Code für andere um ein vielfaches lesbarer und du würdest so auch sicherlich mehr Leute finden die dir bei deinem Problem helfen könnten.

    Achja bevor ichs vergesse:

    ip schrieb:

    void main(void)
    

    besser so:

    int main()
    

    🙂



  • Vielen dank, du hast mehr sehr weitergeholfen, denn das Problem hatte ich bei anderen Programmen bereits auch. Eine peinliche Noob Frage noch:
    WAS SIND C\C++ TAGS???



  • du schreibst vor den Quellcode ein [cpp] und danach [/cpp], dann sieht das so aus wie bei ip oben. Alternativ kannst du unter dem Textfeld den knopf mit "C/C++" anklicken 😉



  • C++-totally_beginner schrieb:

    und ich hab dabei Probleme mit der if Funktion.

    Nur um zum Verständnis beizutragen: if ist stellt keine Funktion, sondern eine Abfrage dar. Man kann es (mit dem zugehörigen Block) auch als Anweisung sehen.

    C++-totally_beginner schrieb:

    if (multi==multi)
    	if (div==div)
    	if (add==add)
    	if (sub==sub)
    

    Abfragen auf sich selber machen keinen Sinn, da sie immer true zurückgeben (ich sehe mal von NaNs ab).

    C++-totally_beginner schrieb:

    system("pause");
    

    Mit system() solltest du deswegen vorsichtig sein.


Log in to reply