voor mijn eindwerk van school moet ik een programma schrijven in C++, dat gebruik maakt van bestanden
ik maak gebruik van 3 bestanden
en ik maak gebruik van de volgende structures
tot zover is nog alles ok
ik heb deelprogramma's voor het invoeren, bewerken, verwijderen van klanten, producten en bestellingen
maar nu komt het probleem, vanaf het moment dat ik mijn bestellingen wil afdrukken op het scherm, hangt men programma
het lijkt bijna alsof hij het bestand niet kan openen om te lezen, maar alleen om te schrijven
het deelprogramma drukklanten werkt perfect, terwijl het deelprogramma drukbestellingen alleen de titel weergeeft, waarna mijn programma zichzelf vasthangt
ohja, voor ik het vergeet, men compiler (MS Visual C++ 6.0) geeft geen error's
ik maak gebruik van 3 bestanden
code:
1
2
3
| #define K "klanten.txt" #define P "producten.txt" #define B "best.txt" |
en ik maak gebruik van de volgende structures
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| typedef struct {
char naam[20];
char voornaam[20];
char adres[30];
char gebdatum[15];
char gemeente[20];
char postcode[4];
} klanten;
typedef struct {
char naam[20];
int voorraad;
float prijs;
} producten;
typedef struct {
char knaam[20];
char voornaam[20];
char pnaam[20];
int aantal;
} bestellingen;
bestellingen bestelling;
klanten klant;
producten product; |
tot zover is nog alles ok
ik heb deelprogramma's voor het invoeren, bewerken, verwijderen van klanten, producten en bestellingen
maar nu komt het probleem, vanaf het moment dat ik mijn bestellingen wil afdrukken op het scherm, hangt men programma
het lijkt bijna alsof hij het bestand niet kan openen om te lezen, maar alleen om te schrijven
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| void drukbestellingen()
{int teller=0;
titel("Geplaatste bestellingen");
ifstream bestand(B,ios::in | ios::binary);
bestand.read((char *)&bestelling,sizeof(bestellingen));
while (!bestand.eof());
{ cout << "Naam klant : " << bestelling.knaam << endl;
cout << "Voornaam klant : " << bestelling.voornaam << endl;
cout << "Naam product : " << bestelling.pnaam << endl;
cout << "Aantal besteld : " << bestelling.aantal << endl << endl;
teller++;
if ((teller % 4) == 0)
{ getch();
titel("Geplaatste bestellingen");
}
bestand.read((char *)&bestelling,sizeof(bestellingen));
}
bestand.close();
getch();
} |
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| void drukklanten()
{int teller=0;
titel("Klanten");
ifstream bestand(K,ios::in | ios::binary);
bestand.read((char *)&klant,sizeof(klanten));
while (!bestand.eof())
{ cout << "Naam : " << klant.naam << endl;
cout << "Voornaam : " << klant.voornaam << endl;
cout << "Adres : " << klant.adres << endl;
cout << "Gemeente : " << klant.gemeente << endl;
cout << "Postcode : " << klant.postcode << endl;
cout << "Geboortedatum : " << klant.gebdatum << endl << endl;
teller++;
if ((teller % 3) == 0)
{ getch();
titel("Klanten");
}
bestand.read((char *)&klant,sizeof(klanten));
} |
het deelprogramma drukklanten werkt perfect, terwijl het deelprogramma drukbestellingen alleen de titel weergeeft, waarna mijn programma zichzelf vasthangt
ohja, voor ik het vergeet, men compiler (MS Visual C++ 6.0) geeft geen error's