C++ Rechner



  • Ich habe angefangen c++ zu lernen und habe versucht einen Rechner zu programmieren.Leider gibt es mir an einer Stelle immer einen error.Könnt ihr mir helfen?
    Hier ist der Code.

    #include <iostream>
    #include <string>
    using namespace std;

    int main()
    {
    string Zahl1;
    string Ergebnis;
    string Zeichen;
    string Zahl2;
    cout << "Zahl1:";
    cin >> Zahl1;
    cout << "Zeichen?\n";
    cin >> Zeichen;
    Ergebnis=Zahl1 << Zeichen << Zahl2;
    cout << " " << Ergebnis << endl;
    return 0;
    }


  • Mod

    Das wird vom Konzept her nie funktionieren, auch nicht wenn man die Fehler behebt. C++ ist keine dynamische Scriptsprache, du kannst nicht C++-Code zur Laufzeit erzeugen und auswerten. Du musst alles, was dein Programm können soll, vorher einprogrammieren. Du willst, dass dein Programm zwei Zahlen addieren kann? Dann führt nichts umhin, dass irgendwo im Programm tatsächlich irgendwo ein richtiges + zwischen zwei Zahlen stehen muss.

    Mit 4 Grundrechenarten ist es noch vertretbar, die alle von Hand zu programmieren, aber wenn es darüber hinaus geht, willst du völlig andere Konzepte benutzen, damit du dich nicht zu Tode programmierst. Das geht aber wahrscheinlich weit über deinen derzeitigen Horizont heraus.

    Für jetzt versuche erst einmal folgendes:

    1. Ein Programm, dass zwei Zahlen addiert, ohne dass danach gefragt wird, welche Art Rechenoperation durchgeführt werden soll
    2. Das gleiche Programm, aber mit Subtraktion
    3. Ein Programm, dass die beiden ersten kombiniert, und fragt, ob man Addition oder Subtraktion wünscht
    4. Das gleiche wie 3, aber das Programm entscheidet anhand eines eingegebenen Rechenoperators, ob Addition oder Subtraktion gewünscht ist
    5. Das gleiche wie 4, aber auch mit Multiplikation und Division

    PS: Es stellt sich die Frage, wie du überhaupt auf diesen Ansatz gekommen bist, denn den hat dir gewiss kein Lehrbuch so vorgemacht. Wie lernst du?



  • Die ersten beiden habe ich schon gemacht aber ich versuche mal das 3 und 4.Danke


Log in to reply