6 svar
515 visningar
cptpepper 7
Postad: 14 feb 2017 17:01

Ändra i fil

Hej,

Jag har en uppgift där man ska ändra i en fil, men vet inte hur jag ska börja eller hur det ska läggas upp. Finns det någon som kan ge några tips?

Uppgiften är att ändra:

Förnamn Efternamn

YYMMDDNNNN

Adressrad

Till:

Efternamn, Förnamn

Adressrad

dobedidoo 85
Postad: 17 feb 2017 15:23

Jag har lite svårt att förstå vad uppgiften är. Kan du försöka formulera dig på annat sätt? Eller så har du redan löst det, kanske?

PeterÅ 842
Postad: 18 feb 2017 13:02

Du läser in filen till en buffer[]. Sedan söker du efter "Förnamn", söker efter vad som följer, det är förnamnets värde. Du byter ut det mot det nya värdet. Gör samma sak med övriga uppgifter.
Skriv sedan tillbaka den ändrade buffern till samma eller en ny fil.

Det är ingen enkel uppgift om du aldrig gjort detta förut.
För oss som svarar skulle det hjälpa mycket att få se frågeställningen.

cptpepper 7
Postad: 19 feb 2017 15:21

Filen names.txt innehåller namn och personnummer på följande form. Filen innehåller flera personer.

Förnamn Efternamn

YYMMDDNNNN

Adressrad

Din uppgift är att omvandla indatat till formen:
Efternamn, Förnamn

Adressrad

 

Det här är det jag får veta. 

PeterÅ 842
Postad: 19 feb 2017 15:45 Redigerad: 19 feb 2017 15:48

Har du tillgång till names.txt? Jag undrar om enbart namnen står eller om det står "Förnamn nnn" osv.

Om filen enbart innehåller namn, personnummer, adress, är det på exakt 3 rader var?
Innehåller förnamn eller efternamn även mellanslag? (Af Crona)

cptpepper 7
Postad: 19 feb 2017 23:20

Det här är de första tre namnen, det finns åtminstone 1000 namn.

 

Måns Hansson
8510309159
Bössgränd 90, 373 02 RAMDALA
Olliver Lindberg
8602024898
Sandviken 76, 710 27 DYLTABRUK
Eskil Johnsson
7901105838
Löberöd 29, 521 29 KÄTTLISTORP

PeterÅ 842
Postad: 20 feb 2017 07:04

Så här kan du göra:

Öppna filen names.txt för läsning
Skapa filen newnames.txt för skrivning

Slinga:
Läs första raden (namnet) i names.txt
Leta reda på mellanslaget
Kopiera texten före mellanslaget till Förnamn
Kopiera texten efter mellanslaget till Efternamn
Skriv Efternamn till newnames.txt
Skriv mellanslag till newnames.txt
Skriv Förnamn till newnames.txt
Skriv radslut till newnames.txt
Läs nästa rad (personnummer, ignoreras)
Läs adressrad till Adressrad
Skriv Adressrad till newnames.txt
Skriv radslut till newnames.txt

Upprepa från Slinga tills alla rader är behandlade

Stäng newnames.txt
Stäng names.txt

Detta förutsätter att det inte finns något dubbelt förnamn, (Lars Erik Karlsson).
Berätta gärna hur det går.

Svara
Close