Gå til innhold

Lesing og skriving til fil


Anbefalte innlegg

Hei. Sitter og arbeider med datafiler, og har noen spørsmål.

 

Programmet jeg skal lage, skal jobbe opp mot ei sekvensiell tekstfil som inneholder Fornavn, Etternavn og Fødselsdato på en rekke personer.

Brukeren av programmet skal kunne finne fødselsnummeret til en person ved å skrive inn For- og Etternavn.

Man skal også kunne legge inn flere personer i navneregisteret.

 

Laget meg ei register.dat -fil som ser slik ut:

Arne Arnesen 01.02.1975
Bjarne Bjarnesen 02.02.1989
Hans Hansen 30.01.1970

 

Jobber med å lage metoder som fungerer som de skal... Her er hva jeg har kommet frem til så langt:

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>

using namespace std;

const string filnavn = "register.dat";

void skrivTilFil(string filnavn);
void lesFraFil(string filnavn);

int main() {
 
skrivTilFil(filnavn);
return 0;



}


//Metode for å skrive til Fil
void skrivTilFil(string filnavn) {
ofstream utfil;
utfil.open("register.dat", ios::app); //Fortsetter på fila.
if(!utfil) {
 cout << "Feil ved aapning av fila. Sjekk at den finnes!!";
 exit(EXIT_FAILURE);
}

string personInfo;
cout << "Skriv inn Fornavn, Etternavn og fodselsdato: ";
getline(cin, personInfo);

utfil << personInfo << endl;

cout << personInfo << " er skrevet til fila :-) " << endl;
utfil.close;
}

//Metode for å lese fra fil
void lesFraFil(string filnavn) {

string navneRegister;

ifstream innfil;    	
innfil.open(filnavn.c_str());  
if(!innfil) {      
 cout << "Feil ved aapning av innfil." << endl;
 exit(EXIT_FAILURE);
}

while(!innfil.eof()) {
 
 innfil >> navneRegister;
 cout << navneRegister << endl;
}


innfil.close;
}

 

 

Metoden skrivTilFil(string filnavn) - fungerer som den skal, mens metoden lesFraFil(string filnavn), ikke er helt i vater. Denne metoden gir utskriften:

Arne
Arnesen
01.02.1975
Bjarne
Bjarnesen
02.02.1989
Hans
Hansen
30.01.1970
30.01.1970
Press any key to continue

Det er ikke spurt etter denne metoden i oppgaveteksten, men jeg tenkte den kunne være grei å ha.

Kunne tenkt meg at utskriften kunne blitt slik:

Arne Arnesen 01.02.1975
Bjarne Bjarnesen 02.02.1989
Hans Hansen 30.01.1970

 

Også trenger jeg en metode som finner personens fødselsdato, gitt fornavn og etternavn. Her trenger jeg virkelig hjelp.

Antar at denne funksjonen tar filnavnet, personens for- og etternavn som innpapameter.

 

Er klar over at denne oppgaven også kan løses vha en binær fil, men det skal jeg altså ikke gjøre i denne omgang.

 

Takker for all hjelp.

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...