/* ********************************************************* PAINO5.CPP Lasketaan ihannepaino. Tarkistetaan käyttäjän antamat tiedot. ********************************************************* */ #include #include #define SUHDELUKU 100.0 /* raja-arvot */ #define ALIN_PITUUS 10.0 #define YLIN_PITUUS 300.0 #define ALIN_PAINO 1.0 #define YLIN_PAINO 350.0 void tulosta_esittely(void) { cout << "\n\n"; cout << " Ihannepaino\n\n"; cout << "Ohjelma laskee ihannepainosi\n"; cout << "pituutesi perusteella.\n" << endl; } void kysy_pituus(double &pituus) { cout << "Anna pituutesi sentteinä > "; cin >> pituus; } void kysy_paino(double &paino) { cout << "Anna painosi kiloina > "; cin >> paino; } double laske_ihanne(double pituus) { return (pituus - SUHDELUKU); } double laske_erotus(double paino, double ihanne) { return (paino - ihanne); } void tulosta_painot(double paino, double ihanne, double erotus) { printf("\n"); printf("Nykyinen painosi %5.1lf kg\n", paino); printf("Ihannepainosi %5.1lf kg\n", ihanne); printf("Erotus %5.1lf kg\n", erotus); } int main(void) { double pituus, paino, ihanne, erotus; tulosta_esittely(); kysy_pituus(pituus); kysy_paino(paino); /* Tutkitaan annettujen mittojen järkevyys. Huomaa ehtolauseen jakaminen kahdelle riville. */ if (pituus < ALIN_PITUUS || pituus > YLIN_PITUUS || paino < ALIN_PAINO || paino > YLIN_PAINO) { cout << "Antamasi mitat ovat järjettömiä,\n"; cout << "ihannepainoa ei voi laskea!" << endl; } else { ihanne = laske_ihanne(pituus); erotus = laske_erotus(paino, ihanne); tulosta_painot(paino, ihanne, erotus); } return 0; }