Læringsmål:
- PLACEHOLDER
Pensum:
- 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 FunctionsPLACEHOLDER
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æøgende 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 omgjøre personstrukturene til tekststrenger som skal skrives på hver sin linje i filen.
...
...
function L = unknown(L)
tmp = L(end);
for i = length(L):-1:2
L(i) = L(i-1);
end
L(1)=tmp;
end
d)
Lag funksjonen loadfile(filename)
. Funksjonen skal lese filen filename linje for linje. For hver linje skal den bruke deserialize_person deserializePerson
for å lage en personstruktur av den leste linjen. Funksjonen skal returnere en vektor med alle personene fra filen.
...