absoluter anfänger

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • absoluter anfänger

    hallo leute,

    ich soll ein c++ programm schreiben, das einen taschenrechner simuliert
    der nutzer soll nach 2 zahlen gefragt werden und welche rechenoption er durchführen möchte. es sollen jeweils mehrer rechendurchgänge nacheinander durchgeführt werden können

    die rechenoptionen sind

    - addieren
    - subtrahieren
    - multiplizieren
    - dividieren

    ich bin ne totale niete in c++, kann mir einer weiterhelfen ?

    ich danke jedem für jegliche hilfe schonmal im vorraus :)
  • das ist der code und die auszuführende datei lässt sich einfach nicht öffnen

    bitte helft mir


    #include <iostream>

    #include <conio.h>

    using namespace std;

    int main()



    {

    int a = 0;

    int Ergebnis = 0;

    int Ergebniss = 1;

    int Auswahl = 0;

    cout << " "<<endl<<endl;

    cout << " Servus"<<endl;

    cout << " Waehlen Sie die Rechenart aus!"<<endl;

    cout << " unbekannt"<<endl<<endl;

    cout << " Addieren (1)"<<endl;

    cout << " Subtrahieren (2)"<<endl;

    cout << " Multiplizieren (3)"<<endl;

    cout << " Devidiren (4)"<<endl<<endl;

    cout << " Die gewuenschte Zahl eingeben :";

    cin >> Auswahl;

    switch (Auswahl)

    {

    case 1:

    do

    {

    cout << " Bitte geben sie eine Zahl ein : ";

    cin >> a;

    Ergebnis = Ergebnis+a;

    }while (a !=0);

    cout << " "<<endl<<endl;

    cout << " Das Ergebnis lautet: " << Ergebnis << " !";

    break;





    case 2:

    do

    {

    cout << " Bitte geben sie eine Zahl ein : ";

    cin >> a;

    Ergebnis = a-Ergebnis;

    }while (a !=0);

    cout << " "<<endl<<endl;

    cout << " Das Ergebnis lautet: " << Ergebnis << " !";

    break;





    case 3:

    do

    {

    cout << " Bitte geben sie eine Zahl ein : ";

    cin >> a;

    Ergebniss = a*Ergebniss;

    }while (a !=1);

    cout << " "<<endl<<endl;

    cout << " Das Ergebnis lautet: " << Ergebnis << " !";

    break;



    case 4:

    do

    {

    cout << " Bitte geben sie eine Zahl ein : ";

    cin >> a;

    Ergebniss = Ergebniss/a;

    }while (a !=1);

    cout << " "<<endl<<endl;

    cout << " Das Ergebnis lautet: " << Ergebnis << " !";

    break;

    };





    getch();

    };
  • Hi,
    als erstes solltest du dir mal Gedanken über den Datentyp deiner Ergebnis Variablen machen.
    Da dein Rechner die Operation Division beinhaltet solltest du dich fragen ob ein Ergebnis von 1 für z.B 3/2 akzeptabel ist. :wink:

    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)
  • nein ich bin nicht aus halle :)

    also ich habe jetzt endlich einen relativ guten quellcode nur eins fehlt mir, und zwar weiß ich nicht, wie ich es hinkriege, dass das ding direkt eine nächste rechenoperation macht. das programm sollte weierlaufen und nicht nach der ersten rechnung direkt schließen

    kann mir da einer weiterhelfen ?


    //Taschenrechner C++.cpp

    #include <iostream>
    #include <math.h>


    using namespace std;

    int menu() {

    int i;


    cout << "Dies ist ein Taschenrechnerprogramm. Damit koennen sie weiterrechnen, wenn das verrunzte Gehirn nicht mehr moechte. ";
    cout << "Waehlen sie nun die Rechenart aus. Dabei benutzen Sie bitte eine Zahl zwischen 1 und 4. Und jetzt wuensche ich viel Spass, sie Mathegenie";
    cout << "\n\t<---------Taschenrechner----------->"
    << "\n\t(1) Addieren"
    << "\n\t(2) Subtrahieren"
    << "\n\t(3) Multiplizieren"
    << "\n\t(4) Diviedieren"
    << "\n\t<----------------------------------->";
    cin >> i;
    return i;
    }

    int main() {

    bool quit=false;
    int schluss;
    long double a, b;
    int aus=menu();
    do {
    switch (aus) {
    case 1:
    case 2:
    case 3:
    case 4:

    cout << "\n\n\tBitte erste Zahl eingeben";
    cin >> a;
    cout << "\n\n\tBitte zweite Zahl eingeben";
    cin >> b;
    switch(aus) {

    case 1: cout << "\n\t" << a << " + " << b << " = " << a + b << endl; break;
    case 2: cout << "\n\t" << a << " - " << b << " = " << a - b << endl; break;
    case 3: cout << "\n\t" << a << " * " << b << " = " << a * b << endl; break;
    case 4: cout << "\n\t" << a << " / " << b << " = " << a / b << endl; break;
    }
    quit=true;
    break;

    default:
    cout << "\n\tFalsche eingabe";
    break;

    }


    }while (!quit);

    cout << "\n\tBeliebige Taste und dann enter druecken zum beenden";
    cin >> schluss;

    return 0;

    }

  • Hi,
    ich geb dir mal nen ganz groben Rahmen vor:

    Quellcode

    1. #include <iostream>
    2. #include <conio.h>
    3. using namespace std;
    4. void get_operands(bool no_op1,double& op1,double& op2)
    5. {
    6. if(!no_op1)
    7. {
    8. cout<<"Ersten Operanden eingeben:";
    9. cin>>op1;
    10. }
    11. cout<<"\nZweiten Operanden eingeben:";
    12. cin>>op2;
    13. }
    14. int main()
    15. {
    16. double ergebnis=0;
    17. double operand1=0;
    18. double operand2=0;
    19. bool no_op1=false;
    20. char operation;
    21. char weiter;
    22. char erg_rechnen;
    23. do
    24. {
    25. cout<<"Tach !\nGeben sie die gewuenschte Rechenart ein (+ - * /):";
    26. cin>>operation;
    27. operand1=ergebnis;
    28. switch (operation)
    29. {
    30. case '+':
    31. {
    32. get_operands(no_op1,operand1,operand2);
    33. ergebnis = operand1 + operand2;
    34. cout<<"Das Ergebnis von "<<operand1<<operation<<operand2<<" ist:"<<ergebnis<<endl;
    35. break;
    36. }
    37. case '-':
    38. {
    39. get_operands(no_op1,operand1,operand2);
    40. ergebnis = operand1 - operand2;
    41. cout<<"Das Ergebnis von "<<operand1<<operation<<operand2<<" ist:"<<ergebnis<<endl;
    42. break;
    43. }
    44. case '*':
    45. {
    46. get_operands(no_op1,operand1,operand2);
    47. ergebnis = operand1 * operand2;
    48. cout<<"Das Ergebnis von "<<operand1<<operation<<operand2<<" ist:"<<ergebnis<<endl;
    49. break;
    50. }
    51. case '/':
    52. {
    53. get_operands(no_op1,operand1,operand2);
    54. ergebnis = operand1 / operand2;
    55. cout<<"Das Ergebnis von "<<operand1<<operation<<operand2<<" ist:"<<ergebnis<<endl;
    56. break;
    57. }
    58. default:
    59. cout<<"Unbekannte Operation!\n";
    60. }
    61. cout<<"Mit dem Ergebnis weiter rechnen?(j/n)";
    62. cin>>erg_rechnen;
    63. no_op1 = (erg_rechnen=='j' || erg_rechnen=='J');
    64. cout<<"Weiter ?(j/n)\n";
    65. cin>>weiter;
    66. }while(weiter != 'n' && weiter != 'N');
    67. getch();
    68. };
    Alles anzeigen


    Schau mal ob du damit was anfangen kannst.

    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)
  • Oder so wenn du nicht die ganzen Schritte zwischen den Rechenarten machen willst:

    Quellcode

    1. #include <iostream>
    2. #include <conio.h>
    3. using namespace std;
    4. double ergebnis = 0;
    5. double zahl = 0;
    6. char rechenzeichen;
    7. int main()
    8. {
    9. cout << "\n\n Taschenrechner v 1.1"<<endl<<"(c) BLA"<<endl<<" --------------------------- "<<endl;
    10. cout << " Das Programm ist so aufgebaut das sie als erstes eine Zahl,"<<endl<<" dann das Rechenzeichen und dann wieder eine Zahl eingeben muessen."<<endl<<" Um das Ergebnis zu erhahlten muessen sie einfach '=' eingeben"<<endl<<endl;
    11. cout << " > ";
    12. cin >> ergebnis;
    13. while (true)
    14. {
    15. cout << " > ";
    16. cin >> rechenzeichen;
    17. if (rechenzeichen == '=')
    18. {
    19. cout << "\n Das Ergebnis lautet : "<<ergebnis<<endl;
    20. break;
    21. }
    22. cout<<" > ";
    23. cin >> zahl;
    24. if (rechenzeichen == '+')
    25. {
    26. ergebnis = ergebnis + zahl;
    27. }
    28. if (rechenzeichen == '-')
    29. {
    30. ergebnis = ergebnis - zahl;
    31. }
    32. if (rechenzeichen == '/')
    33. {
    34. ergebnis = ergebnis /zahl;
    35. }
    36. if (rechenzeichen == '*')
    37. {
    38. ergebnis = ergebnis * zahl;
    39. }
    40. }
    41. cout << " --------------------------- "<<endl<<" Danke das sie mein Projekt getestet haben"<<endl<<" BLA"<<endl;
    42. getch();
    43. }
    Alles anzeigen


    Da ich den code jetzt nicht verändert habe sind meine Angaben in ihm noch vorhnden!

    mfg
    Devil[/coderwiki]

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Devil ()