OldSchoolHack

Registrieren / Anmelden Deutsch

Auch beim Taschenrechner gibt es Probleme!

icon Thema: Auch beim Taschenrechner gibt es Probleme!

Anmeldungsdatum: Aug 2007

Beiträge: 8643

Benutzer-Bewertung:

199 positiv
33 negativ
und richtig wäre das Programm so:

TEXT Code:
  1. // Taschenrechner coded by flashst3p
  2.  
  3. #include <iostream>
  4. #include <string>
  5. #include <limits>
  6.  
  7. // Programm einstieg
  8. void clearCin()
  9. {
  10. using std::cin;
  11. using std::numeric_limits;
  12. using std::streamsize;
  13.  
  14. cin.clear();
  15. cin.ignore(numeric_limits<streamsize>::max(), '\n');
  16. }
  17.  
  18. int main()
  19. {
  20. using std::cout;
  21. using std::cin;
  22. using std::string;
  23.  
  24. cout << "Taschenrechner coded by flashst3p\n#################################\n\n";
  25.  
  26. string neustart;
  27. do
  28. {
  29. double zahl1;
  30. for (cout << "Bitte geben Sie die erste Zahl ein:\n"; !(cin >> zahl1); clearCin(),
  31. cout << "Bitte geben Sie die erste Zahl ein:\n");
  32.  
  33. double zahl2;
  34. for (cout << "Bitte geben Sie die zweite Zahl ein:\n"; !(cin >> zahl2); clearCin(),
  35. cout << "Bitte geben Sie die zweite Zahl ein:\n");
  36.  
  37. char rechenzeichen;
  38. for (cout << "Bitte geben Sie die Rechenoperation an: (+ - / *)\n"; !(cin >> rechenzeichen && string("+-/*").find(rechenzeichen) != string::npos); clearCin(),
  39. cout << "Bitte geben Sie die Rechenoperation an: (+ - / *)\n");
  40.  
  41. double result;
  42. switch (rechenzeichen)
  43. {
  44. case '+':
  45. result = zahl1 + zahl2;
  46. break;
  47. case '-':
  48. result = zahl1 - zahl2;
  49. break;
  50. case '/':
  51. result = zahl1 / zahl2;
  52. break;
  53. case '*':
  54. result = zahl1 * zahl2;
  55. break;
  56. }
  57. cout << "\nDas Ergebnis betraegt: " << result << "\n\n"
  58. << "\nProgramm neustarten? (Ja / Nein)\n";
  59. } while (cin >> neustart && neustart == "Ja");
  60.  
  61. return 0;
  62. }

greetz KN4CK3R

__________________

Hallo