#include #include using namespace std; const double pi = 3.141592; const char trekant = 'T'; const char sirkel = 'S'; char lesValg(); double beregnAreal(char valg); void skrivAreal(double areal); void lesDataForTrekant(double &grunnlinje, double &hoyde); double beregnArealForTrekant(double grunnlinje, double hoyde); void lesDataForSirkel(double &radius); double beregnArealForSirkel(double radius); char lesLovligSvar(char lovlig1, char lovlig2); int main() { char valg = lesValg(); double areal = beregnAreal(valg); skrivAreal(areal); cin.get(); } // main char lesValg() { cout << "Qnsker du og behandle trekant eller sirkel?" << endl; cout << "Skriv " << trekant << " for trekant og " << sirkel << " for sirkel: "; char valg = lesLovligSvar(trekant, sirkel); return valg; } double beregnAreal( char valg) { double areal; if (valg == trekant) { double grunnlinje; double hoyde; lesDataForTrekant(grunnlinje, hoyde); areal = beregnArealForTrekant(grunnlinje, hoyde); } else { double radius; lesDataForSirkel(radius); areal = beregnArealForSirkel(radius); } return areal; } void skrivAreal( double areal) { cout << "Arealet blir: " << areal << endl; cin.get(); } void lesDataForTrekant( double &grunnlinje, double &hoyde) { cout << "Skriv inn grunnlinje og h0yde for trekanten: "; cin >> grunnlinje >> hoyde; } double beregnArealForTrekant( double grunnlinje, double hoyde) { return 0.5 * grunnlinje * hoyde; } void lesDataForSirkel( double &radius) { cout << "Skriv inn radiusen til sirkelen: "; cin >> radius; } double beregnArealForSirkel( double radius) { return radius * radius * pi; } char lesLovligSvar( char lovlig1, char lovlig2) { lovlig1 = toupper(lovlig1); lovlig2 = toupper(lovlig2); char lovlig1Liten = tolower(lovlig1); char lovlig2Liten = tolower(lovlig2); char svar; cin >> svar; svar = toupper(svar); while (svar != lovlig1 && svar != lovlig2) { cout << "Feil! Skriv " << lovlig1 << ", " << lovlig1Liten << ", " << lovlig2 << " eller "; cout << lovlig2Liten << ": "; cin >> svar; svar = toupper(svar); } return svar; }