login  Naam:   Wachtwoord: 
Registreer je!
 Forum

error in C

Offline nemesiskoen - 02/12/2004 20:24
Avatar van nemesiskoenGouden medaille

PHP expert
Ik weet niet of er mensen op dit forum C kennen.
Maar voor degenen die het wel kennen...
Ik ben een test-systeem (een soort van quiz zoals op sitemasters) aant maken met C, voor school.

Ik stel telkens de vraag, en stel dan een variabele gelijk aan een cijfer tussen 1 2 of 3 (meerkeuze vragen)... daarna ga ik controleren of ze juist zijn en via struct wegschrijven:
zoals hier wordt getoond:

  1. if(reeks1_vraag1_ == 1){
  2. leerling[1].reeks1_vraag1 = 1;
  3. }else{ leerling[1].reeks1_vraag1 = 0;}
  4.  
  5. if(reeks1_vraag2_ == 2){
  6. leerling[1].reeks1_vraag1 = 1;
  7. }else{ leerling[1].reeks1_vraag1 = 0;}
  8.  
  9. if(reeks1_vraag3_ == 2){
  10. leerling[1].reeks1_vraag1 = 1;
  11. }else{ leerling[1].reeks1_vraag1 = 0;}
  12.  
  13.  
  14. if(reeks2_vraag1_ == 2){
  15. leerling[1].reeks1_vraag1 = 1;
  16. }else{ leerling[1].reeks1_vraag1 = 0;}
  17.  
  18. if(reeks2_vraag2_ == 3){
  19. leerling[1].reeks1_vraag1 = 1;
  20. }else{ leerling[1].reeks1_vraag1 = 0;}


enzovoort...

nu.. als Ik ga kijken in het .dat bestand wordt het weldegelijk weggeschreven, ik gebruik fwrite:

  1. fp=fopen("lln.dat", "wb");
  2. .... //deel code
  3. fwrite(&leerling[1], sizeof(struct leerlingen), 1, fp);
  4. fclose(fp);


en mijn struct is:
  1. struct leerlingen{
  2. int reeks1_vraag1;
  3. int reeks1_vraag2;
  4. int reeks1_vraag3;
  5.  
  6. int reeks2_vraag1;
  7. int reeks2_vraag2;
  8. int reeks2_vraag3;
  9.  
  10. int reeks3_vraag1;
  11. int reeks3_vraag2;
  12. int reeks3_vraag3;
  13.  
  14. int reeks4_vraag1;
  15. int reeks4_vraag2;
  16. int reeks4_vraag3;
  17. }leerling[1];


normaal gezien werkt dit, en nu, als ik dan de gegevens wil oproepen, gebruik ik weer dezelfde struct en dan gewoon fread... maar dit werkt niet. Als ik nu, zoals het hoort, dit doe:

  1. fp=fopen("lln.dat", "rb");
  2. fread(&leerling[1], sizeof(struct leerlingen), 1, fp);


Dan blijft ie rustig hangen bij het uitvoeren vh bestand, het compileren werkt wel

maar als ik dit doe blijft ie niet hangen:
  1. fp=fopen("lln.dat", "rb");
  2. fread(&leerling[0], sizeof(struct leerlingen), 1, fp);


de &leerling[1] wordt $leerling[0]
wat totaal nergens opslaat, want bij het wegschrijven is het 1... maar swat, het voort het uit, maar het geet totaal de verkeerde waarde weer, dus ik denk dat het aan het weergeven ligt, maar het kan ook het wegschrijven... weet iemand toevallig wat de fout is?

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.225s