Læringsmål:
- Strukt
Pensum:
- Kap 8
a)
Lag variabelen date. Dette skal være en struktur med feltene day
, month
og year
. Disse feltene skal være satt til 20, 5 og 1992.
b)
Lag funksjonen printDate
. Den tar in datostrukturen som parameter og skriver ut datoen slik:
20.05.1990
c)
Lag variabelen person som en struktur med feltene name
, phone
og dateOfBirth
med verdiene 'Avogadro', '60221413' og strukturen date ovenfor. date
skal ha verdiene 09, 08 og 1776 for variablene day
, month
og year
.
Den sammensatte strukturen ser slik ut:
d)
Lag funksjonen printPerson(person)
. Den tar inn en personstruktur som parameter og skriver ut navn, fødselsdato og telefonnummeret til person.
Utskirften skal se slik ut:
Avogadro, 09.08.1776, 60221413
Tips: Gjenbruk tidligere funksjon.
e)
Lag funksjonen promptPerson()
. Denne ber brukeren om navn, dag, måned, år og telefonnr. Funksjonen skal returnere en personstruktur med gitt navn, fødselsdag og telefonnummer.
Eksempel på et kall av denne funksjonen:
Hva heter du? Avogadro Hvilken dag er du født? 09 Hvilken måned er du født? 08 Hvilket år er du født? 1776 Hva er telefonnummeret ditt? 60221413
f)
Lag funksjonen getAge(person) som returnerer alderen til personen.
Dagens dato finnes slik: [Y M D] = datevec(now);
getAge ( struct (' dateOfBirth ', struct ('day ', 20, 'month ', 5, 'year ', 1990 ') )) % skal skrive ut 23 getAge ( struct (' dateOfBirth ', struct ('day ', 15, 'month ', 12, 'year ', 1990 ') )) % skal skrive ut 22
g)
Lag funksjonen batchRegisterPersons()
. Denne ber brukeren om å registrere en person. Deretter skal funksjonen spørre om brukeren vil registrere flere personer og gjenta dette til brukeren er ferdig. Da skal en vektor med de registrerte personene returneres.
Eksempel på kall av funksjonen:
Hva heter du? Per Hvilken dato er du født? 15 Hvilken måned er du født? 7 Hvilket år er du født? 1990 Hva er telefonnummeret ditt? 48151623 Skal du registrere flere personer (ja/nei)? ja Hva heter du? Pål Hvilken dato er du født? 13 Hvilken måned er du født? 4 Hvilket år er du født? 1991 Hva er telefonnummeret ditt? 49432434 Skal du registrere flere personer (ja/nei)? nei
h)
Lag funksjonen listPersons(listOfPersons)
som tar enn en vektor med personer som parameter og skriver ut hver person slik oppgave d) viser.