fork download
  1. #include <limits>
  2. #include <cctype>
  3. #include <iostream>
  4. #include <iomanip>
  5.  
  6. int main()
  7. {
  8. double const kms_included_per_day = 60.0;
  9. unsigned const price_per_additional_km = 40;
  10. unsigned const price_per_day = 6000;
  11.  
  12. int ch = 0;
  13.  
  14. do {
  15. unsigned days = 0;
  16. double km = 0;
  17.  
  18. while( std::cout << "Tage:\t",
  19. !( std::cin >> days ) )
  20. {
  21. std::cerr << "\nFehlerhafte Eingabe. Bitte wiederholen!\n\n";
  22. std::cin.ignore( std::numeric_limits< std::streamsize >::max(), '\n' );
  23. std::cin.clear();
  24. }
  25.  
  26. while( std::cout << "km:\t",
  27. !( std::cin >> km ) )
  28. {
  29. std::cerr << "\nFehlerhafte Eingabe. Bitte wiederholen!\n\n";
  30. std::cin.ignore( std::numeric_limits< std::streamsize >::max(), '\n' );
  31. std::cin.clear();
  32. }
  33.  
  34. double additional_kms = 0;
  35.  
  36. if( km > days * kms_included_per_day ) {
  37.  
  38. additional_kms = km - days * kms_included_per_day;
  39. }
  40.  
  41. unsigned price = days * price_per_day + additional_kms * price_per_additional_km;
  42.  
  43. std::cout << "Preis:\t" << std::setw( 5 ) << std::setprecision( 2 ) << std::fixed << price / 100. << "\n\n";
  44.  
  45. std::cin.ignore( std::numeric_limits< std::streamsize >::max(), '\n' );
  46.  
  47. while( std::cout << "Berechnung wiederholen? (j/n)\n",
  48. ( std::tolower( ch = std::cin.get() ) != 'j' && std::tolower( ch ) != 'n' ) )
  49. {
  50. std::cerr << "\nFehlerhafte Eingabe. Bitte wiederholen!\n\n";
  51. std::cin.ignore( std::numeric_limits< std::streamsize >::max(), '\n' );
  52. std::cin.clear();
  53. }
  54.  
  55. std::cout.put( '\n' );
  56.  
  57. } while( ch != 'n' && ch != 'N' );
  58. }
Runtime error #stdin #stdout 0.01s 3032KB
stdin
4
g
34
stdout
Tage:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km:	km: