Læringsmål:
- Strengebehandling
- 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
- 8.2 - Structures
- 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.
a)
Lag funksjonen serializePerson(person)
. Funksjonen tar inn en Personstruct og skal returnere en strengrepresentasjon av strukturen. Tekststrengen skal være på følgende format:
<navn>#<dato>#<tlf>
Her separerer # - tegnet de ulike feltene.
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
.
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 å omgjøre 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.