previous next Up Title Contents Index

Ohjelman toteutus C-kielellä

    #include <stdio.h>
    #include <conio.h>

    /* FUNKTIOIDEN PROTOTYYPIT *********/

    int valikko (void);
    void toteuta(int valinta);
    void tervehdys(void);
    void summa(void);
    void ympyran_ala(void);
    void sarjan_summa(void);

    /* PÄÄOHJELMA ***********************/    

    void main (void)
    {
        int valinta;
        do{
            valinta = valikko();
            toteuta (valinta);
        }while (valinta != 5);
    }

    /* FUNKTIOIDEN MÄÄRITTELYT**********/

    int valikko (void)
    {
        int val, ei_valintaa;
        do
        {
            ei_valintaa=0;
            clrscr();
            printf ("\n ---- MENU ---- \n\n");
            printf (" Valitse yksi vaihtoehdoista\n\n");
            printf (" (1) Tervehdys\n");
            printf (" (2) Kahden luvun summa\n");
            printf (" (3) Ympyrän ala\n");
            printf (" (4) Sarjan summa\n");
            printf (" (5) Lopetus\n");
            printf ("\n\n");
            printf (" Anna valintasi (numero) : ");
            val = getche()-'0';
            /* Merkki muutetaan kokonaisluvuksi */
            if (val < 0 || val > 5)
            {
                printf("\n Ei kelpaa.");
                printf (" Valinnan oltava väliltä 1-5\n");
                printf(" Paina jotain näppäintä");
                getch();
                ei_valintaa = 1;
            }
        }while (ei_valintaa);
        return val;
    }

    void toteuta(int valinta)
    {
        switch (valinta)
        {
            case 1:
                tervehdys();
                break;
            case 2:
                summa();
                break;
            case 3:
                ympyran_ala();
                break;
            case 4:
                sarjan_summa();
                break;
            case 5:
                clrscr();
                printf ("Kiitos käynnistä");
        }
        printf ("\n\nPaina jotain näppäintä");
        getch();
    }

    void tervehdys(void)
    {
        clrscr();
        printf ("Hei C-guru");
    }

    void summa(void)
    {
        int luku1, luku2;
        clrscr();
        printf ("Anna kaksi kokonaislukua :");
        scanf ("%d %d",&luku1,&luku2);
        printf ("Lukujen summa on %d",luku1+luku2);
    }

    void ympyran_ala(void)
    {
        clrscr();
        printf ("Tätä toimintoa ei ole vielä toteutettu");
    }

    void sarjan_summa(void)
    {
        clrscr();
        printf ("Tätä toimintoa ei ole vielä toteutettu");
    }


Pääohjelmasta voidaan todeta, että siinä sovelletaan periaatetta, jota jokainen tietokoneohjelma käytännössä noudattaa: "Ohjelma toteuttaa käyttäjän sille antamia tehtäviä, kunnes käyttäjä kyllästyy ohjelman käyttöön." Tämä jatkuvan palvelun periaate näkyy silmukkarakenteena:

    do{
        valinta = valikko();
        toteuta (valinta);
    }while (valinta != 5);

Kun mietitään esim. Windows-järjestelmän toimintaa, voidaan todeta, että siinäkin toteutetaan käyttäjän antamia tehtäviä, kunnes käyttäjä lopettaa ohjelman toiminnan. Hyvin monen palveluja tarjoavan sovelluksen pääohjelma voidaankin kirjoittaa yllä olevaan muotoon.

previous next Up Title Contents Index