KERTAUSTEHTÄVIÄ Tietue Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla: struct henkilotiedot char nimi [20]; int ika; char puh [10]; ; Edellä esitetty kuvaus määrittelee tietuetyypin, johon liittyy kolme kenttää, joiden nimet ovat nimi, ika ja puh. Kenttien määrittelyt noudattavat aikaisemmin opittua tapaa määritellä muuttujia. Tietuetyyppi määritellään ohjelman alussa kirjastojen esittelyn jälkeen. Edellä määriteltyä rakennetta noudattava tietuemuuttuja voidaan tämän jälkeen määritellä seuraavasti: struct henkilotiedot henkilo; Kertaus 1 Määrittele tietuemuuttuja, johon talletat henkilön etunimen, sukunimen ja henkilötunnuksen. Kysy muuttujalle arvot ja tulosta käyttäjän syöttämät arvot. Kertaus 2 Ohjelma, joka kysyy 200 henkilön etunimen, sukunimen ja henkilötunnuksen. Ohjelma tulostaa käyttäjän syöttämät tiedot.
while Ehdon ollessa tosi suoritetaan silmukan sisäiset lauseet ja palataan tutkimaan vieläkö ehto on tosi. Kun ehto on muuttunut epätodeksi, ohjelma jatkaa eteenpäin. Esimerkkiohjelma tulostaa käyttäjän syöttämän kokonaisluvun kertotaulun: int kerrottava, tulo; int kertoja=1; printf ("Anna luku, jonka kertotaulun haluat :"); scanf ("%d",&kerrottava); while (kertoja <= 10) tulo = kertoja * kerrottava; printf ("%3d * %3d = %3d\n", kertoja,kerrottava,tulo); kertoja++; Esimerkkiohjelma kysyy käyttäjältä laskee 10 käyttäjän syöttämää pistemäärää väliltä 0-5 yhteen. int pistemaara;
int summa = 0; int lkm = 0; while (lkm < 10) printf ("Anna pistemäärä: "); scanf ("%d", &pistemaara); while (pistemaara < 0 pistemaara > 5) printf ("Ei kelpaa, anna väliltä 0-5: "); scanf ("%d", &pistemaara); summa += pistemaara; lkm++; printf ("Pistemäärien summa on %d", summa); Kertaus 3 Tee ohjelma, joka tulostaa nimesi 1000 kertaa while-silmukassa. Kertaus 4 Tee ohjelma, joka kysyy käyttäjältä 10 kokonaislukua ja tarkistaa ovatko luvut jaollisia 3:lla ja 7:llä. Käytä apunasi modulo-operaattoria Kertaus 5 Tee ohjelma, joka laskee käyttäjän antamasta merkkijonosta tietyn merkin (jonka käyttäjä antaa) kappalemäärän.
do while Loppuehtoisessa do...while-toistorakenteessa suoritetaan ensin yksi toistokerta ja sen jälkeen tutkitaan pitääkö toistaa uudestaan. do...while-rakenne sopii tilanteisiin, joissa jokin asia suoritetaan vähintään kerran. Esimerkkiohjelma kysyy käyttäjältä positiivisen luvun: int luku; do printf ("Anna positiivinen luku"); scanf ("%d",&luku); while (luku <0); printf ("%d on positiivinen luku", luku); Esimerkkiohjelma laskee käyttäjän syöttämät kaksi lukua yhteen ja tulostaa summan näytölle. Ohjelma kysyy käyttäjältä lukuja, kunnes käyttäjä haluaa lopettaa lukujen syöttämisen.
int luku1, luku2; char vastaus; do printf ("Olen yhteenlaskukone"); printf ("\nanna kaksi kokonaislukua: "); scanf ("%d %d", &luku1, &luku2); printf ("Summa on: %d",luku1+luku2); printf ("\njatketaanko (k/e): "); vastaus = getchar(); while (vastaus == 'k'); Kertaus 6 Tee ohjelma, joka tulostaa nimesi 200 kertaa do while silmukassa. Kertaus 7 Tee ohjelma joka kysyy käyttäjältä salasanan maksimissaan kolme kertaa, ohjelma kehottaa käyttäjää tarkistamaan salasana, jos se on syötetty 3 kertaa väärin, oikealla salasanalla ohjelma onnittelee käyttäjää hyvästä muistista ja lopettaa salasanan tivaamisen. Kertaus 8 Tee ohjelma, joka laskee käyttäjän antamasta merkkijonosta (merkkijonon maksimipituus tässä tehtävässä 100 merkkiä) sanojen lukumäärän. Kertaus 9 Kirjoita ohjelma, joka ilmoittaa numeerisen arvosanan sanallisen kuvauksen, kun ohjelmalle annetaan syötteenä numeerinen arvosana. Mikäli käyttäjän antama syöte ei ole välillä 0-5, ohjelma antaa virheilmoituksen ja lopettaa toimintansa.
Numeerisia arvosanoja vastaavat sanalliset arviot ovat seuraavat: 0 = hylätty 1 = välttävä 2 = tyydyttävä 3 = hyvä 4 = kiitettävä 5= erinomainen Funktio Kertaus 10 Tee ohjelma joka kysyy käyttäjältä salasanan. Salasanan kysyminen toteutetaan aliohjelmassa, joka kysyy salasanan maksimissaan kolme kertaa, ohjelma kehottaa käyttäjää tarkistamaan salasana, jos se on syötetty 3 kertaa väärin, oikealla salasanalla ohjelma onnittelee käyttäjää hyvästä muistista ja lopettaa salasanan tivaamisen. Kertaus 11 Tee ohjelma, joka kysyy käyttäjältä kokonaisluvun ja tulostaa ruutuun selityksin varustettuna ko luvun neliön ja kuution. Luvun neliö lasketaan aliohjelmassa nelio ja luvun kuutio lasketaan aliohjelmassa kuutio. Ohjelman tulostus toteutetaan pääohjelmassa.