/* ********************************************************* COOPER2.CPP Laskee juostut (täydet) kierrokset Cooperin testissä. Käyttäjä antaman matkan järkevyys tarkistetaan. ********************************************************* */ #include #define RADAN_PITUUS 400 #define MAKSIMI 6000 // annetun matkan yläraja #define MINIMI 100 // annetun matkan alaraja void tulosta_esittely(void) { cout << "\n\n"; cout << "Cooperin testi\n" << endl; } void kysy_matka(int &matka) { cout << "Anna juoksemasi matka metreinä > "; cin >> matka; /* toistetaan kunnes annettu matka on järkevä */ while (matka < MINIMI || matka > MAKSIMI) { cout << "\n"; cout << "Antamasi matka (" << matka << " m) on järjetön!\n"; cout << "Anna juoksemasi matka metreinä > "; cin >> matka; } } int laske_kierrokset(int &matka) { int kierrokset = 0; while (matka >= RADAN_PITUUS) { matka = matka - RADAN_PITUUS; kierrokset++; } return kierrokset; } void tulosta_kierrokset(int kierrokset, int loppumatka) { cout << "\n"; cout << "Juoksit " << kierrokset << " kierrosta "; cout << "ja lisäksi " << loppumatka << " metriä." << endl; } int main(void) { int matka; int kierros_lkm; tulosta_esittely(); kysy_matka(matka); kierros_lkm = laske_kierrokset(matka); tulosta_kierrokset(kierros_lkm, matka); return 0; }