Mam takie zadanie:
urządzenie monitorujące funkcje życiowe pacjenta na Oddziale Intensywnej Opieki Medycznej sprawdza: skurczowe i rozkurczowe ciśnienie krwi, puls oraz temperaturę ciała. Po przekroczeniu granicznych wartości urządzenie wywołuje alarm. Zgodnie z API urządzenia zawartego w pliku medical_api.h, wartości paramterów odczytuje się z czujników wywołując funkcje:
1. ciśnienie skurczowe: get_systolic_pressure();
2. ciśnienie rozkurczowe: get_diastolic_pressure();
3. tętno: get_pulse();
4. temperatura ciała: get_temperature();

Zakresy wartości poszczególnych parametrów uznane za prawidłowe przedstawiają się następująco:

1. ciśnienie skurczowe: 100 - 139 mm Hg
2. ciśnienie rozkurczowe: 70 - 89 mm Hg
3. tętno: 55 - 80 uderzeń na minutę
4. temperatura: 36.0 - 37.0 stopni Celsjusza.

Możliwe stany alarmowe to:
NORMAL = wszystkie parametry życiowe są w normie
WARNING = jeden z parametrów (np. tętno albo ciśnienie skurczowe lub/i rozkurczowe) uległ odchyleniu od normy.
DANGER = dwa parametry (np. tętno i temperatura ) są już niebezpieczne dla życia.
CRITICAL = trzy lub więcej parametrów uległo zmianie stan pacjenta jest krytyczny!

Aha, pamiętaj, że niezależnie które ciśnienie (skurczowe, rozkurczowe czy oba naraz) ulegają zaburzeniu, należy traktować to jako podniesienie alarmu o 1 stopień.

Uzupełnij funkcję checkCondition() tak aby w przypadku przekroczenia którejkolwiek wartości zgłosiła prawidłowy alarm: WARNING, DANGER, CRITICAL. W przypadku gdy wszystko jest dobrze niech funkcja zgłosi wartość NORMAL.

Mój kod C++:
#include
E_MEDICALS checkCondition()
{
int sys = get_systolic_pressure();
int dia = get_diastolic_pressure();
int pulse = get_pulse();
float temp = get_temperature();

int level =1;

if ((dia < 70 || dia > 89) && (temp > 36 || temp > 37) && ( sys < 100 || sys > 139) && (pulse < 55 || pulse > 80))
level = 4;
if (level == 4)
return CRITICAL;
else
if ((sys < 100 || sys > 139) && ( dia < 70 || dia > 89) && ( pulse < 55 || pulse > 80))
level = 3;
if ((sys < 100 || sys > 139) && ( temp < 36 || temp > 37) && ( pulse < 55 || pulse > 80))
level = 3;
if ((dia < 70 || dia > 89) && ( temp < 36 || temp > 37) && ( pulse < 55 || pulse > 80))
level = 3;
if ((dia < 70 || dia > 89) && ( temp < 36 || temp > 37) && ( sys < 100 || sys> 139))
level = 3;
if (level == 3)
return DANGER;
else
if ((sys < 100 || sys > 139) && ( dia < 70 || dia > 80))
level = 2;
if ((pulse < 55 || pulse > 80) && ( temp < 36 || temp > 37))
level = 2;
if ((pulse < 55 || pulse > 80) && ( sys < 100 || sys > 139))
level = 2;
if ((pulse < 55 || pulse > 80) && ( dia < 70 || dia > 89))
level = 2;
if ((sys < 100 || sys > 139) && ( temp < 36 || temp > 37))
level = 2;
if ((dia < 70 || dia > 89) && ( temp < 36 || temp > 37))
level = 2;
if (level ==2)
return WARNING;
else
return NORMAL;
}

CZY KTOŚ POMOŻĘ MI POPRAWIĆ ? ;)