Avatar billede gnyff Nybegynder
19. december 2002 - 18:49 Der er 8 kommentarer og
1 løsning

Hurtig hjælp

Hejsa

Jeg er på den afsluttende opgave i et kursus, men jeg kan ikke få dette til at virke hvad er der galt med koden???

#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <conio.h>

class fil
{
public:
void laes() const

    char a[100];
    ifstream ifil("c:\\cpp\\gods\\gods.dat");
    ifil>>a;
   
}
skriv(char vare, char mode, float pris) const
{
    ofstream ofil("c:\\cpp\\gods\\gods.dat");
    ofil<<"Ost\|\| frys\|\|13,45";
}
};

int main(){
                fil ost;
                string varen, moden;
                float prisen;
                clrscr();
                cout<<"Vare ";
                cin>>varen;
                cout<<" Maade: ";
                cin>>moden;
                cout<<" Prisen : ";
                cin>>prisen;
                ost.skriv(varen,moden,prisen);
return 0; 
   
}
Avatar billede arne_v Ekspert
19. december 2002 - 19:08 #1
Følgende må være et skridt i den rigtige retning:

#include <iostream.h>
#include <fstream.h>

class fil
{
public:
void laes() const
{
    char a[100];
    ifstream ifil("c:\\cpp\\gods\\gods.dat");
    ifil>>a;
    cout << a << endl;
 
};
void skriv(char *vare, char *mode, float pris) const
{
    ofstream ofil("c:\\cpp\\gods\\gods.dat");
    ofil << vare << "||" << mode << "||" << pris << endl;
};
};

int main(){
                fil ost;
                char varen[100], moden[100];
                float prisen;
                cout<<"Vare ";
                cin>>varen;
                cout<<" Maade: ";
                cin>>moden;
                cout<<" Prisen : ";
                cin>>prisen;
                ost.skriv(varen,moden,prisen);
                ost.laes();
return 0;
 
}
Avatar billede arne_v Ekspert
19. december 2002 - 19:09 #2
Jeg har konverteret til standard C++, men det er kun
for convenience.
Avatar billede gnyff Nybegynder
19. december 2002 - 21:02 #3
Jepsk, det virker men hvordan får jeg den til at tilføje linier i steden for at overskrive den linie der er der i forvejen???
Avatar billede arne_v Ekspert
19. december 2002 - 21:19 #4
Så skal du åbne filen i append mode.
Avatar billede arne_v Ekspert
19. december 2002 - 21:20 #5
ofstream ofil("c:\\cpp\\gods\\gods.dat", ios::app);

hvis jeg husker rigtigt !
Avatar billede gnyff Nybegynder
19. december 2002 - 22:52 #6
Ja, du huskede rigtigt, så skal jeg bare finde ud af hvordan man får alle linierne frem igen *S* Jeg kan kun få en linie frem af gange *S*
Avatar billede arne_v Ekspert
19. december 2002 - 22:55 #7
Du kan enten læse demind og processe dem en af gangen.

Eksempel:

    char a[100];
    ifstream ifil("c:\\cpp\\gods\\gods.dat");
    while(!ifil.eof())
    {
      ifil>>a;
      cout << a << endl;
    }

eller så må lave a om til et 2 dimensionelt array, så du kan
gemme allelinierne i det.

Eksempel:

    char a[100][100];
    ifstream ifil("c:\\cpp\\gods\\gods.dat");
    int n = 0;
    while(!ifil.eof())
    {
      ifil>>a[n];
      n++;
    }
Avatar billede arne_v Ekspert
14. januar 2003 - 20:45 #8
gnyff>

Har du fået løst dit problem ?
Avatar billede gnyff Nybegynder
15. januar 2003 - 07:22 #9
Ja, jeg fik løst mit problem, undskyld jeg glæmte at afslutte spørsmålet.

Mange tak for hjæpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester