-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFR_02_06 - BMI.cpp
More file actions
80 lines (66 loc) · 1.99 KB
/
Copy pathFR_02_06 - BMI.cpp
File metadata and controls
80 lines (66 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <math.h>
#include <vector>
using namespace std;
struct Osoba
{
string imie = "";
float masaWKilogramach = 0;
float wzrostWCentymetrach = 0;
};
void podajDaneOsoby(vector <Osoba> &osoby)
{
Osoba osoba;
cin >> osoba.imie >> osoba.masaWKilogramach >> osoba.wzrostWCentymetrach;
osoby.push_back(osoba);
}
float obliczWskaznikBmi(Osoba osoba)
{
float wskaznikBmi = 0;
wskaznikBmi = osoba.masaWKilogramach / pow((osoba.wzrostWCentymetrach / 100.), 2);
return wskaznikBmi;
}
void przyporzadkujWartoscBmiDoKategorii(vector <Osoba> osoby, vector <string> &osobyZNiedowaga, vector <string> &osobyOPrawidlowejWadze, vector <string> &osobyZNadwaga)
{
for (auto osoba : osoby)
{
if (obliczWskaznikBmi(osoba) < 18.5)
{
osobyZNiedowaga.push_back(osoba.imie);
}
else if ((obliczWskaznikBmi(osoba) >= 18.5) && (obliczWskaznikBmi(osoba) < 25.0))
{
osobyOPrawidlowejWadze.push_back(osoba.imie);
}
else if (obliczWskaznikBmi(osoba) >= 25.0)
{
osobyZNadwaga.push_back(osoba.imie);
}
}
}
void wyswietlWynikiBmi(string kategoria, vector <string> kategoriaWagowa)
{
cout << endl << kategoria << endl;
for (auto imie : kategoriaWagowa)
{
cout << imie << endl;
}
}
int main()
{
int iloscBadanychOsob = 0;
vector <string> osobyZNiedowaga;
vector <string> osobyOPrawidlowejWadze;
vector <string> osobyZNadwaga;
vector <Osoba> osoby;
cin >> iloscBadanychOsob;
for (int i = 0; i < iloscBadanychOsob; i++)
{
podajDaneOsoby(osoby);
}
przyporzadkujWartoscBmiDoKategorii(osoby, osobyZNiedowaga, osobyOPrawidlowejWadze, osobyZNadwaga);
wyswietlWynikiBmi("niedowaga", osobyZNiedowaga);
wyswietlWynikiBmi("wartosc prawidlowa", osobyOPrawidlowejWadze);
wyswietlWynikiBmi("nadwaga", osobyZNadwaga);
return 0;
}