kleiner Taschenrechner in C++

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

  • kleiner Taschenrechner in C++

    hi soll einen Taschenrechner in C++ schreiben.

    Habe folgenden Quelltext erstellt:

    Quellcode

    1. #include <iostream>
    2. using namespace std;
    3. int main ()
    4. {
    5. Schleife1:
    6. int zeichen;
    7. cout << " " << endl;
    8. cout << "Geben Sie die Rechenart ein ( (1) -> + (2) -> - (3) -> * (4) -> / ) ";
    9. cin >> zeichen;
    10. if ((zeichen >= 1) && (zeichen <=4))
    11. {
    12. cout << " " << endl;
    13. int anzahl;
    14. cout << "Geben Sie die Anzahl der Operanden ein: " ;
    15. cin >> anzahl;
    16. int eins;
    17. cout << "Geben Sie den ersten Operanden ein: ";
    18. cin >> eins;
    19. cout << " " << endl;
    20. int zwei;
    21. cout << "Geben Sie den zweiten Operanden ein: ";
    22. cin >> zwei;
    23. cout << " " << endl;
    24. int ergebnis;
    25. if (zeichen==1)
    26. {
    27. ergebnis = eins+zwei;
    28. cout << eins << " + " << zwei << " = " << ergebnis << endl;
    29. }
    30. if (zeichen==2)
    31. {
    32. ergebnis = eins-zwei; cout << eins << " - " << zwei << " = " << ergebnis << endl;
    33. }
    34. if (zeichen==3)
    35. {
    36. ergebnis = eins*zwei; cout << eins << " * " << zwei << " = " << ergebnis << endl;
    37. }
    38. if (zeichen==4)
    39. {
    40. ergebnis = eins/zwei; cout << eins << " / " << zwei << " = " << ergebnis << endl;
    41. }
    42. }
    43. else goto Schleife1;
    44. system ("pause");
    45. }
    Alles anzeigen


    Funktioniert auch, nur weiß ich nicht wie ich das mit der Anzahl der Operanden hinbekommen soll, ich kann doch nicht jeden Fall extra deklarieren... Was ist denn wenn jemand mit 100 Operanden rechnen will :roll: Außerdem habe ich nicht überprüft ob die Eingabe zulässig (nur natürliche Zahlen) ist!

    lG

    cewbie
  • Aufgabe 2 (Punkte: 5)
    Schreiben Sie ein C++ Programm, welches einen einfachen Taschenrechner simuliert. Gehen
    Sie dabei folgendermaßen vor: Lesen Sie als erstens den arithmetischen Operator ein. Lesen
    Sie dann die benötigten Operanden in Variablen vom Typ int ein. Prüfen Sie vor der Berechnung,
    ob diese mit den eingelesenen Werten zulässig ist. Als Operationen sollen + (Addition),
    - (Subtraktion), * (Multiplikation) und / (Division) möglich sein.
    Geben Sie das Ergebnis der Berechnung in folgender Form aus:
    Operand1 Operator Operand2 = Ergebnis


    Gruß

    cewbie
  • Dann ist doch alles ok.
    Der Taschenrechner soll doch nur mit 2 Operanden arbeiten.
    Hätte mich ehrlich gesagt auch gewundert,wenn nicht.
    Sonst wäre nämlich nen Parsebaum angesagt,der eigentlich eher im Informatikstudium als in Programmieranfängeraufgaben Platz findet.

    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)
  • "void" schrieb:

    Dann ist doch alles ok.
    Der Taschenrechner soll doch nur mit 2 Operanden arbeiten.
    Hätte mich ehrlich gesagt auch gewundert,wenn nicht.
    Sonst wäre nämlich nen Parsebaum angesagt,der eigentlich eher im Informatikstudium als in Programmieranfängeraufgaben Platz findet.

    Gruß void


    ähm ist Informatikstudium :oops:

    Hab jetzt:

    Quellcode

    1. #include <iostream>
    2. using namespace std;
    3. int main ()
    4. {
    5. Schleife1:
    6. int zeichen;
    7. cout << " " << endl;
    8. cout << "Geben Sie die Rechenart ein ( (1) -> + (2) -> - (3) -> * (4) -> / )" << endl;
    9. cout << ", nur Zahlen groesser als 0 werden aktzeptiert. ";
    10. cin >> zeichen;
    11. if ((zeichen >= 1) && (zeichen <=4))
    12. {
    13. cout << " " << endl;
    14. OP1:
    15. cout << "Operandeneingabe - nur Zahlen groesser als 0 werden aktzeptiert. " << endl;
    16. int eins;
    17. cout << "Geben Sie den ersten Operanden ein: ";
    18. cin >> eins;
    19. cout << " " << endl;
    20. if (eins>=1)
    21. {
    22. OP2:
    23. int zwei;
    24. cout << "Geben Sie den zweiten Operanden ein: ";
    25. cin >> zwei;
    26. cout << " " << endl;
    27. if (zwei>=1)
    28. {
    29. int ergebnis;
    30. if (zeichen==1)
    31. {
    32. ergebnis = eins+zwei;
    33. cout << eins << " + " << zwei << " = " << ergebnis << endl;
    34. }
    35. if (zeichen==2)
    36. {
    37. ergebnis = eins-zwei; cout << eins << " - " << zwei << " = " << ergebnis << endl;
    38. }
    39. if (zeichen==3)
    40. {
    41. ergebnis = eins*zwei; cout << eins << " * " << zwei << " = " << ergebnis << endl;
    42. }
    43. if (zeichen==4)
    44. {
    45. ergebnis = eins/zwei; cout << eins << " / " << zwei << " = " << ergebnis << endl;
    46. }
    47. }
    48. else goto Schleife1;
    49. }
    50. else goto OP1;
    51. }
    52. else goto OP1;
    53. system ("pause");
    54. }
    Alles anzeigen


    naja es geht. Besonders toll ist es nicht
  • "cewbie" schrieb:


    ähm ist Informatikstudium :oops:

    :oops: :roll: :oops: :roll:
    oooops

    Naja wie dem auch sei,
    deine goto´s sind falsch angeordnet.

    Quellcode

    1. #include <iostream>
    2. using namespace std;
    3. int main ()
    4. {
    5. Schleife1:
    6. int zeichen;
    7. cout << " " << endl;
    8. cout << "Geben Sie die Rechenart ein ( (1) -> + (2) -> - (3) -> * (4) -> / ) ";
    9. cin >> zeichen;
    10. if ((zeichen >= 1) && (zeichen <=4))
    11. {
    12. cout << " " << endl;
    13. OP1:
    14. int eins;
    15. cout << "Geben Sie den ersten Operanden ein: ";
    16. cin >> eins;
    17. cout << " " << endl;
    18. if (eins>=1)
    19. {
    20. OP2:
    21. int zwei;
    22. cout << "Geben Sie den zweiten Operanden ein: ";
    23. cin >> zwei;
    24. cout << " " << endl;
    25. if (zwei>=1)
    26. {
    27. int ergebnis;
    28. if (zeichen==1)
    29. {
    30. ergebnis = eins+zwei;
    31. cout << eins << " + " << zwei << " = " << ergebnis << endl;
    32. }
    33. if (zeichen==2)
    34. {
    35. ergebnis = eins-zwei; cout << eins << " - " << zwei << " = " << ergebnis << endl;
    36. }
    37. if (zeichen==3)
    38. {
    39. ergebnis = eins*zwei; cout << eins << " * " << zwei << " = " << ergebnis << endl;
    40. }
    41. if (zeichen==4)
    42. {
    43. ergebnis = eins/zwei; cout << eins << " / " << zwei << " = " << ergebnis << endl;
    44. }
    45. }
    46. else goto OP2;
    47. }
    48. else goto OP1;
    49. }
    50. else goto Schleife1;
    51. system ("pause");
    52. }
    Alles anzeigen

    Generell solltest du gotos vermeiden.Es gibt eigentlich so gut wie immer eine entsprechende saubere Lösung.
    Was man eventuell noch gelten lassen kann ist nen Sprung ganz ganz tief raus aus ner gaaaanz tief verschachtelten Schleife,aber ansonsten....ich hab schon ewig kein goto mehr benötigt.
    Habt ihr im Studium schon Programmteile nach dem Hoare-Kalkül verifiziert?
    Jedes goto wirft dich da zurück....
    Oder Kontrollflussdiagramme im Zusammenhang mit Testverfahren?Genau der gleiche Mist.
    Ach ja,ne halbwegs vernünftige Codeformatierung hilft übrigens solche Fehler zu finden :wink: .

    PS:Also ich denke sonderlich glücklich wird dein Prof mit der Lösung nicht sein.

    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)
  • Hallo wir haben letztes Mal erst mal Hello world und so gemacht ^^
    Deshalb wird das wohl reichen ;) Aber danke ich werds so ändern, dass die GO TOs passen.
    Wir haben auch nur 2 Wochenstunden Programmierung und 2 Wochenstunden Programmierung Vorlesung, müssen aber jede Wochen Aufgaben abgeben. Diese Woche sinds 3, das war eine davon :roll:
  • 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 ?

    Quellcode

    1. //Taschenrechner C++.cpp
    2. #include <iostream>
    3. #include <math.h>
    4. using namespace std;
    5. int menu() {
    6. int i;
    7. cout << "Dies ist ein Taschenrechnerprogramm. Damit koennen sie weiterrechnen, wenn das verrunzte Gehirn nicht mehr moechte. ";
    8. 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";
    9. cout << "\n\t<---------Taschenrechner----------->"
    10. << "\n\t(1) Addieren"
    11. << "\n\t(2) Subtrahieren"
    12. << "\n\t(3) Multiplizieren"
    13. << "\n\t(4) Diviedieren"
    14. << "\n\t<----------------------------------->";
    15. cin >> i;
    16. return i;
    17. }
    18. int main() {
    19. bool quit=false;
    20. int schluss;
    21. long double a, b;
    22. int aus=menu();
    23. do {
    24. switch (aus) {
    25. case 1:
    26. case 2:
    27. case 3:
    28. case 4:
    29. cout << "\n\n\tBitte erste Zahl eingeben";
    30. cin >> a;
    31. cout << "\n\n\tBitte zweite Zahl eingeben";
    32. cin >> b;
    33. switch(aus) {
    34. case 1: cout << "\n\t" << a << " + " << b << " = " << a + b << endl; break;
    35. case 2: cout << "\n\t" << a << " - " << b << " = " << a - b << endl; break;
    36. case 3: cout << "\n\t" << a << " * " << b << " = " << a * b << endl; break;
    37. case 4: cout << "\n\t" << a << " / " << b << " = " << a / b << endl; break;
    38. }
    39. quit=true;
    40. break;
    41. default:
    42. cout << "\n\tFalsche eingabe";
    43. break;
    44. }
    45. }while (!quit);
    46. cout << "\n\tBeliebige Taste und dann enter druecken zum beenden";
    47. cin >> schluss;
    48. return 0;
    49. }
    Alles anzeigen
  • Hier noch eine Variante eines einfachen Taschenrechners:

    Quellcode

    1. // Taschenrechner simpel
    2. // ToDo:
    3. // Operanten -> int oder besser ?
    4. // Bei der Division Sicherheitsabfrage einfügen!
    5. // Wenn der Rechner mehr leisten soll, dann ergaenzt ihn
    6. #include <iostream>
    7. using namespace std;
    8. int main ()
    9. {
    10. int zeichen;
    11. int O1, O2;
    12. bool bigloop;
    13. do
    14. {
    15. cout << "Bitte geben Sie den 1. Operanten ein: ";
    16. cin >> O1;
    17. bool loop = false;
    18. do
    19. {
    20. cout << "Geben Sie die Rechenart ein ( (1) -> + (2) -> - (3) -> * (4) -> / )" << endl;
    21. cout << ", nur Zahlen von 1 bis 4 werden aktzeptiert. ";
    22. cin >> zeichen;
    23. if ((zeichen >= 1) && (zeichen <=4))
    24. {
    25. loop = true;
    26. }
    27. else
    28. {
    29. cout << endl << " Rechenart nicht implementiert" << endl;
    30. }
    31. }while(!loop);
    32. cout << "Bitte geben Sie den 2. Operanten ein: ";
    33. cin >> O2;
    34. cout << endl;
    35. switch(zeichen)
    36. {
    37. case 1: cout << O1 << " + " << O2 << " = " << O1 + O2 << endl; break;
    38. case 2: cout << O1 << " - " << O2 << " = " << O1 - O2 << endl; break;
    39. case 3: cout << O1 << " * " << O2 << " = " << O1 * O2 << endl; break;
    40. case 4: cout << O1 << " / " << O2 << " = " << O1 / O2 << endl; break;
    41. default: cout << "\n\tSomething go's wrong";
    42. break;
    43. }
    44. bigloop = true;
    45. cout << endl << " Zeichen eingeben - 9 für neue Aufgabe" << endl; // statt der 9 etwa in J/N oder Y/N aendern
    46. cin >> zeichen;
    47. if (zeichen == 9)
    48. {
    49. bigloop = false;
    50. }
    51. }while(!bigloop);
    52. }
    Alles anzeigen
  • hir der quelcode zum anschauen

    Quellcode

    1. #include <cstdlib>
    2. #include <iostream>
    3. using namespace std;
    4. double func (double *zahl1, double *pzahl2);
    5. double potenz(double a,double b);
    6. int main()
    7. {string exit;
    8. do{
    9. int auswahl;
    10. cout<<"-------------------\n";
    11. cout<<"Mein Taschenrechner\n";
    12. cout<<"-------------------\n";
    13. cout<<"\nWaehlen Sie aus : \n";
    14. cout<<"(1) Addition\n";
    15. cout<<"(2) Multiplikation\n";
    16. cout<<"(3) Division\n";
    17. cout<<"(4) Subtraktion\n";
    18. cout<<"(5) Potenzrechnung\n";
    19. cout<<"(6) Exit\n";
    20. cin>>auswahl;
    21. system("cls");
    22. switch (auswahl)
    23. {
    24. case 1:
    25. {
    26. double zahl1,zahl2;
    27. double *pzahl1=&zahl1;
    28. double *pzahl2=&zahl2;
    29. func(&zahl1,&zahl2);
    30. cout<<"Das Ergebniss betraegt : "<<*pzahl1 + *pzahl2<<endl;
    31. system("pause");
    32. system("cls");
    33. break;
    34. }
    35. case 2:
    36. {
    37. double zahl1,zahl2;
    38. double *pzahl1=&zahl1;
    39. double *pzahl2=&zahl2;
    40. func(&zahl1,&zahl2);
    41. cout<<"Das Ergebniss betraegt : "<<*pzahl1 * *pzahl2<<endl;
    42. system("pause");
    43. system("cls");
    44. break;
    45. }
    46. case 3:
    47. {
    48. double zahl1,zahl2;
    49. double *pzahl1=&zahl1;
    50. double *pzahl2=&zahl2;
    51. func(&zahl1,&zahl2);
    52. cout<<"Das Ergebniss betraegt : "<<*pzahl1 / *pzahl2<<endl;
    53. system("pause");
    54. system("cls");
    55. break;
    56. }
    57. case 4:
    58. {
    59. double zahl1,zahl2;
    60. double *pzahl1=&zahl1;
    61. double *pzahl2=&zahl2;
    62. func(&zahl1,&zahl2);
    63. cout<<"Das Ergebniss betraegt : "<<*pzahl1 - *pzahl2<<endl;
    64. system("pause");
    65. system("cls");
    66. break;
    67. }
    68. case 5:
    69. {
    70. double a,b;
    71. cout<<"Bitte geben Sie eine Zahl ein :";
    72. cin>>a;
    73. cout<<"Geben Sie die Potenz an :";
    74. cin>>b;
    75. cout<<"Das Ergebniss betraegt : "<<potenz(a,b)<<endl;
    76. system("pause");
    77. system("cls");
    78. break;
    79. }
    80. case 6:
    81. return 0;
    82. default:
    83. cout<<"Falsche Eingabe!\n";
    84. }
    85. cout<<"Moechten Sie das Programm beenden j/n ? :";
    86. cin>>exit;
    87. system("cls");
    88. }
    89. while (exit=="n");
    90. }
    91. //////////////////////////////
    92. double potenz (double a,double b)
    93. {
    94. if (b==0)
    95. return 1;
    96. else
    97. return a * potenz(a,b-1);
    98. }
    99. //////////////////////////////////
    100. double func (double *pzahl1,double *pzahl2)
    101. {
    102. cout<<"Bitte Geben Sie die erste Zahl ein :";
    103. cin>>*pzahl1;
    104. cout<<"Bitte Geben Sie die zweite Zahl ein :";
    105. cin>>*pzahl2;
    106. }
    Alles anzeigen
  • Hallo Leute hab noch nen Bissel Rumgebastelt und den Rechner Verbessert hier der Quellcode

    Quellcode

    1. #include <cstdlib>
    2. #include <iostream>
    3. using namespace std;
    4. double prozent1 (double w,double p);
    5. double prozent2 (double g,double p);
    6. double prozent3 (double w,double g);
    7. double func (double *zahl1, double *pzahl2);
    8. double potenz(double a,double b);
    9. int main()
    10. {string exit;
    11. do{
    12. int auswahl;
    13. cout<<"-------------------\n";
    14. cout<<"Mein Taschenrechner\n";
    15. cout<<"-------------------\n";
    16. cout<<"\nWaehlen Sie aus : \n";
    17. cout<<"(1) Addition\n";
    18. cout<<"(2) Multiplikation\n";
    19. cout<<"(3) Division\n";
    20. cout<<"(4) Subtraktion\n";
    21. cout<<"(5) Potenzrechnung\n";
    22. cout<<"(6) Prozentrechnung\n";
    23. cout<<"(7) Exit\n";
    24. cin>>auswahl;
    25. system("cls");
    26. switch (auswahl)
    27. {
    28. case 1:
    29. {
    30. double zahl1,zahl2;
    31. double *pzahl1=&zahl1;
    32. double *pzahl2=&zahl2;
    33. func(&zahl1,&zahl2);
    34. cout<<"Das Ergebniss betraegt : "<<*pzahl1 + *pzahl2<<endl;
    35. system("pause");
    36. system("cls");
    37. break;
    38. }
    39. case 2:
    40. {
    41. double zahl1,zahl2;
    42. double *pzahl1=&zahl1;
    43. double *pzahl2=&zahl2;
    44. func(&zahl1,&zahl2);
    45. cout<<"Das Ergebniss betraegt : "<<*pzahl1 * *pzahl2<<endl;
    46. system("pause");
    47. system("cls");
    48. break;
    49. }
    50. case 3:
    51. {
    52. double zahl1,zahl2;
    53. double *pzahl1=&zahl1;
    54. double *pzahl2=&zahl2;
    55. func(&zahl1,&zahl2);
    56. cout<<"Das Ergebniss betraegt : "<<*pzahl1 / *pzahl2<<endl;
    57. system("pause");
    58. system("cls");
    59. break;
    60. }
    61. case 4:
    62. {
    63. double zahl1,zahl2;
    64. double *pzahl1=&zahl1;
    65. double *pzahl2=&zahl2;
    66. func(&zahl1,&zahl2);
    67. cout<<"Das Ergebniss betraegt : "<<*pzahl1 - *pzahl2<<endl;
    68. system("pause");
    69. system("cls");
    70. break;
    71. }
    72. case 5:
    73. {
    74. double a,b;
    75. cout<<"Bitte geben Sie eine Zahl ein :";
    76. cin>>a;
    77. cout<<"Geben Sie die Potenz an :";
    78. cin>>b;
    79. cout<<"Das Ergebniss betraegt : "<<potenz(a,b)<<endl;
    80. system("pause");
    81. system("cls");
    82. break;
    83. }
    84. case 6:
    85. {int aus;
    86. cout<<"Was moechten Sie Berechnen?\nWaehlen Sie aus:\n";
    87. cout<<"(1) Grundwert [G]\n";
    88. cout<<"(2) Prozentwert [W]\n";
    89. cout<<"(3) Prozentsatz [p]\n";
    90. cin>>aus;
    91. system("cls");
    92. switch (aus)
    93. {
    94. case 1:
    95. { double w,p;
    96. cout<<"bitte geben Sie den Prozentwert W ein: ";
    97. cin>>w;
    98. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    99. cin>>p;
    100. cout<<"G= 100*p/W = "<<prozent1(w,p)<<"\n";
    101. system("pause");
    102. system("cls");
    103. break;
    104. }
    105. case 2:
    106. {
    107. double p,g;
    108. cout<<"bitte geben Sie den Grundwert G ein: ";
    109. cin>>g;
    110. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    111. cin>>p;
    112. cout<<"W= G*p/100 = "<<prozent2(p,g)<<"\n";
    113. system("pause");
    114. system("cls");
    115. break;
    116. }
    117. case 3:
    118. {
    119. double w,g;
    120. cout<<"bitte geben Sie den Grundwert G ein: ";
    121. cin>>g;
    122. cout<<"bitte geben Sie den Prozentwert W ein: ";
    123. cin>>w;
    124. cout<<"p= 100*W/G = "<<prozent3(w,g)<<" %\n";
    125. system("pause");
    126. system("cls");
    127. break;
    128. }
    129. }
    130. break;
    131. }
    132. case 7:
    133. return 0;
    134. default:
    135. cout<<"Falsche Eingabe!\n";
    136. }
    137. cout<<"Moechten Sie das Programm beenden j/n ? :";
    138. cin>>exit;
    139. system("cls");
    140. }
    141. while (exit=="n");
    142. }
    143. //////////////////////////////
    144. double potenz (double a,double b)
    145. {
    146. if (b==0)
    147. return 1;
    148. else
    149. return a * potenz(a,b-1);
    150. }
    151. //////////////////////////////////
    152. double func (double *pzahl1,double *pzahl2)
    153. {
    154. cout<<"Bitte Geben Sie die erste Zahl ein :";
    155. cin>>*pzahl1;
    156. cout<<"Bitte Geben Sie die zweite Zahl ein :";
    157. cin>>*pzahl2;
    158. }
    159. ///////////////////////////////////
    160. double prozent1 (double w,double p)
    161. {
    162. return 100*p/w;
    163. }
    164. ////////////////////////////////////////
    165. double prozent2 (double g,double p)
    166. {
    167. return g*p/100;
    168. }
    169. /////////////////////////////////////////
    170. double prozent3 (double w,double g)
    171. {
    172. return 100*w/g;
    173. }
    Alles anzeigen
    Dateien
  • Ich hab mal ein bisschen aufgeraeumt:

    Quellcode

    1. #include <cstdlib>
    2. #include <iostream>
    3. #include <string>
    4. using namespace std;
    5. double prozent1 (double w,double p);
    6. double prozent2 (double g,double p);
    7. double prozent3 (double w,double g);
    8. void func (double *zahl1, double *pzahl2);
    9. double potenz(double a,double b);
    10. int main()
    11. {
    12. string exit;
    13. double zahl1,zahl2;
    14. do{
    15. int auswahl;
    16. cout<<"-------------------\n";
    17. cout<<"Mein Taschenrechner\n";
    18. cout<<"-------------------\n";
    19. cout<<"\nWaehlen Sie aus : \n";
    20. cout<<"(1) Addition\n";
    21. cout<<"(2) Multiplikation\n";
    22. cout<<"(3) Division\n";
    23. cout<<"(4) Subtraktion\n";
    24. cout<<"(5) Potenzrechnung\n";
    25. cout<<"(6) Prozentrechnung\n";
    26. cout<<"(7) Exit\n";
    27. cin>>auswahl;
    28. system("cls");
    29. switch (auswahl)
    30. {
    31. case 1:
    32. func(&zahl1,&zahl2);
    33. cout<<"Das Ergebnis betraegt : "<<(zahl1 + zahl2)<<endl;
    34. break;
    35. case 2:
    36. func(&zahl1,&zahl2);
    37. cout<<"Das Ergebnis betraegt : "<<(zahl1 * zahl2)<<endl;
    38. break;
    39. case 3:
    40. func(&zahl1,&zahl2);
    41. cout<<"Das Ergebnis betraegt : "<<(zahl1 / zahl2)<<endl;
    42. break;
    43. case 4:
    44. func(&zahl1,&zahl2);
    45. cout<<"Das Ergebnis betraegt : "<<(zahl1 - zahl2)<<endl;
    46. break;
    47. case 5:
    48. cout<<"Bitte geben Sie eine Zahl ein :";
    49. cin>>zahl1;
    50. cout<<"Geben Sie die Potenz an :";
    51. cin>>zahl2;
    52. cout<<"Das Ergebnis betraegt : "<<potenz(zahl1,zahl2)<<endl;
    53. break;
    54. case 6:
    55. int aus;
    56. cout<<"Was moechten Sie Berechnen?\nWaehlen Sie aus:\n";
    57. cout<<"(1) Grundwert [G]\n";
    58. cout<<"(2) Prozentwert [W]\n";
    59. cout<<"(3) Prozentsatz [p]\n";
    60. cin>>aus;
    61. system("cls");
    62. switch (aus)
    63. {
    64. case 1:
    65. {
    66. double w,p;
    67. cout<<"bitte geben Sie den Prozentwert W ein: ";
    68. cin>>w;
    69. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    70. cin>>p;
    71. cout<<"G= 100*p/W = "<<prozent1(w,p)<<"\n";
    72. break;
    73. }
    74. case 2:
    75. {
    76. double p,g;
    77. cout<<"bitte geben Sie den Grundwert G ein: ";
    78. cin>>g;
    79. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    80. cin>>p;
    81. cout<<"W= G*p/100 = "<<prozent2(p,g)<<"\n";
    82. break;
    83. }
    84. case 3:
    85. {
    86. double w,g;
    87. cout<<"bitte geben Sie den Grundwert G ein: ";
    88. cin>>g;
    89. cout<<"bitte geben Sie den Prozentwert W ein: ";
    90. cin>>w;
    91. cout<<"p= 100*W/G = "<<prozent3(w,g)<<" %\n";
    92. break;
    93. }
    94. }
    95. break;
    96. case 7:
    97. return 0;
    98. }
    99. if (auswahl < 1 || auswahl > 7)
    100. cout<<"Falsche Eingabe!\n";
    101. else
    102. {
    103. system("pause");
    104. system("cls");
    105. }
    106. cout<<"Moechten Sie das Programm beenden j/n ? :";
    107. cin>>exit;
    108. system("cls");
    109. } while (exit=="n");
    110. return 0;
    111. }
    112. //////////////////////////////
    113. double potenz (double a,double b)
    114. {
    115. if (b==0)
    116. return 1;
    117. else
    118. return a * potenz(a,b-1);
    119. }
    120. //////////////////////////////////
    121. void func (double *pzahl1,double *pzahl2)
    122. {
    123. cout<<"Bitte Geben Sie die erste Zahl ein :";
    124. cin>>*pzahl1;
    125. cout<<"Bitte Geben Sie die zweite Zahl ein :";
    126. cin>>*pzahl2;
    127. }
    128. ///////////////////////////////////
    129. double prozent1 (double w,double p)
    130. {
    131. return 100*p/w;
    132. }
    133. ////////////////////////////////////////
    134. double prozent2 (double g,double p)
    135. {
    136. return g*p/100;
    137. }
    138. /////////////////////////////////////////
    139. double prozent3 (double w,double g)
    140. {
    141. return 100*w/g;
    142. }
    Alles anzeigen
  • Sorry Leute hab noch nen Fehler in der Prozentrechnung gefunden hier ists richtig


    Quellcode

    1. #include <cstdlib>
    2. #include <iostream>
    3. #include <string>
    4. using namespace std;
    5. double prozent1 (double w,double p);
    6. double prozent2 (double g,double p);
    7. double prozent3 (double w,double g);
    8. void func (double *zahl1, double *pzahl2);
    9. double potenz(double a,double b);
    10. int main()
    11. {
    12. string exit;
    13. double zahl1,zahl2;
    14. do{
    15. int auswahl;
    16. cout<<"-------------------\n";
    17. cout<<"Mein Taschenrechner\n";
    18. cout<<"-------------------\n";
    19. cout<<"\nWaehlen Sie aus : \n";
    20. cout<<"(1) Addition\n";
    21. cout<<"(2) Multiplikation\n";
    22. cout<<"(3) Division\n";
    23. cout<<"(4) Subtraktion\n";
    24. cout<<"(5) Potenzrechnung\n";
    25. cout<<"(6) Prozentrechnung\n";
    26. cout<<"(7) Exit\n";
    27. cin>>auswahl;
    28. system("cls");
    29. switch (auswahl)
    30. {
    31. case 1:
    32. func(&zahl1,&zahl2);
    33. cout<<"Das Ergebnis betraegt : "<<(zahl1 + zahl2)<<endl;
    34. break;
    35. case 2:
    36. func(&zahl1,&zahl2);
    37. cout<<"Das Ergebnis betraegt : "<<(zahl1 * zahl2)<<endl;
    38. break;
    39. case 3:
    40. func(&zahl1,&zahl2);
    41. cout<<"Das Ergebnis betraegt : "<<(zahl1 / zahl2)<<endl;
    42. break;
    43. case 4:
    44. func(&zahl1,&zahl2);
    45. cout<<"Das Ergebnis betraegt : "<<(zahl1 - zahl2)<<endl;
    46. break;
    47. case 5:
    48. cout<<"Bitte geben Sie eine Zahl ein :";
    49. cin>>zahl1;
    50. cout<<"Geben Sie die Potenz an :";
    51. cin>>zahl2;
    52. cout<<"Das Ergebnis betraegt : "<<potenz(zahl1,zahl2)<<endl;
    53. break;
    54. case 6:
    55. int aus;
    56. cout<<"---------------------------\n";
    57. cout<<"Was moechten Sie Berechnen?\n"
    58. cout<<"---------------------------\n"<<"Waehlen Sie aus:\n";
    59. cout<<"(1) Grundwert [G]\n";
    60. cout<<"(2) Prozentwert [W]\n";
    61. cout<<"(3) Prozentsatz [p]\n";
    62. cin>>aus;
    63. system("cls");
    64. switch (aus)
    65. {
    66. case 1:
    67. double w,p;
    68. cout<<"bitte geben Sie den Prozentwert W ein: ";
    69. cin>>w;
    70. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    71. cin>>p;
    72. cout<<"G= 100*W/p = "<<prozent1(w,p)<<"\n";
    73. break;
    74. case 2:
    75. {
    76. double p,g;
    77. cout<<"bitte geben Sie den Grundwert G ein: ";
    78. cin>>g;
    79. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    80. cin>>p;
    81. cout<<"W= G*p/100 = "<<prozent2(p,g)<<"\n";
    82. break;
    83. }
    84. case 3:
    85. {
    86. double w,g;
    87. cout<<"bitte geben Sie den Grundwert G ein: ";
    88. cin>>g;
    89. cout<<"bitte geben Sie den Prozentwert W ein: ";
    90. cin>>w;
    91. cout<<"p= 100*W/G = "<<prozent3(w,g)<<" %\n";
    92. break;
    93. }
    94. }
    95. break;
    96. case 7:
    97. return 0;
    98. default:
    99. cout<<"Falsche Eingabe!\n";
    100. }
    101. cout<<"Moechten Sie das Programm beenden j/n ? :";
    102. cin>>exit;
    103. system("cls");
    104. } while (exit=="n");
    105. return 0;
    106. }
    107. //////////////////////////////
    108. double potenz (double a,double b)
    109. {
    110. if (b==0)
    111. return 1;
    112. else
    113. return a * potenz(a,b-1);
    114. }
    115. //////////////////////////////////
    116. void func (double *pzahl1,double *pzahl2)
    117. {
    118. cout<<"Bitte Geben Sie die erste Zahl ein :";
    119. cin>>*pzahl1;
    120. cout<<"Bitte Geben Sie die zweite Zahl ein :";
    121. cin>>*pzahl2;
    122. }
    123. ///////////////////////////////////
    124. double prozent1 (double w,double p)
    125. {
    126. return 100*w/p;
    127. }
    128. ////////////////////////////////////////
    129. double prozent2 (double g,double p)
    130. {
    131. return g*p/100;
    132. }
    133. /////////////////////////////////////////
    134. double prozent3 (double w,double g)
    135. {
    136. return 100*w/g;
    137. }
    Alles anzeigen
  • Hallo da bin ich wieder, hab noch ein paar feinheiten gemacht und den Rechner fertig

    Quellcode

    1. #include <cstdlib>
    2. #include <iostream>
    3. #include <string>
    4. #include <conio.h>
    5. using namespace std;
    6. double prozent1 (double w,double p);
    7. double prozent2 (double g,double p);
    8. double prozent3 (double w,double g);
    9. double func (double *zahl1, double *pzahl2);
    10. double potenz(double a,double b);
    11. int main()
    12. { string exit;
    13. double zahl1,zahl2;
    14. do
    15. {
    16. cout<<"-------------------\n";
    17. cout<<"Mein Taschenrechner\n";
    18. cout<<"-------------------\n";
    19. cout<<"\nWaehlen Sie aus : \n";
    20. cout<<"(1) Addition\n";
    21. cout<<"(2) Multiplikation\n";
    22. cout<<"(3) Division\n";
    23. cout<<"(4) Subtraktion\n";
    24. cout<<"(5) Potenzrechnung\n";
    25. cout<<"(6) Prozentrechnung\n";
    26. cout<<"(7) Exit\n";
    27. switch (getch())
    28. {
    29. case '1':
    30. {
    31. func(&zahl1,&zahl2);
    32. cout<<"Das Ergebniss betraegt : "<<zahl1 + zahl2<<endl;
    33. system("pause");
    34. system("cls");
    35. break;
    36. }
    37. case '2':
    38. {
    39. func(&zahl1,&zahl2);
    40. cout<<"Das Ergebniss betraegt : "<<zahl1 * zahl2<<endl;
    41. system("pause");
    42. system("cls");
    43. break;
    44. }
    45. case '3':
    46. {
    47. func(&zahl1,&zahl2);
    48. cout<<"Das Ergebniss betraegt : "<<zahl1 / zahl2<<endl;
    49. system("pause");
    50. system("cls");
    51. break;
    52. }
    53. case '4':
    54. {
    55. func(&zahl1,&zahl2);
    56. cout<<"Das Ergebniss betraegt : "<<zahl1 - zahl2<<endl;
    57. system("pause");
    58. system("cls");
    59. break;
    60. }
    61. case '5':
    62. {
    63. system("cls");
    64. double a,b;
    65. cout<<"Bitte geben Sie eine Zahl ein :";
    66. cin>>a;
    67. cout<<"Geben Sie die Potenz an :";
    68. cin>>b;
    69. cout<<"Das Ergebniss betraegt : "<<potenz(a,b)<<endl;
    70. system("pause");
    71. system("cls");
    72. break;
    73. }
    74. case '6':
    75. {
    76. system("cls");
    77. cout<<"Was moechten Sie Berechnen?\nWaehlen Sie aus:\n";
    78. cout<<"(1) Grundwert [G]\n";
    79. cout<<"(2) Prozentwert [W]\n";
    80. cout<<"(3) Prozentsatz [p]\n";
    81. switch (getch())
    82. {
    83. case '1':
    84. {
    85. system("cls");
    86. double w,p;
    87. cout<<"bitte geben Sie den Prozentwert W ein: ";
    88. cin>>w;
    89. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    90. cin>>p;
    91. cout<<"G = 100*p/W = "<<prozent1(w,p)<<"\n";
    92. system("pause");
    93. system("cls");
    94. break;
    95. }
    96. case '2':
    97. {
    98. system("cls");
    99. double p,g;
    100. cout<<"bitte geben Sie den Grundwert G ein: ";
    101. cin>>g;
    102. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    103. cin>>p;
    104. cout<<"W= G*p/100 = "<<prozent2(p,g)<<"\n";
    105. system("pause");
    106. system("cls");
    107. break;
    108. }
    109. case '3':
    110. {
    111. system("cls");
    112. double w,g;
    113. cout<<"bitte geben Sie den Grundwert G ein: ";
    114. cin>>g;
    115. cout<<"bitte geben Sie den Prozentwert W ein: ";
    116. cin>>w;
    117. cout<<"p= 100*W/G = "<<prozent3(w,g)<<" %\n";
    118. system("pause");
    119. system("cls");
    120. break;
    121. }
    122. }
    123. break;
    124. }
    125. case '7':
    126. return 0;
    127. default:
    128. cout<<"Falsche Eingabe!\n";
    129. }
    130. cout<<"Moechten Sie das Programm beenden j/n ? :";
    131. cin>>exit;
    132. system("cls");
    133. }
    134. while (exit=="n");
    135. }
    136. //////////////////////////////
    137. double potenz (double a,double b)
    138. {
    139. if (b==0)
    140. return 1;
    141. else
    142. return a * potenz(a,b-1);
    143. }
    144. //////////////////////////////////
    145. double func (double *pzahl1,double *pzahl2)
    146. {system("cls");
    147. cout<<"Bitte Geben Sie die erste Zahl ein :";
    148. cin>>*pzahl1;
    149. cout<<"Bitte Geben Sie die zweite Zahl ein :";
    150. cin>>*pzahl2;
    151. }
    152. ///////////////////////////////////
    153. double prozent1 (double w,double p)
    154. {
    155. return 100*p/w;
    156. }
    157. ////////////////////////////////////////
    158. double prozent2 (double g,double p)
    159. {
    160. return g*p/100;
    161. }
    162. /////////////////////////////////////////
    163. double prozent3 (double w,double g)
    164. {
    165. return 100*w/g;
    166. }
    Alles anzeigen
    Dateien
  • ok hast ja recht. So das ist jetzt die Letze änderung gewesen wem es nicht past kanns ja besser machen!!!!



    Quellcode

    1. #include <cstdlib>
    2. #include <iostream>
    3. #include <string>
    4. #include <conio.h>
    5. using namespace std;
    6. double prozent1 (double w,double p);
    7. double prozent2 (double g,double p);
    8. double prozent3 (double w,double g);
    9. double func (double *zahl1, double *pzahl2);
    10. double potenz(double a,double b);
    11. int main()
    12. { string exit;
    13. double zahl1,zahl2;
    14. do
    15. {
    16. cout<<"-------------------\n";
    17. cout<<"Mein Taschenrechner\n";
    18. cout<<"-------------------\n";
    19. cout<<"\nWaehlen Sie aus : \n";
    20. cout<<"(1) Addition\n";
    21. cout<<"(2) Multiplikation\n";
    22. cout<<"(3) Division\n";
    23. cout<<"(4) Subtraktion\n";
    24. cout<<"(5) Potenzrechnung\n";
    25. cout<<"(6) Prozentrechnung\n";
    26. cout<<"(7) Exit\n";
    27. switch (getch())
    28. {
    29. case '1':
    30. {
    31. func(&zahl1,&zahl2);
    32. cout<<zahl1<<" + "<<zahl2<<" = "<<zahl1 + zahl2<<endl;
    33. break;
    34. }
    35. case '2':
    36. {
    37. func(&zahl1,&zahl2);
    38. cout<<zahl1<<" * "<<zahl2<<" = "<<zahl1 * zahl2<<endl;
    39. break;
    40. }
    41. case '3':
    42. {
    43. func(&zahl1,&zahl2);
    44. if (zahl1>0 ,zahl2>0)
    45. {
    46. cout<<zahl1<<" / "<<zahl2<<" = "<<zahl1 / zahl2<<endl;
    47. }
    48. else
    49. {
    50. if(zahl1>0,zahl2==0)
    51. {
    52. cout<<"Teilen durch 0 unmoeglich!";
    53. }
    54. else
    55. cout<<zahl1<<" / "<<zahl2<<" = 0"<<endl;
    56. }
    57. break;
    58. }
    59. case '4':
    60. {
    61. func(&zahl1,&zahl2);
    62. cout<<zahl1<<" - "<<zahl2<<" = "<<zahl1 - zahl2<<endl;
    63. break;
    64. }
    65. case '5':
    66. {
    67. system("cls");
    68. double a,b;
    69. cout<<"Bitte geben Sie eine Zahl ein :";
    70. cin>>a;
    71. cout<<"Geben Sie die Potenz an :";
    72. cin>>b;
    73. cout<<"Das Ergebniss betraegt : "<<potenz(a,b)<<endl;
    74. break;
    75. }
    76. case '6':
    77. {
    78. system("cls");
    79. cout<<"Was moechten Sie Berechnen?\nWaehlen Sie aus:\n";
    80. cout<<"(1) Grundwert [G]\n";
    81. cout<<"(2) Prozentwert [W]\n";
    82. cout<<"(3) Prozentsatz [p]\n";
    83. switch (getch())
    84. {
    85. case '1':
    86. {
    87. system("cls");
    88. double w,p;
    89. cout<<"bitte geben Sie den Prozentwert W ein: ";
    90. cin>>w;
    91. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    92. cin>>p;
    93. cout<<"G = 100*p/W = "<<prozent1(w,p)<<"\n";
    94. break;
    95. }
    96. case '2':
    97. {
    98. system("cls");
    99. double p,g;
    100. cout<<"bitte geben Sie den Grundwert G ein: ";
    101. cin>>g;
    102. cout<<"bitte geben Sie den Prozentsatz p ein: ";
    103. cin>>p;
    104. cout<<"W= G*p/100 = "<<prozent2(p,g)<<"\n";
    105. break;
    106. }
    107. case '3':
    108. {
    109. system("cls");
    110. double w,g;
    111. cout<<"bitte geben Sie den Grundwert G ein: ";
    112. cin>>g;
    113. cout<<"bitte geben Sie den Prozentwert W ein: ";
    114. cin>>w;
    115. cout<<"p= 100*W/G = "<<prozent3(w,g)<<" %\n";
    116. break;
    117. }
    118. }
    119. break;
    120. }
    121. case '7':
    122. return 0;
    123. default:
    124. cout<<"Falsche Eingabe!\n";
    125. }
    126. system("pause");
    127. system("cls");
    128. cout<<"Moechten Sie das Programm beenden j/n ? :";
    129. cin>>exit;
    130. system("cls");
    131. }
    132. while (exit=="n");
    133. }
    134. //////////////////////////////
    135. double potenz (double a,double b)
    136. {
    137. if (b==0)
    138. return 1;
    139. else
    140. return a * potenz(a,b-1);
    141. }
    142. //////////////////////////////////
    143. double func (double *pzahl1,double *pzahl2)
    144. {
    145. system("cls");
    146. cout<<"Bitte Geben Sie die erste Zahl ein :";
    147. cin>>*pzahl1;
    148. cout<<"Bitte Geben Sie die zweite Zahl ein :";
    149. cin>>*pzahl2;
    150. }
    151. ////////////////////////////////////////
    152. double prozent1 (double w,double p)
    153. {
    154. return 100*p/w;
    155. }
    156. ////////////////////////////////////////
    157. double prozent2 (double g,double p)
    158. {
    159. return g*p/100;
    160. }
    161. ////////////////////////////////////////
    162. double prozent3 (double w,double g)
    163. {
    164. return 100*w/g;
    165. }
    166. ////////////////////////////////////////
    Alles anzeigen
    Dateien