...
Code Block |
---|
function P = process (P, choice ) fprintf ('Du har valgt %i\n', choice ); end function print_headerprintHeader () fprintf ('Skriver ut en velkomstmelding \n'); end function print_menuprintMenu () fprintf ('Skriver ut en meny \n'); end function print_footerprintFooter () 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:
...
Code Block |
---|
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 printHeader()
slik at den skriver ut en passende velkomstmelding. Hovedmenyen skal se slik ut
Code Block |
---|
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)
Definer funksjonsstubbene processLoad(), processStore(P), processListPersons(P), P = processNewPerson(P)
og P = processChangePerson(P).
Legg inn en fprintf som forteller hva hver av funksjonene skal gjøre. Feks: processLoad
har fprinft('Laster fil');
.
PS: P er en vektor hvor hvert element er en personstruktur lik den i oppgave 2.
f)
Skriv om P = process(P, choice)
-funksjonen slik at den kaller riktig underfunksjon ved gitt valg. Hvis valget er < 1 eller > 5, skal funksjonen skrive ut 'Ugyldig valg!'.
g)
Fyll ut P = processLoad()
-funksjonen. Den skal be brukeren om å fylle inn et navn på en fil. Så skal den kalle på loadfile-funksjonen fra oppgave 3 med navnet som argument. Funksjonen skal returnere vektoren som loadfile returnerer.
h)
Fullfør processStore(P)
. Den skal be brukeren om å fylle inn et navn på en fil. Så skal den kalle store-funksjonen (fra oppgave 3) med navnet og parameteren P.
i)
Skriv ferdig processListPersons(P)
. Funksjonen skal kalle funksjonen listPersons
fra oppgave 2 med parameteren P som argument.
j)
Fyll ut P = processNewPerson(P)
. Den skal kalle på promptPerson fra oppgave 2. Personstrukturen som promptPerson
returnerer skal legges til på slutten av parameteren P. Merk at parameteren P skal også returneres.
k)
Fullfør P = processChangePerson(P)
funksjonen. Den skal først be brukeren om å skrive inn et tall, hvor tallet representerer nummeret på personen som brukere vil endre på. Deretter skal funksjonen skrive ut denne personen. Så kaller den på promptPerson
for å la brukeren skrive inn oppdatert informasjon. Overskriv til slutt personen i parameteren P. Denne funksjonen skal også returnere P.
l)
Det er vanlig at et program spør om du vil lagre ulagrede endringer før programmet avsluttes. Implementer dette i programmet.
m)
Legg til et menyvalg for å søke etter en person på navn og implementer funksjonaliteten for dette. Søket skal printe ut personen med printPerson
funksjonen.