Toon posts:

[C++] Database-file lezen en schrijven *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb hulp nodig met het maken van een database...

Het programma werkt al, en zet de ingevoerde gegevens in een textbestand genaamd "database.dat". maar nu krijg ik het programma niet zover dit weer uit te lezen. Altans, niet uit de database file....als ik het doe zonder het programma af te sluiten, werkt het wel.

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
void nieuwboek(void)
{
//Hier word ervoor gezorgd dat hij automatish een nummer toekent voor de
//plaats in de database.
    int nr;
   for ( nr = 1 ; nr < 1000 ; nr++ )
   {
      //Elk boek die 0 als ID heeft, word niet weergegeven
        if ( lijst[nr].cijferboek == 0 )
        break;
   }
   clrscr();
   cout << "\t _____________________________________________________ " << endl;
   cout << "\t|________________ Menu Boek Toevoegen ________________|" << endl;
   cout << "\t|                                                     |" << endl;
   cout << "\t| Let op! Spaties worden niet toegestaan in dit  menu.|" << endl;
   cout << "\t|_____________________________________________________|" << endl;
    lijst[nr].id = nr;
   cin.ignore();
   cout << "\tNummer van het boek: " << lijst[nr].id << endl;
   cout << "\tNaam van het boek: ";
   cin >> lijst[nr].naamboek;
    cout << "\tNaam van de Auteur: ";
   cin >> lijst[nr].naamAuteur;
    cout << "\tCijfer (Tussen 1-10): ";
   cin >> lijst[nr].cijferboek;

   //Hier zet hij de net ingevulde gegevens in de database.
   ofstream database("database.dat");

   for ( nr = 1 ; nr < 1000 ; nr++ )
   {
    if ( lijst[nr].cijferboek != 0)
    {
            database << lijst[nr].id           << "\n";
           database << lijst[nr].naamboek   << "\n";
           database << lijst[nr].naamAuteur << "\n";
           database << lijst[nr].cijferboek << "\n";
      }
   }

   database.close();

   cout << "\t _____________________________________________________"  << endl;
   cout << "\t|_______ Het boek is aan de database toegevoegd_______|" << endl;
   cout << "\t|                                                     |" << endl;
    cout << "\t| Druk op een willekeurige toets om terug te keren    |" << endl;
   cout << "\t|                naar het hoofdmenu                   |" << endl;
   cout << "\t|_____________________________________________________|" << endl;
    getch();
    clrscr();

}

void boekzoeken(void)
{
    int nr;
    int i;
    char naam[30];

   cout << "\t _____________________________________________________ " << endl;
   cout << "\t|_________________ Menu Boek Opzoeken ________________|" << endl;
   cout << "\t|                                                     |" << endl;
   cout << "\t| LET OP! Spaties worden niet ondersteund in dit  menu|" << endl;
   cout << "\t|_____________________________________________________|" << endl;
   cout << "\tGeef de naam van het boek:"                                     << endl << endl;
   cin.ignore();
   //Hij kijkt hier of er een naam in de database identiek is aan de ingevulde
   //naam
   cin.getline( naam,30 );
   cout << "\t _____________________________________________________ " << endl;
    cout << "\t|_____________________ Resultaat _____________________|" << endl << endl;
       for ( int i = 1 ; i < 1000 ; i++ )
       {
            if ( strcmp ( lijst[i].naamboek, naam ) == 0 )
            {
                cout << "\tnummer boek: "   << lijst [i].id             << endl;
                cout << "\tnaam boek:   "   << lijst [i].naamboek   << endl;
                cout << "\tnaam Auteur: "   << lijst [i].naamAuteur << endl;
                cout << "\tcijfer boek: "   << lijst [i].cijferboek << endl << endl;
            }
       }

   cout << "\t _____________________________________________________"  << endl;
   cout << "\t|                                                     |" << endl;
    cout << "\t| Druk op een willekeurige toets om terug te keren    |" << endl;
   cout << "\t|                naar het hoofdmenu                   |" << endl;
   cout << "\t|_____________________________________________________|" << endl;
    getch();
    clrscr();
}

void alleboeken(void)
{
    clrscr();
    int nr;

   cout << "\t _____________________________________________________ " << endl;
    cout << "\t|_________________ Volledige Database ________________|" << endl << endl;
   //Hier zorgt hij ervoor dat alleen boeken met ID's boven de 0 worden
   //weergegen, en je dus geen lege plaatsen te zien krijgt.

   for ( nr = 1 ; nr < 1000 ; nr++ )
    {
    if (lijst[nr].cijferboek)
    {
            cout << "\tNummer van het Boek: "                    << lijst [nr].id         <<endl;
        cout << "\tNaam van het Boek: "                      << lijst [nr].naamboek   <<endl;
        cout << "\tNaam van de  Auteur: "                    << lijst [nr].naamAuteur <<endl;
        cout << "\tCijfer die aan het boek is gegeven: " << lijst [nr].cijferboek << endl << endl;
    }
   }
   cout << "\t _____________________________________________________"  << endl;
   cout << "\t|                                                     |" << endl;
    cout << "\t| Druk op een willekeurige toets om terug te keren    |" << endl;
   cout << "\t|                naar het hoofdmenu                   |" << endl;
   cout << "\t|_____________________________________________________|" << endl;
   getch();
   clrscr();
}


Dit is dus een snip uit mijn programma, maar waar moet ik nu die database file weer openen zodat ik daar gegevens uit kan lezen.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 05-05 18:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik mis wat informatie, wat is lijst bijvoorbeeld, en waarvandaan wordt hij gevuld? Is het niet gewoon logisch als je die lijst vult bij programma start? En is dit weer een huiswerkopdracht?

[ Voor 11% gewijzigd door .oisyn op 08-07-2005 12:45 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:58
Tja, waar moet je de file openen ?
Op het moment dat je informatie uit die file nodig hebt, zal je'm moeten openen.

https://fgheysels.github.io/