Eingabeaufforderung in C++



  • Guten Nachmittag
    Ich habe ein Problem bei C++:
    Mein Programm soll entweder 2 Zahlen mutliplizieren, wenn ich die Taste q eingebe, oder 3 Zahlen muliplizieren,wenn ich die Taste k eingebe

    Ich habe auch schon folgendes Programm geschrieben:

    # include <iostream.h>

    double Quadrat (double x, double y){
    cout << "Die Funktion Quadrat multipliziert "<<x<< " und " <<y<<

    "\n\n";

    return (x*y);

    }

    double Kubik (double x, double y, double z){
    cout << "Die Funktion Kubik multipliziert "<<x<< " , " <<y<< " und " <<z<<

    "\n\n";

    return (x*y*z);

    }

    int main() {

    cout <<"Bitte geben sie q ein wenn sie 2 Zahlen multiplizieren wollen und k \n";
    cout << "wenn sie 3 Zahlen multiplizieren wollen \n";

    double a,b,c;
    cout << "Bitte geben sie zwei beliebige Zahlen ein:\n";

    cin >> a;
    cin >> b;
    cout << "\n";

    c = Quadrat(a, b);

    cout << "Das Ergebnis lautet: "<<c<<"\n";

    return 0;

    }

    Ich habe auch schon die beiden Funktionen festgelegt, frage mich jetzt aber nur was bzw. welchen Befehl ich beim Quellcode schreiben eingeben soll, damit mir das Programm entweder 2 oder 3 zahlen multipliziert.


  • Mod

    Versuch's mal mit "if".

    http://www.google.com/#&q=c%2B%2B+if



  • Das dachte ich mir auch schon, allerdings habe ich mit if-Verzweigungen (wir behandeln das in der Schule) nur in verbindung mit zahlen auseinandergesetzt, sprich irgendwelchen Intervallen in denen etwas bestimmtes ausgegeben wird.
    Ich weiß deswegen nicht, wie ich die if Anweisung erstellen muss, damit er z.b. beim Drücken der Taste k
    ausgibt, das ich drei zahlen eingeben soll.


  • Mod

    Du brauchst einen Datentyp um Buchstaben zu behandeln. Eines dieser beiden Konstrukte müsstet ihr in der Schule schon gehabt haben: char und std::string. char steht für einen einzelnen Buchstaben, std::string für eine Zeichenkette. ifstreams wie cin kennen einen Operator >> um Werte für diese Typen einzulesen, genauso wie du das jetzt mit double-Werten machst. Beide kennen auch die Vergleichsoperatoren ==, !=, >, <, >= und <= mit denen du Bedingungen für die if-Verzweigung erstellen kannst.

    Das letzte, was du noch wissen musst, ist, dass einzelne Zeichen im Quelltext mit einfachen Anführungszeichen markiert werden (z.B. 'k') und Zeichenketten mit doppelten Anführungszeichen (z.B. "Hallo").



  • Da Magus schrieb:

    Das dachte ich mir auch schon, allerdings habe ich mit if-Verzweigungen (wir behandeln das in der Schule) nur in verbindung mit zahlen auseinandergesetzt, sprich irgendwelchen Intervallen in denen etwas bestimmtes ausgegeben wird.
    Ich weiß deswegen nicht, wie ich die if Anweisung erstellen muss, damit er z.b. beim Drücken der Taste k
    ausgibt, das ich drei zahlen eingeben soll.

    Zu lernen mit Buchstaben umzugehen ist natürlich besser, aber was hindert dich daran q und k z.B. durch 1 und 2 zu ersetzen?...



  • von mir aus nichts, allerdings verlangt eines der Aufgaben die uns der Lehrer zur Übung aufgegeben hat das man entweder q oder k drücken muss.
    Wie müsste ich dann die if anweisung schreiben?



  • #include <iostream> // übrigens ohne .h
    #include <string>
    
    using namespace std;
    
    int main()
    {
      string input;
      cin >> input;
      if (input == "k")
      // irgendwas
      else if (input == "q")
      // irgendwas anderes
    }
    

    bnz



  • char c;
        cout<<"Gibt q oder k ein, du Bitch: ";
        cin>>c;
    
    	if(c==113)
    	{
    		cout<<"q";
    	}
    	if(c==107)
    	{
    		cout<<"k";
    	}
    


  • Danke bnz hat geklappt mit deiner Hilfe


Anmelden zum Antworten