/* ********************************************************* COOPER3.CPP Kuten COOPER2.CPP, mutta käytetään do..while -silmukkaa syöttötietojen tarkistamisessa. ********************************************************* */ #include #define RADAN_PITUUS 400 #define MAKSIMI 6000 #define MINIMI 100 void tulosta_esittely(void) { cout << "\n\n"; cout << "Cooperin testi\n" << endl; } void kysy_matka(int &matka) { /* toistetaan kunnes annettu matka on järkevä */ do { cout << "Anna juoksemasi matka metreinä ("; cout << MINIMI << "-" << MAKSIMI << ") > "; cin >> matka; } while (matka < MINIMI || matka > MAKSIMI); } 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; }