Læringsmål:
- StrengerStrengebehandling
- Filbehandling
- Structs
- For-løkker
- While-løkker
Pensum:
- 3.7 - User-Defined Functions That Return a Single Value
- 5.1 - The for loop
- 5.3 - While loops
- 7.2 - Operations on Strings
- Kap 8.2 - Structures
- Kap 9.1 - Lower-Level File I/O Functions
I denne oppgave skal det lages en persondatabase. Det innebærer å lage en fil som inneholder strengrepresentasjoner av personstrukturen fra oppgaven over.
...
Lag funksjonen serializePerson(person)
. Funksjonen tar inn en personstruktur og Personstruct og skal returnere en strengrepresentasjon av strukturen. Tekststrengen skal være på følgende format:
...
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 omgjøre personstrukturene til tekststrenger som skal skrives på hver sin linje i filen.
...
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.
...