Skriv et program der indlæser tekstfilen i et array af følgende struct:
#define MAX_NAME_LGT 50 struct person{ char fornavn[MAX_NAME_LGT]; char efternavn[MAX_NAME_LGT]; char vejnavn[MAX_NAME_LGT]; int vejnummer; int postnummer; char bynavn[MAX_NAME_LGT]; };
Indholdet af tekstfilen findes også nederst i opgaven.
Tekstfilen er linje-orienteret. Data om én person findes på én linje. Navne-delen, gade-delen og by-delen er adskilt af kommaer, og linjen er afsluttet med et punktum. Der optræder ikke cifre i fornavn efternavne, gadenavne eller bynavne. Hver person har ét fornavn og ét efternavn. Gadenavnet kan bestå af flere ord. Bynavnet består af netop et ord.
Overvej omhyggeligt hvordan du læser bestanddelene af en linje. Det er måske nyttigt for dig at bruge scansets i din løsning, som et alternativ til %s . Vær forsigtig med at ikke at få indlæst et komma som en del af efternavnet. Vær også forsigtig med, at et vejnavn ikke ender med et 'space'.
Sorter de indlæste data efter efternavn og udskriv de sorterede data på en anden fil. Filen skal have følgende simple linje-format:
By: Efternavn
Denne fil skal genereres med det givne input.
Her er input filen til programmet:
Lars Jensen, Engtoften 23, 7182 Bredsten. Bo Olsen, Gammel Vestergade 56, 4261 Dalmose. Kurt Jensen, Haderslevvej 15, 8370 Hadsten. Birte Madsen, Universitetsvej 899, 9000 Aalborg. Kaj Moberg, Halevindingevej 2, 2670 Greve. Bo Rise, Hadsund Landvej Nord 56, 8900 Randers. Ebbe Rise, Hadsund Landvej Syd 58, 9520 Hobro. Kalle Rastrup, Under Broen 567, 2650 Hvidovre. Emil Rask, Over Broen 765, 2650 Glostrup. Jens Larsen, Finkevej 1, 6682 Hovborg. Lars Olsen, Gammel Vindingevej 2, 7560 Hjerm.
Her er output filen fra programmet:
Hadsten: Jensen Bredsten: Jensen Hovborg: Larsen Aalborg: Madsen Greve: Moberg Hjerm: Olsen Dalmose: Olsen Glostrup: Rask Hvidovre: Rastrup Randers: Rise Hobro: Rise
Løsningen til denne opgave er pt. ikke frigivet