Witam.
Proszę o opinię na temat rozwiązania ćwiczenia. Dopiero zacząłem książkę i kurs Pana M. Zelenta.
Ćwiczenie pochodzi z książki S. Prata "Język C++ Szkoła programowania".
Napisz krótki program, który poprosi o podanie wzrostu w centymetrach, a następnie przekonwertuj ten wzrost na stopy i cale. Niech program za pomocą podkreślenia odróżnia rodzaj odpowiedzi (?). Użyj stałej symbolicznej const, aby zapisać współczynnik konwersji.
#include <iostream>
using namespace std; //jestem leniem, napisze raz.
const float STOPA=30.48;
const float CAL=2.54;
int podanieWzrostu();
float naStopy(float);
float naCale(float);
int main()
{
float wzrost=podanieWzrostu();
cout<<wzrost<<"cm to "<<naStopy(wzrost)<<" stop lub "<<naCale(wzrost)<<" cali.\n";
return 0;
}
int podanieWzrostu()
{
int podany;
cout<<"Podaj wzrost w cm: ";
cin>>podany;
return podany;
}
float naStopy(float wzrostCm)
{
return wzrostCm/STOPA;
}
float naCale(float wzrostCm)
{
return wzrostCm/CAL;
}
1. Czy jest sens na początku trochę "na siłę" pisać osobne funkcje do większości obliczeń? Równie dobrze mógłbym wszystko napisać w funkcji main. Wydaje mi się jednak, że w dalszym etapie nauki korzystniejsze jest trzymania porządku w int main()...?
2. Czy w w/w kodzie nie lepiej byłoby dopisać kolejną funkcję, która wypisywała by wyniki zamiast klepać
cout<<wzrost<<"cm to "<<naStopy(wzrost)<<" stop lub "<<naCale(wzrost)<<" cali.\n";
w głównej funkcji?
3. Czego unikać, co jest ok i co poprawić? :)
Pozdrawiam,
Nowicjusz.