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.