008
21.11.2004, 17:24 Uhr
0xdeadbeef
Gott (Operator)
|
Für diese Aufgabenstellung reicht
C++: |
#include <iostream>
int main() { unsigned num_inputs = 0, sundays = 0, input;
while(true) { std::cout << "Tage nach Sonntag (0-100, >100 für Abbruch): " << std::flush; std::cin >> input;
if(input > 100) break;
++num_inputs; if(input % 7 == 0) ++sundays; }
std::cout << num_inputs << " Eingaben, davon " << (double(sundays) * 100.0 / num_inputs) << "% Sonntage." << std::endl; }
|
völlig aus. Wenns unbedingt so ausführlich sein soll, halte ich
C++: |
#include <iostream> #include <string>
int main() { unsigned num_inputs = 0, weekdays[7] = { 0 }, input; std::string weekday_names[] = { "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" };
while(true) { std::cout << "Tage nach Sonntag (0-100, >100 für Abbruch): " << std::flush; std::cin >> input;
if(input > 100) break;
++num_inputs; ++weekdays[input % 7]; }
std::cout << num_inputs << " Eingaben." << std::endl; for(int i = 0; i < 7; ++i) std::cout << weekday_names[i] << ": " << double(weekdays[i] * 100 / num_inputs) << '%' << std::endl; }
|
für sinnvoller als diese switch-Konstruktion... -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 21.11.2004 um 17:33 Uhr von 0xdeadbeef editiert. |