/*1. Tee ohjelma, joka kysyy etunimen, sukunimen ja verenpaineen (ylä- ja alapaine).
Tiedot tallennetaan tietueeseen. Ohjelma tulostaa henkilön nimen ja pulssipaineen
*/
#include <stdio.h>
const int MAX_NIMI=30;
struct henkilotiedot {
char en[MAX_NIMI];
char sn[MAX_NIMI];
int yp,ap;
};
int main(void) {
henkilotiedot henkilo;
printf("Etunimi ?");
gets(henkilo.en);
printf("Sukunimi ?");
gets(henkilo.sn);
printf("Yläpaine ?");
scanf("%d",&henkilo.yp);
printf("Alapaine ?");
scanf("%d",&henkilo.ap);
printf("Henkilön %s %s pulssipaine on %d\n",\
henkilo.en,henkilo.sn,henkilo.yp-henkilo.ap);
return 0;
}
/*2 Tee ohjelma, joka kysyy käyttäjältä liukulukuja toistuvasti,
kunnes syötetään 0. Ohjelma tulostaa syötettyjen lukujen keskiarvon.
*/
#include <stdio.h>
int main(void) {
int i=0;
float luku, summa=0;
do {
printf("Luku ?");
scanf("%f",&luku);
if (luku!=0) {
summa=summa+luku;
i++;
}
} while(luku!=0);
printf("Keskiarvo on %.2f\n",summa/i);
return 0;
}
/*3 Tee ohjelma, joka laskee kuution tilavuuden.
Funktio kysy_luku kysyy käyttäjältä kuution sivun pituuden, funktio laske_kuutio laskee kuution tilavuuden,
funktio tulosta_kuutio tulostaa kuution tilavuuden.
Tee myös pääohjelma.
*/
#include <stdio.h>
float kysy_luku(void) {
float sivunpituus;
printf("Kuution sivun pituus ?");
scanf("%f",&sivunpituus);
return sivunpituus;
}
float laske_kuutio(float sivu) {
return (sivu*sivu*sivu);
}
void tulosta_tilavuus(float tilavuus) {
printf("Kuution tilavuus on %.2f\n",tilavuus);
}
int main(void) {
float sivu,tilavuus;
sivu=kysy_luku();
tilavuus=laske_kuutio(sivu);
tulosta_tilavuus(tilavuus);
return 0;
}
/*4 Kirjoita funktio, joka pyytää käyttäjältä luvun annetulta väliltä
ja tarkistaa luvun kelvollisuuden. Mikäli luku ei ole annetulla
välillä tai se ei ole numeerinen, sitä pyydetään funktiossa uudelleen.
Funktio palauttaa kutsujalleen käyttäjän syöttämän luvun.
Funktiota kutsutaan seuraavasti:
luku = pyyda_luku_valilta(alaraja,ylaraja);
*/
#include <stdio.h>
float pyyda_luku_valilta(float alaraja,float ylaraja) {
float luku;
char mj[10];
int n;
do {
printf("Luku ?");
gets(mj);
n=sscanf(mj,"%f",&luku);
}while (n!=1 || luku < alaraja || luku > ylaraja);
return luku;
}
int main(void) {
float luku;
printf("Luku on %f\n",pyyda_luku_valilta(-10.5,10.5));
return 0;
}