Taschenrechner (Anfänger) Kritik erwünscht

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

  • Taschenrechner (Anfänger) Kritik erwünscht

    Hallo an alle.
    Ich habe vor, einen Taschenrechner, mit allen möglichen Funktionen, wie zum Beispiel Volumen, Oberflächen oder Wurzeln zu erstellen.
    Weil ich gerade Ferien habe(bin Schüler), habe ich genug Zeit, den Taschenrechner zu erstellen.
    Hier schonmal ein Anfang.:

    Quellcode

    1. #include<iostream>
    2. #include<string>
    3. using namespace std;
    4. int main()
    5. {
    6. int eingabe;
    7. float x;
    8. float y;
    9. cout << "Taschenrechner ©Pokertom" << endl;
    10. cout << endl;
    11. cout << "Addition <1>" << endl;
    12. cout << "Subtraktion <2>" << endl;
    13. cout << "Multiplikation <3>" << endl;
    14. cout << "Division <4>" << endl;
    15. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    16. cin >> eingabe;
    17. switch(eingabe)
    18. {
    19. case 1:
    20. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    21. cin >> x;
    22. cout << "+" << endl;
    23. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    24. cin >> y;
    25. cout << "Die Summe von " << x << " und " << y << " sind " << x+y << "." << endl;
    26. break;
    27. case 2:
    28. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    29. cin >> x;
    30. cout << "-" << endl;
    31. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    32. cin >> y;
    33. cout << "Die Differenz von " << x << " mit " << y << " sind " << x-y << "." << endl;
    34. break;
    35. case 3:
    36. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    37. cin >> x;
    38. cout << "*" << endl;
    39. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    40. cin >> y;
    41. cout << "Das Ergebnis der Muliplikation von " << x << " mit " << y << " ist " << x*y << "." << endl;
    42. break;
    43. case 4:
    44. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    45. cin >> x;
    46. cout << "/" << endl;
    47. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    48. cin >> y;
    49. cout << "Das Ergebnis der Division von " << x << " mit " << y << " ist " << x/y << "." << endl;
    50. break;
    51. }
    52. return 0;
    53. }
    Alles anzeigen

    Würde mich über Anregungen, bzw. Verbesserungen freuen.
    lg pokertom
    Gute Nacht (gähn)
    Du bist Terrorist, warum? Siehe hier

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

  • Hey

    1. einen default in switch rein, falls einer Blödsinn eintippen sollte
    2. würde ich eine schleife machen, damit man mehrere Operationen ausführen kann ohne die .exe jedes mal neu starten zu müssen (dann auch mit Beenden - Ziffer versehen)
    3. Naja, Grammatisch sind paar Sachen nicht korrekt:
    Addition: Summand + Summand = Summe
    Subtraktion: Minuend - Subtrahend = Differenz
    Multiplikation: Faktor * Faktor = Produkt
    Division: Dividend / Divisor = Quotient


    und Grammatik komplett würde ich noch überarbeiten. ^^

    4. Rein als Vorschlag würde ich dir raten dein Einrück-System ebenfalls ein bisschen zu Überarbeiten ^^
    5. und prüfe mal wie das Programm reagiert, wenn du einen Buchstaben eintippst :)

    mfG
  • @Koljan777 Danke für die vielen Verbesserungsvorschläge, Sie haben mir viel geholfen.

    Habe ihn nochmal überarbeitet, und sogar noch eine Währung eingebaut.Von einem Freund habe ich gehört,
    dass Double genauere Ergebnisse anzeigt, vieleicht könnte ich statt float besser double benutzen?
    Noch eine Frage, wenn ich als Währung/Einheit eine Zahl nehme, kommen ganz andere Ergebnisse.
    Wie kann man das beheben und warum passiert das?
    Bei einer Währung/Einheit aus Buchstaben passiert das ganze nicht.
    Bin für Verbesserungsvorschläge und Antworten offen.
    Grüße Pokertom

    Quellcode

    1. #include<iostream>
    2. #include<string>
    3. using namespace std;
    4. int main()
    5. {
    6. int eingabe;
    7. float x; //double?
    8. float y; //double?
    9. string Waehrung;
    10. string info;
    11. bool z;
    12. bool wh = 0;
    13. while ( wh != 0 )
    14. {
    15. cout << "Taschenrechner ©Pokertom" << endl;
    16. cout << endl;
    17. cout << "Addition <1>" << endl;
    18. cout << "Subtraktion <2>" << endl;
    19. cout << "Multiplikation <3>" << endl;
    20. cout << "Division <4>" << endl;
    21. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    22. cin >> eingabe;
    23. cout << "Wollen Sie mit einer Waehrung/ Einheit rechnen?" << endl;
    24. cout << "Geben Sie 1/0 ein.(1 mit, 0 ohne)" << endl;
    25. cin >> z;
    26. if ( z = 1 )
    27. {
    28. switch ( eingabe )
    29. {
    30. case 1:
    31. cout << "Geben Sie bitte die Waehrung an." << endl;
    32. cin >> Waehrung;
    33. cout << "Geben Sie bitte den 1. Summand an." << endl;
    34. cin >> x;
    35. cout << "Geben Sie bitte den 2. Summand an." << endl;
    36. cin >> y;
    37. cout << "Die Summe der Rechnung ergibt: " << x << Waehrung << " + " << y << Waehrung << " = " << x + y
    38. << Waehrung << "." << endl;
    39. break;
    40. case 2:
    41. cout << "Geben Sie bitte die Waehrung an." << endl;
    42. cin >> Waehrung;
    43. cout << "Geben Sie bitte den Minuent an." << endl;
    44. cin >> x;
    45. cout << "Geben Sie bitte den Subtrahent an." << endl;
    46. cin >> y;
    47. cout << "Die Differenz der Rechnung ergibt: " << x << Waehrung << " - " << y << Waehrung << " = " << x - y
    48. << Waehrung << "." << endl;
    49. break;
    50. case 3:
    51. cout << "Geben Sie bitte die Waehrung an." << endl;
    52. cin >> Waehrung;
    53. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    54. cin >> x;
    55. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    56. cin >> y;
    57. cout << "Das Produkt der Rechnung ergibt: " << x << Waehrung << " * " << y << Waehrung << " = " << x * y
    58. << Waehrung << "." << endl;
    59. break;
    60. case 4:
    61. cout << "Geben Sie bitte die Waehrung an." << endl;
    62. cin >> Waehrung;
    63. cout << "Geben Sie bitte den Dividend an." << endl;
    64. cin >> x;
    65. cout << "Geben Sie bitte den Divisor an." << endl;
    66. cin >> y;
    67. cout << "Der Quotient der Rechnung ergibt: " << x << Waehrung << " / " << y << Waehrung << " = " << x / y
    68. << Waehrung << "." << endl;
    69. break;
    70. default:
    71. cout << "(Fehler: Ungueltige Eingabe!)";
    72. break;
    73. }
    74. }
    75. else if ( z = 0 )
    76. {
    77. switch ( eingabe )
    78. {
    79. case 1:
    80. cout << "Geben Sie bitte den 1. Summand an." << endl;
    81. cin >> x;
    82. cout << "Geben Sie bitte den 2. Summand an." << endl;
    83. cin >> y;
    84. cout << "Die Summe der Rechnung ergibt: " << x << " + " << y << " = " << x + y << "." << endl;
    85. break;
    86. case 2:
    87. cout << "Geben Sie bitte den Minuent an." << endl;
    88. cin >> x;
    89. cout << "Geben Sie bitte den Subtrahent an." << endl;
    90. cin >> y;
    91. cout << "Die Differenz der Rechnung ergibt: " << x << " - " << y << " = " << x - y << "." << endl;
    92. break;
    93. case 3:
    94. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    95. cin >> x;
    96. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    97. cin >> y;
    98. cout << "Das Produkt der Rechnung ergibt: " << x << " * " << "." << endl;
    99. break;
    100. case 4:
    101. cout << "Geben Sie bitte den Dividend an." << endl;
    102. cin >> x;
    103. cout << "Geben Sie bitte den Divisor an." << endl;
    104. cin >> y;
    105. cout << "Der Quotient der Rechnung ergibt: " << x << " / " << y << " = " << x / y << "." << endl;
    106. break;
    107. default:
    108. cout << "(Fehler: Ungültige Eingabe!)";
    109. break;
    110. }
    111. }
    112. cout << endl;
    113. cout << "Wollen Sie nochmal rechnen?" << endl;
    114. cout << "<0> Nein, <1> Klar" << endl;
    115. cin >> wh;
    116. cout << endl;
    117. }
    118. return 0;
    119. }
    Alles anzeigen
    Du bist Terrorist, warum? Siehe hier
  • 1. Mach mal ein Screenshot von dem Fehler mit der Währung
    2. Mach einen Leerzeichen zwischen Angabe der Summanden etc. und der Währung. das könnte leicht irritieren glaube ich
    3. Als Programmierer muss man sich ständig bemühen Ressourcen wie RechnerZeit und RechnerKapazität zu sparen. Du hast den Code komplett runterkopiert um es mit und ohne Währung zu haben ;( . ich hätte da bei der frage mit der Währung (ob ja oder nein) die Währung gleich eingeben gelassen, wenn 1 oder Waehrung = "" wenn 0 eben. und dann nur den oberen Code ausgebenen. wenn Waehrung="" ausgegeben wird, tut es ja keinem weh ^^
    4. wegen double - kannst du machen, wenn du es brauchst. float = 7 oder 8 nachkommastellen und bei double waren es 15 oder 16, wenn ich mich recht erinnere.
    5. Variablen "eingabe" und "z" werden nicht auf Richtige Eingabe überprüft. was passiert wenn du bei Eingabe von "z" einen Buchstaben eintippst?
    6. Anmerkung: bei default kannst du break weglassen, weil danach eh Rumpfende von switch folgt. ist aber kein Fehler!!

    mfG
  • Ich habe das Programm so oft überarbeitet(Wegen der Grammatik) und hin und wieder compiliert,
    dass ich zum Schluss vergessen habe, noch mal zu compilieren.
    So habe ich den Fehler nicht bemerkt.
    Der Fehler mit den Zahlen als Waehrung existierte gar nicht,
    ich habe mir nur eingebildet es wäre einer,
    weil ich da noch keine Leerzeichen hatte und es deshalb so aussah,
    als wäre da eine Rechnung durcheinandergeraten.
    @Koljan777:Mit Leerzeichen sieht es wirklich übersichtlicher aus.
    Vielen Dank für eure Hilfe.
    Hier nun die aktuelle Version.:

    Quellcode

    1. #include<iostream>
    2. #include<string>
    3. using namespace std;
    4. int main()
    5. {
    6. int eingabe;
    7. double x;
    8. double y;
    9. double r;
    10. string Waehrung;
    11. bool z;
    12. bool wh = 1;
    13. while ( wh = 1 )
    14. {
    15. cout << "Taschenrechner ©Pokertom" << endl;
    16. cout << endl;
    17. cout << "Grundrechenarten <1>" << endl;
    18. cout << "Volumen von Geometrischen Koerpern <2>" << endl;
    19. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    20. cin >> eingabe;
    21. switch ( eingabe )
    22. {
    23. case 1:
    24. cout << "Addition <1>" << endl;
    25. cout << "Subtraktion <2>" << endl;
    26. cout << "Multiplikation <3>" << endl;
    27. cout << "Division <4>" << endl;
    28. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    29. cin >> eingabe;
    30. switch ( eingabe )
    31. {
    32. case 1:
    33. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    34. cin >> Waehrung;
    35. cout << "Geben Sie bitte den 1. Summand an." << endl;
    36. cin >> x;
    37. cout << "Geben Sie bitte den 2. Summand an." << endl;
    38. cin >> y;
    39. cout << "Die Summe der Rechnung ergibt: " << x << " " << Waehrung << " + " << y << " " << " " << Waehrung << " = "
    40. << x + y << " " << " " << Waehrung << "." << endl;
    41. case 2:
    42. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    43. cin >> Waehrung;
    44. cout << "Geben Sie bitte den Minuent an." << endl;
    45. cin >> x;
    46. cout << "Geben Sie bitte den Subtrahent an." << endl;
    47. cin >> y;
    48. cout << "Die Differenz der Rechnung ergibt: " << x << " " << Waehrung << " - " << y << " " << Waehrung << " = "
    49. << x - y << " " << Waehrung << "." << endl;
    50. break;
    51. case 3:
    52. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    53. cin >> Waehrung;
    54. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    55. cin >> x;
    56. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    57. cin >> y;
    58. cout << "Das Produkt der Rechnung ergibt: " << x << " " << Waehrung << " * " << y << " " << Waehrung << " = " << x
    59. * y << " " << Waehrung << "." << endl;
    60. break;
    61. case 4:
    62. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    63. cin >> Waehrung;
    64. cout << "Geben Sie bitte den Dividend an." << endl;
    65. cin >> x;
    66. cout << "Geben Sie bitte den Divisor an." << endl;
    67. cin >> y;
    68. cout << "Der Quotient der Rechnung ergibt: " << x << " " << Waehrung << " / " << y << " " << Waehrung << " = "
    69. << x / y << " " << Waehrung << "." << endl;
    70. }
    71. break;
    72. case 2:
    73. cout << "Volumen der Dreieckspyramide <1>" << endl;
    74. cout << "Volumen der Viereckspyramide <2>" << endl;
    75. cout << "Volumen des Kegels <3>" << endl;
    76. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    77. cin >> eingabe;
    78. switch ( eingabe )
    79. {
    80. case 1:
    81. cout << "Geben Sie bitte die Grundseite(g) der Bodenflaeche an." << endl;
    82. cin >> x;
    83. cout << "Geben Sie bitte die Hoehe(h) der Bodenflaeche an." << endl;
    84. cin >> y;
    85. cout << "Geben Sie bitte die Hoehe(h) der Dreieckspyramide an." << endl;
    86. cin >> z;
    87. cout << "Dies ist das Volumen der Dreieckspyramide.:" << x * y / 2 * z / 2 << endl;
    88. break;
    89. case 2:
    90. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    91. cin >> x;
    92. cout << "Geben Sie bitte die Laenge der Seite b an." << endl;
    93. cin >> y;
    94. cout << "Geben Sie bitte die Hoehe(h) der Viereckseckspyramide an." << endl;
    95. cin >> z;
    96. cout << "Dies ist das Volumen der Viereckspyramide.:" << x * y * z / 2 << endl;
    97. break;
    98. case 3:
    99. cout << "Geben Sie bitte den Radius des Bodenkreises an." << endl;
    100. cin >> r;
    101. cout << "Geben Sie bitte die Hoehe(h) des Kegels an." << endl;
    102. cin >> y;
    103. x = r * r * 3.1415926535897932384426433832795 * y /3;
    104. cout << "Dies ist das Volumen des Kegels.:" << x << endl;
    105. }
    106. break;
    107. default:
    108. cout << "(Fehler: Ungueltige Eingabe!)";
    109. }
    110. cout << endl;
    111. cout << "Wollen Sie nochmal rechnen?" << endl;
    112. cout << "<0> Nein, <1> Klar" << endl;
    113. cin >> wh;
    114. cout << endl;
    115. }
    116. }
    Alles anzeigen
    Du bist Terrorist, warum? Siehe hier

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von pokertom ()

  • Habe es nochmals überarbeitet.
    Einheiten dafür folgen noch.
    Dies hier folgt noch in der Oberflaechenberechnung:
    Kugel (verstehe ich nicht)
    Zylinder
    Dreieckspyramide
    Viereckspyramide
    Kegel (das auch nicht)
    Werde es trotzdem versuchen und hoffentlich klappt's.
    Grüße Pokertom

    Quellcode

    1. #include<iostream>
    2. #include<string>
    3. using namespace std;
    4. int main()
    5. {
    6. int eingabe;
    7. double x;
    8. double y;
    9. double z;
    10. double r;
    11. string Waehrung;
    12. bool wh = 1;
    13. const double pi = 3.141592653589793;
    14. while ( wh = 1 )
    15. {
    16. cout << "Taschenrechner ©Pokertom" << endl;
    17. cout << endl;
    18. cout << "Grundrechenarten <1>" << endl;
    19. cout << "Volumen von Geometrischen Koerpern <2>" << endl;
    20. cout << "Oberflaeche von Geometrischen Koerpern <2>" << endl;
    21. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    22. cin >> eingabe;
    23. switch ( eingabe )
    24. {
    25. case 1:
    26. cout << "Addition <1>" << endl;
    27. cout << "Subtraktion <2>" << endl;
    28. cout << "Multiplikation <3>" << endl;
    29. cout << "Division <4>" << endl;
    30. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    31. cin >> eingabe;
    32. switch ( eingabe )
    33. {
    34. case 1:
    35. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    36. cin >> Waehrung;
    37. cout << "Geben Sie bitte den 1. Summand an." << endl;
    38. cin >> x;
    39. cout << "Geben Sie bitte den 2. Summand an." << endl;
    40. cin >> y;
    41. cout << "Die Summe der Rechnung ergibt: " << x << " " << Waehrung << " + " << y << " " << " " << Waehrung << " = "
    42. << x + y << " " << " " << Waehrung << "." << endl;
    43. case 2:
    44. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    45. cin >> Waehrung;
    46. cout << "Geben Sie bitte den Minuent an." << endl;
    47. cin >> x;
    48. cout << "Geben Sie bitte den Subtrahent an." << endl;
    49. cin >> y;
    50. cout << "Die Differenz der Rechnung ergibt: " << x << " " << Waehrung << " - " << y << " " << Waehrung << " = "
    51. << x - y << " " << Waehrung << "." << endl;
    52. break;
    53. case 3:
    54. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    55. cin >> Waehrung;
    56. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    57. cin >> x;
    58. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    59. cin >> y;
    60. cout << "Das Produkt der Rechnung ergibt: " << x << " " << Waehrung << " * " << y << " " << Waehrung << " = " << x
    61. * y << " " << Waehrung << "." << endl;
    62. break;
    63. case 4:
    64. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    65. cin >> Waehrung;
    66. cout << "Geben Sie bitte den Dividend an." << endl;
    67. cin >> x;
    68. cout << "Geben Sie bitte den Divisor an." << endl;
    69. cin >> y;
    70. cout << "Der Quotient der Rechnung ergibt: " << x << " " << Waehrung << " / " << y << " " << Waehrung << " = "
    71. << x / y << " " << Waehrung << "." << endl;
    72. }
    73. break;
    74. case 2:
    75. cout << "Volumen des Wuerfels <1>" << endl;
    76. cout << "Volumen des Quaders <2>" << endl;
    77. cout << "Volumen der Kugel <3>" << endl;
    78. cout << "Volumen des Zylinders <4>" << endl;
    79. cout << "Volumen der Dreieckspyramide <5>" << endl;
    80. cout << "Volumen der Viereckspyramide <6>" << endl;
    81. cout << "Volumen des Kegels <7>" << endl;
    82. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    83. cin >> eingabe;
    84. switch ( eingabe )
    85. {
    86. case 1:
    87. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    88. cin >> x;
    89. cout << "Dies ist das Volumen des Wuerfels.:" << x * x * x << endl;
    90. break;
    91. case 2:
    92. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    93. cin >> x;
    94. cout << "Geben Sie bitte die Laenge der Seite b an." << endl;
    95. cin >> y;
    96. cout << "Geben Sie bitte die Laenge der Seite c an." << endl;
    97. cin >> z;
    98. cout << "Dies ist das Volumen des Wuerfels.:" << x * y * z << endl;
    99. break;
    100. case 3:
    101. cout << "Geben Sie bitte den Radius(r)der Kugel an." << endl;
    102. cin >> r;
    103. cout << "Dies ist das Volumen der Kugel.:" << r * r * r / 3 * 4 * pi << endl;
    104. break;
    105. case 4:
    106. cout << "Geben Sie bitte den Radius des Bodenkreises an." << endl;
    107. cin >> r;
    108. cout << "Geben Sie bitte die Hoehe(h) des Zylinders an." << endl;
    109. cin >> y;
    110. x = r * r * pi * y;
    111. cout << "Dies ist das Volumen des Zylinders.:" << x << endl;
    112. case 5:
    113. cout << "Geben Sie bitte die Grundseite(g) der Bodenflaeche an." << endl;
    114. cin >> x;
    115. cout << "Geben Sie bitte die Hoehe(h) der Bodenflaeche an." << endl;
    116. cin >> y;
    117. cout << "Geben Sie bitte die Hoehe(h) der Dreieckspyramide an." << endl;
    118. cin >> z;
    119. cout << "Dies ist das Volumen der Dreieckspyramide.:" << x * y / 2 * z / 2 << endl;
    120. break;
    121. case 6:
    122. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    123. cin >> x;
    124. cout << "Geben Sie bitte die Laenge der Seite b an." << endl;
    125. cin >> y;
    126. cout << "Geben Sie bitte die Hoehe(h) der Viereckseckspyramide an." << endl;
    127. cin >> z;
    128. cout << "Dies ist das Volumen der Viereckspyramide.:" << x * y * z / 2 << endl;
    129. break;
    130. case 7:
    131. cout << "Geben Sie bitte den Radius des Bodenkreises an." << endl;
    132. cin >> r;
    133. cout << "Geben Sie bitte die Hoehe(h) des Kegels an." << endl;
    134. cin >> y;
    135. x = r * r * pi * y / 3;
    136. cout << "Dies ist das Volumen des Kegels.:" << x << endl;
    137. default:
    138. cout << "(Fehler: Ungueltige Eingabe!)";
    139. }
    140. break;
    141. case 3:
    142. cout << "Oberflaeche von einem Wuerfel <1>" << endl;
    143. cout << "Oberflaeche von einem Quader <2>" << endl;
    144. cout << "Oberflaeche von einer Kugel <3>" << endl;
    145. cout << "Oberflaeche von einem Zylinder <4>" << endl;
    146. cout << "Oberflaeche von einer Dreieckspyramide <5>" << endl;
    147. cout << "Oberflaeche von einer Viereckspyramide <6>" << endl;
    148. cout << "Oberflaeche von einem Kegel <7>" << endl;
    149. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    150. cin >> eingabe;
    151. switch ( eingabe )
    152. {
    153. case 1:
    154. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    155. cin >> x;
    156. cout << "Dies ist die Oberfaeche des Wuerfels.:" << x * x * 6 << endl;
    157. break;
    158. case 2:
    159. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    160. cin >> x;
    161. cout << "Geben Sie bitte die Laenge der Seite b an." << endl;
    162. cin >> y;
    163. cout << "Geben Sie bitte die Laenge der Seite c an." << endl;
    164. cin >> z;
    165. cout << "Dies ist die Oberflaeche des Quaders.:" << 2*(x*y)+2*(x*z)+2*(y*z) << endl;
    166. break;
    167. default:
    168. cout << "(Fehler: Ungueltige Eingabe!)";
    169. }
    170. cout << endl;
    171. cout << "Wollen Sie nochmal rechnen?" << endl;
    172. cout << "<0> Nein, <1> Klar" << endl;
    173. cin >> wh;
    174. cout << endl;
    175. }
    176. }
    177. }
    Alles anzeigen
    Du bist Terrorist, warum? Siehe hier

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

  • Ich habe ich noch den Taschenrechner nochmals überarbeitet, und langsam gehenmir die Ideen aus. :thumbdown:
    Wenn zum Beispiel bei einer Rechnnung m*m angegeben wird, muss dann ja m² dort stehen.
    Hat jemand 'ne Idee, wie Ich das Bewältigen kann?
    Mir fiel nur ein, für jede Längeneinheit eine if & else abfragung durchzuführen, was bei den vielen Längeneinheiten die es gibt problematisch sein dürfte. :huh:
    Gruss Pokertom

    Quellcode

    1. #include<iostream>
    2. #include<string>
    3. using namespace std;
    4. int main()
    5. {
    6. int eingabe;
    7. double x;
    8. double y;
    9. double z;
    10. double r;
    11. double h;
    12. string Waehrung;
    13. bool wh = 1;
    14. const double pi = 3.141592653589793;
    15. while ( wh = 1 )
    16. {
    17. cout << "Taschenrechner ©Pokertom" << endl;
    18. cout << endl;
    19. cout << "Grundrechenarten <1>" << endl;
    20. cout << "Volumen von Geometrischen Koerpern <2>" << endl;
    21. cout << "Oberflaeche von Geometrischen Koerpern <3>" << endl;
    22. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    23. cin >> eingabe;
    24. switch ( eingabe )
    25. {
    26. case 1:
    27. cout << "Addition <1>" << endl;
    28. cout << "Subtraktion <2>" << endl;
    29. cout << "Multiplikation <3>" << endl;
    30. cout << "Division <4>" << endl;
    31. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    32. cin >> eingabe;
    33. switch ( eingabe )
    34. {
    35. case 1:
    36. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    37. cin >> Waehrung;
    38. cout << "Geben Sie bitte den 1. Summand an." << endl;
    39. cin >> x;
    40. cout << "Geben Sie bitte den 2. Summand an." << endl;
    41. cin >> y;
    42. cout << "Die Summe der Rechnung ergibt: " << x << " " << Waehrung << " + " << y << " " << " " << Waehrung << " = "
    43. << x + y << " " << " " << Waehrung << "." << endl;
    44. case 2:
    45. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    46. cin >> Waehrung;
    47. cout << "Geben Sie bitte den Minuent an." << endl;
    48. cin >> x;
    49. cout << "Geben Sie bitte den Subtrahent an." << endl;
    50. cin >> y;
    51. cout << "Die Differenz der Rechnung ergibt: " << x << " " << Waehrung << " - " << y << " " << Waehrung << " = "
    52. << x - y << " " << Waehrung << "." << endl;
    53. break;
    54. case 3:
    55. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    56. cin >> Waehrung;
    57. cout << "Geben Sie bitte den 1. Faktor an." << endl;
    58. cin >> x;
    59. cout << "Geben Sie bitte den 2. Faktor an." << endl;
    60. cin >> y;
    61. cout << "Das Produkt der Rechnung ergibt: " << x << " " << Waehrung << " * " << y << " " << Waehrung << " = " << x
    62. * y << " " << Waehrung << "." << endl;
    63. break;
    64. case 4:
    65. cout << "Geben Sie die Waehrung/Einheit ein." << endl;
    66. cin >> Waehrung;
    67. cout << "Geben Sie bitte den Dividend an." << endl;
    68. cin >> x;
    69. cout << "Geben Sie bitte den Divisor an." << endl;
    70. cin >> y;
    71. cout << "Der Quotient der Rechnung ergibt: " << x << " " << Waehrung << " / " << y << " " << Waehrung << " = "
    72. << x / y << " " << Waehrung << "." << endl;
    73. }
    74. break;
    75. case 2:
    76. cout << "Volumen des Wuerfels <1>" << endl;
    77. cout << "Volumen des Quaders <2>" << endl;
    78. cout << "Volumen der Kugel <3>" << endl;
    79. cout << "Volumen des Zylinders <4>" << endl;
    80. cout << "Volumen der Dreieckspyramide <5>" << endl;
    81. cout << "Volumen der Viereckspyramide <6>" << endl;
    82. cout << "Volumen des Kegels <7>" << endl;
    83. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    84. cin >> eingabe;
    85. switch ( eingabe )
    86. {
    87. case 1:
    88. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    89. cin >> x;
    90. cout << "Dies ist das Volumen des Wuerfels.:" << x * x * x << endl;
    91. break;
    92. case 2:
    93. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    94. cin >> x;
    95. cout << "Geben Sie bitte die Laenge der Seite b an." << endl;
    96. cin >> y;
    97. cout << "Geben Sie bitte die Laenge der Seite c an." << endl;
    98. cin >> z;
    99. cout << "Dies ist das Volumen des Wuerfels.:" << x * y * z << endl;
    100. break;
    101. case 3:
    102. cout << "Geben Sie bitte den Radius(r)der Kugel an." << endl;
    103. cin >> r;
    104. cout << "Dies ist das Volumen der Kugel.:" << r * r * r / 3 * 4 * pi << endl;
    105. break;
    106. case 4:
    107. cout << "Geben Sie bitte den Radius des Bodenkreises an." << endl;
    108. cin >> r;
    109. cout << "Geben Sie bitte die Hoehe(h) des Zylinders an." << endl;
    110. cin >> h;
    111. x = r * r * pi * h;
    112. cout << "Dies ist das Volumen des Zylinders.:" << x << endl;
    113. case 5:
    114. cout << "Geben Sie bitte die Grundseite(g) der Bodenflaeche an." << endl;
    115. cin >> x;
    116. cout << "Geben Sie bitte die Hoehe(h) der Bodenflaeche an." << endl;
    117. cin >> y;
    118. cout << "Geben Sie bitte die Hoehe(h) der Dreieckspyramide an." << endl;
    119. cin >> h;
    120. cout << "Dies ist das Volumen der Dreieckspyramide.:" << x * y / 2 * h / 2 << endl;
    121. break;
    122. case 6:
    123. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    124. cin >> x;
    125. cout << "Geben Sie bitte die Laenge der Seite b an." << endl;
    126. cin >> y;
    127. cout << "Geben Sie bitte die Hoehe(h) der Viereckseckspyramide an." << endl;
    128. cin >> h;
    129. cout << "Dies ist das Volumen der Viereckspyramide.:" << x * h * z / 2 << endl;
    130. break;
    131. case 7:
    132. cout << "Geben Sie bitte den Radius des Bodenkreises an." << endl;
    133. cin >> r;
    134. cout << "Geben Sie bitte die Hoehe(h) des Kegels an." << endl;
    135. cin >> h;
    136. x = ( pi / 3 ) * r * r * h;
    137. cout << "Dies ist das Volumen des Kegels.:" << x << endl;
    138. default:
    139. cout << "(Fehler: Ungueltige Eingabe!)";
    140. }
    141. break;
    142. case 3:
    143. cout << "Oberflaeche von einem Wuerfel <1>" << endl;
    144. cout << "Oberflaeche von einem Quader <2>" << endl;
    145. cout << "Oberflaeche von einer Kugel <3>" << endl;
    146. cout << "Oberflaeche von einem Zylinder <4>" << endl;
    147. cout << "Oberflaeche von einer Dreieckspyramide <5>" << endl;
    148. cout << "Oberflaeche von einer Viereckspyramide <6>" << endl;
    149. cout << "Oberflaeche von einem Kegel <7>" << endl;
    150. cout << "Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!" << endl;
    151. cin >> eingabe;
    152. switch ( eingabe )
    153. {
    154. case 1:
    155. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    156. cin >> x;
    157. cout << "Dies ist die Oberfaeche des Wuerfels.:" << x * x * 6 << endl;
    158. break;
    159. case 2:
    160. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    161. cin >> x;
    162. cout << "Geben Sie bitte die Laenge der Seite b an." << endl;
    163. cin >> x;
    164. cout << "Geben Sie bitte die Laenge der Seite c an." << endl;
    165. cin >> z;
    166. cout << "Dies ist die Oberflaeche des Quaders.:" << 2 * ( x * y ) + 2 * ( x * z ) + 2 * ( y * z ) << endl;
    167. break;
    168. case 3:
    169. cout << "Geben Sie den Radius(r) an." << endl;
    170. cin >> r;
    171. cout << "Dies ist die Oberflaeche der Kugel.:" << 4 * pi * r * r << endl;
    172. break;
    173. case 4:
    174. cout << "Geben sie den Radius(r) der Bodenflaeche an." << endl;
    175. cin >> r;
    176. cout << "Geben Sie bitte die Hoehe(h) an." << endl;
    177. cin >> h;
    178. cout << "Dies ist die Oberflaeche des Zylinders.:" << r * r * pi * h << endl;
    179. break;
    180. case 5:
    181. cout << "Geben Sie die Laenge der Seite a an." << endl;
    182. cin >> x;
    183. cout << "Geben Sie die Seite(s) an." << endl;
    184. cin >> z;
    185. cout << "Dies ist die Oberflaeche der Dreieckspyramide.:" << ( x * x / 2 ) + 3 * ( x * z / 2 ) << endl;
    186. break;
    187. case 6:
    188. cout << "Geben Sie die Laenge der Seite a an." << endl;
    189. cin >> x;
    190. cout << "Geben Sie die Seite(s) an." << endl;
    191. cin >> z;
    192. cout << "Dies ist die Oberflaeche der Viereckspyramide.:" << ( x * x ) + 4 * ( x * z / 2 ) << endl;
    193. break;
    194. case 7:
    195. cout << "Geben Sie den Radius(r) an." << endl;
    196. cin >> r;
    197. cout << "Geben Sie die Seite(s) an." << endl;
    198. cin >> z;
    199. cout << "Dies ist die Oberflaeche des Kegels.:" << ( pi * r * r ) + ( pi * r * z ) << endl;
    200. break;
    201. default:
    202. cout << "(Fehler: Ungueltige Eingabe!)";
    203. }
    204. }
    205. cout << endl;
    206. cout << "Wollen Sie nochmal rechnen?" << endl;
    207. cout << "<0> Nein, <1> Klar" << endl;
    208. cin >> wh;
    209. cout << endl;
    210. }
    211. }
    Alles anzeigen
    Du bist Terrorist, warum? Siehe hier

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

  • Ich habe noch ein anderes Problem:
    Wieso zeigt Die Eingabeaufforderung die default anweisung an?
    Kann keinen Fehler entdecken!

    Taschenrechner ©Pokertom
    Grundrechenarten <1>
    Volumen von Geometrischen Koerpern <2>
    Oberflaeche von Geometrischen Koerpern <2>
    Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!
    2
    Volumen des Wuerfels <1>
    Volumen des Quaders <2>
    Volumen der Kugel <3>
    Volumen des Zylinders <4>
    Volumen der Dreieckspyramide <5>
    Volumen der Viereckspyramide <6>
    Volumen des Kegels <7>
    Geben Sie eine der Zahlen in <?> ein, um das Programm zu starten!
    7
    Geben Sie bitte den Radius des Bodenkreises an.
    5
    Geben Sie bitte die Hoehe(h) des Kegels an.
    10
    Dies ist das Volumen des Kegels.:261.799
    (Fehler: Ungueltige Eingabe!)//Wieso kommt das?
    Wollen Sie nochmal rechnen?
    <0> Nein, <1> Klar
    Du bist Terrorist, warum? Siehe hier
  • Hmmm sieht so aus, als ob der Fehler nur beim Kegel auftreten würde, oder?
    Beim Würfel und Quader passt es, aber da hast du ein Schreibfehler drin:

    Quellcode

    1. case 2:
    2. cout << "Geben Sie bitte die Laenge der Seite a an." << endl;
    3. cin >> x;
    4. cout << "Geben Sie bitte die Laenge der Seite b an." << endl;
    5. cin >> y;
    6. cout << "Geben Sie bitte die Laenge der Seite c an." << endl;
    7. cin >> z;
    8. cout << "Dies ist das Volumen des [b]Wuerfels[/b].:" << x * y * z << endl;

    Sollte Quader statt Würfel stehen, nehm ich an.


    Zum Prob: hast einn break; vergessen, in Zeile 149 ;)
    MlG
    SwiPP
    A programmer is just a tool which converts caffein into code - Unknown
  • @SwiPP
    Danke, habe ich verbessert.
    Hab an der falschen Stelle geguckt, und so nicht gefunden worans lag.

    Noch mal an alle.:
    Habt ihr vieleicht noch Ideen, was ich in den Taschenrechner einbauen könnte?
    Natürlich nur Sachen die zu bewerkstelligen sind.
    Bitte keine komplizierten Algorithmen oder ähnliches Zeug. 8o
    Sag danke schon mal im voraus.
    Grüsse Pokertom
    Du bist Terrorist, warum? Siehe hier
  • Habe zuerst auch weiter unten geguckt^^

    Zur Frage:

    Sinus, Cosinus, Tangens, Arcustangens, Arcussinus, Arcustangens =) Könnte ich gerade brauchen xD

    Naja, sonst halt Brüche ausdividieren. Vielleicht.

    Wurzel ziehen und quadrieren (oder sonstige Potenzen).
    öhmm was kommt mir noch in den Sinn. ein ggT, kgV berechner.
    Joah, kannst noch einiges einabuen, wenn du Lust hast^^

    //E: Irgend etwas in Snne eines Durchschnittserrechners ist mir noch in den Sinn gekommen.
    A programmer is just a tool which converts caffein into code - Unknown
  • @SwiPP Danke für die vielen Vorschläge. :thumbsup:
    Habe einige Vordefinierten Funktionen der Bibliothek <cmath> in mein Projekt eingebunden.
    Brüche hatte ich auch schon im Visier, muss mir nur über den Aufbau noch Gedanken machen.
    Ich lade den Text jetzt in .txt Dateien hoch, damit es nicht so unübersichtlich wird. (Bei knapp 360 Zeilen Text)
    Grüsse Pokertom
    Dateien
    Du bist Terrorist, warum? Siehe hier
  • Habe jetzt auch Addition, Subraktion, Multiplikation und Division von Brüchen eingefügt. :D
    @SwiPP
    Durchschnitt ist zu scher umzusetzen, aber der ggT und der kgT sind eine gute Idee.
    Guck mal, ob ichs mit dem Modulo Opperator hinkriege, wiegesagt, ich arbeite noch nicht so lange mit C++.

    Grüsse Pokertom
    Dateien
    Du bist Terrorist, warum? Siehe hier
  • was soll die währung/einheit sein?
    was passiert dann, wenn du durch 0 dividierst (x/0)? ne fehlermeldung wäre schön bzw. ne neuberechnung:

    Quellcode

    1. Geben Sie die Waehrung/Einheit ein.
    2. 12
    3. Geben Sie bitte den Dividend an.
    4. 13
    5. Geben Sie bitte den Divisor an.
    6. 0
    7. Der Quotient der Rechnung ergibt: 13 12/0 12=1.#INF 12.


    die darstellung ist viel zu kompliziert. könnte viel einfacher sein ;)
    wann kann man das programmende erreichen? wenn eine berechnung durchgeführt wurde, dann sollte es eine meldung erscheinen, ob man weitere berechnungen durchführen möchte oder das programm beenden.


    lg
  • @ Composer.
    Man kann ja auswählen, ob man noch eine Rechnung durchführen will oder nicht.

    @ superuser.
    Ich finde es ist für den Beginn eine gute Übung, um zu sehen, wie ein Programm funktioniert, wie weit man mit if und while gehen kann. Klar kann man das auch mit Arrays schöner darstellen, aber für den Beginn ist das doch ganz gut, mMn.
    A programmer is just a tool which converts caffein into code - Unknown
  • eigentlich meinte ich, dass man die ganze prozedur von anfang an machen muss. zb. der user will ganze zeit nur additionsbeispiele machen und da muss er jedes mal zuerst in die oberste stufe (das hauptmenü) springen. ;)
    genau da soll es erscheinen, ob er weitere berechnungen durchführen möchte, oder lieber ins hauptmenü gelangen möchte