You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Læringsmål:

  • PLACEHOLDER

Pensum:

  • PLACEHOLDER

 

I denne oppgaven skal alle tidligere funksjoner settes sammen til et kjørende program. Det skal vise en meny til brukeren og la brukeren velge hva den vil gjøre. 

Hittil i øvingsopplegget har oppgaveteksten lagt opp til å skrive i en bunn-til-topp (bottom-up) metode. Det vil si å skrive de laveste funksjonen i kalltreet (se figur) først og de øverste til slutt. Den motsatte metoden, topp-til-bunn (top-down) er også mye i bruk, det vil si å skrive de øverste funksjonene først. Dette krever at man holder litt ere tanker i hodet samtidlig, men fører etter trening ofte til en bedre løsning.

Definer følgende funksjoner:

function P = process (P, choice )
fprintf ('Du har valgt %i\n', choice );
end
 
function print_header ()
fprintf ('Skriver ut en velkomstmelding \n');
end
 
function print_menu ()
fprintf ('Skriver ut en meny \n');
end
 
function print_footer ()
fprintf ('Skriver ut en avskjedsmelding \n');
end

Dette kalles funksjonsstubber og er en teknikk som brukes når man skriver i en topp-ned metode. Stubben muligjør at man kan skrive funkjsonen personProgram som f.eks. kaller på process før process-funksjonen er skrevet ferdig. I senere oppgaver skal fprintf-funksjonen byttes ut med den faktiske implementasjonen av funksjonen.

a)

Lag funksjonen personProgram(). Funksjonen skal gjøre følgende:

  1. Skrive ut velkomstmelding
  2. Skrive ut meny
  3. Be brukeren om et tall som representerer et valg i menyen
    1. Hvis tallet er 0, avslutt
    2. Ellers: Kall på funksjonen process
  4. Repter steg 2-4 så lenge brukeren ikke vil avslutte.

Eksempel på utskrift: 

Skriver ut en velkomstmelding
Skriver ut en meny
Velg et tall: 1
Du har valgt 1
Skriver ut en meny
Velg et tall: 0
Skriver ut en avskjedsmelding

b)

Fyll ut funksjonen print_header() slik at den skriver ut en passende velkomstmelding. Hovedmenyen skal se slik ut

1. Hent database fra fil
2. Lagre database til fil
3. List alle personer
4. Legg inn ny person
5. Endre en person
0. Avslutt programmet

c)

Lag funksjonen printMenu() som skriver ut menyen.

d)

Fullfør printFooter slik den skriver ut en passende avskjedsmelding.

e)

  • No labels