Læringsmål:
- Strenger
- Filbehandling
Pensum:
- Kap 8.2
- Kap 9.1
I denne oppgave skal det lages en persondatabase. Det innebærer å lage en fil som inneholder strengrepresentasjoner av personstrukturen fra oppgaven over.
a)
Lag funksjonen serializePerson(person)
. Funksjonen tar inn en personstruktur og skal returnere en strengrepresentasjon av strukturen. Tekststrengen skal være på følgende format:
<navn>#<dato>#<tlf>
Her separerer # - tegnet de ulike feltene. Feks blir strukturen fra oppgave 2 c): Per Persson#20.05.1990#48151623
Tips: Skriv funksjonen serializeDate(date) som returnerer tekstrengen <dag>.<måned>.<år>
.
b)
Lag funksjonen deserializePerson
. Denne skal konvertere en tekststreng til personstruktur.
Tips: Lag hjelpefunksjonen deserializeDate
. deserializeDate("20.05.1990")
gir struct('day', 20, 'month', 5, 'year', 1990)
c)
Lag funksjonen store(fileName, listOfPersons)
. listOfPersons
er en liste med personstrukturer og filename er en tekststreng med navnet på filen som kalleren av funksjonen ønsker å lagre personene i. Funksjonen skal bruke serializePerson
for å gjøre om personstrukturene til tekststrenger som skal skrives på hver sin linje i filen.
d)
Lag funksjonen loadfile(filename)
. Funksjonen skal lese filen filename linje for linje. For hver linje skal den bruke deserializePerson
for å lage en personstruktur av den leste linjen. Funksjonen skal returnere en vektor med alle personene fra filen.