Przerabiam sobie ksiazke Praty, prosze o pomoc i ocene kodu, krytyka mile widziana :)
1.Podaj wzrost w cm, wyswietl w stopach i calach.
#include <iostream>
using namespace std;
const float cal=2.54;
const float stopa=30.48;
int wzrost_cm;
int cm_na_stopy(int c)
{
return wzrost_cm/stopa;
}
float ile_cal(int x,int y)
{
return (x-y*stopa)/cal;
}
int main()
{
cout << "Podaj wzrost w centymetrach: ";
cin>> wzrost_cm;
cout<<"Twoj wzrost wynosi "<<cm_na_stopy(wzrost_cm)<<" stop i "<<ile_cal(wzrost_cm, cm_na_stopy(wzrost_cm))<<" cali"<<endl;
return 0;
}
2.Podaj wzrost w stopach i calach, wage w funtach, podaj BMI
#include <iostream>
using namespace std;
float wzrost_stopy;
float wzrost_cale;
float waga_funty;
void wprowadz_dane()
{ cout<<"Podaj swoj wzrost:"<<endl<<"stopy: ";
cin>>wzrost_stopy;
cout<< "cale: ";
cin>>wzrost_cale;
cout<<"Podaj swoja wage w funtach: ";
cin>>waga_funty;
}
float wzrost_na_metry(float s,float c)
{ float cale;
cale=wzrost_stopy*12+wzrost_cale;
return cale*0.0254;
}
float funty_na_kg(float f)
{ return f/2.2;
}
int main()
{ wprowadz_dane();
float metry=wzrost_na_metry(wzrost_stopy,wzrost_cale);
float kg=funty_na_kg(waga_funty);
float BMI;
BMI=kg/(metry*metry);
cout<<"BMI wynosi: "<<BMI;
return 0;
}
3.Podaj dlugosc geograficzna w stopniach minutach sekundach, podaj w stopniach.
#include <iostream>
using namespace std;
int stopnie, minuty, sekundy;
void wprowadz_dane()
{ cout <<"Podaj dlugosc geograficzna w stopniach minutach i sekundach: "<<endl;
cout << "Najpierw podaj stopnie: ";
cin >>stopnie;
cout <<"Nastepnie podaj minuty stopnia luku: ";
cin >> minuty;
cout<<"Na koniec podaj sekundy luku: ";
cin >> sekundy;
}
int main()
{ float dlugosc; //dlaczego jak zmienie na int to wynik tez wyswietla sie jako int?
float wynik;
wprowadz_dane();
dlugosc=(stopnie*3600)+(minuty*60)+sekundy;
wynik=dlugosc/3600;
cout<<endl<<stopnie<<" stopni, "<<minuty<<" minut, "<<sekundy<<" sekund = "<< wynik<<" stopni";
return 0;
}
4.Podaj sekundy, wyswietl dni, godziny, minuty, sekundy.
#include <iostream>
using namespace std;
long sekundy;
const int dzien=86400;
const int godzina=3600;
const int minuta=60;
int obliczenia(int sekundy)
{
}
int main()
{ int liczba_dni;
int liczba_godzin;
int liczba_minut;
int liczba_sekund;
int reszta_dni;
int reszta_godzin;
cout << "Podaj liczbe sekund: ";
cin>>sekundy;
liczba_dni=sekundy/dzien;
reszta_dni=sekundy%dzien;
liczba_godzin=reszta_dni/godzina;
reszta_godzin=reszta_dni%godzina;
liczba_minut=reszta_godzin/minuta;
liczba_sekund=reszta_godzin%minuta;
cout<<sekundy<<" sekund = "<<liczba_dni<<" dni, "
<<liczba_godzin<<" godzin, "<<liczba_minut
<<" minut, "<<liczba_sekund<<" sekund";
return 0;
}
Da sie to zrobic z mniejsza liczba zmiennych?
5.Podaj ludnosc swiata i polski, wyswietl % polski do swiata
#include <iostream>
using namespace std;
double swiat;
double polska;
void wprowadz_dane()
{
cout << "Podaj liczbe ludnosci swiata: ";
cin>>swiat;
cout<< "Podaj liczbe ludnosci Polski: ";
cin>>polska;
}
float obliczenia(double swiat, double polska)
{
return (polska/swiat)*100;
}
int main()
{ wprowadz_dane();
cout<<"Populacja Polski stanowi "<<obliczenia(swiat,polska)<<"% populacji swiata.";
return 0;
}
w tresci zadania jest napisane zeby zapisac dane w zmiennych long long, a program zaczął dobrze obliczac dopiero jak zmieniłem na double, wiec jak to ma byc w koncu?