[c++] Kan slechts 25 waardes ophalen

Pagina: 1
Acties:
  • 33 views sinds 30-01-2008

  • fromalk
  • Registratie: Januari 2004
  • Laatst online: 15-01 14:35
Hallo iedereen,

het voorbije week end zit ik de klok rond te stressen voor een eindwerk in c++ af te werken, dit moet morgen ten laatste af zijn en de voorbije 4 u heb k me suf zitten piekeren op een doodsimpele uitvoer.
Het principe is eenvoudig, in een bestand staan allemaal categoriën, deze moeten uitgelezen worden in blokken van 20... De gebruiker duwt op een knop en de volgende 20 worden getoont.
Bij de ingav"e van het bestand heb ik 37 records ingegeve, nu eender hoeveel ik er in geef, er worden er slechts 25 uitgehaald :s

De code om te lezen:
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
int read()
{
    int line = 7, i = 0;

    lang_init current = l_dutch; // using dutch by default > getting errors without this

        if(userlang==1)
        {
            //
            //set lang ned
            //
            current = l_dutch;
        }
        else 
        {
            //
            //let's load french language
            //
            current = l_french;
        }

    ifstream catfileread(CAT_FILE,ios::in|filebuf::binary);

    if(!catfileread.is_open())
    {
        //
        //Can't open? >> error
        //
        line++;
        line++;
        line++;
        error("FAILED", line);
        line++;
        line++;
        line++;
    }
    else
    {
        //
        //Start reading
        //
        while (catfileread.read((char*)&cat,sizeof(categorie)))
        {
            i++;
            gotoxy(1, line);
                cout << cat.name;
            gotoxy(51, line);
                cout << cat.id;
            line++;
            if(i==20)
            {
                
                gotoxy(1, line);
                    warning(messages[45][current]);
                //Hold on a sec
                getch();
                i=0;
                cls();
                titlescreen(messages[30][current]);
                line = 5;
            }
        }
    }
    catfileread.close();
    return line;
}


Dank bij voorbaat

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Het is vervelend voor je dat je haast hebt en morgen blijkbaar het zaakje moet opleveren, maar dat is geen excuus om je hier voor de zoveelste keer niet aan de regels te houden. Hier op GoT zien we graag eigen inzet in een topicstart, en daar zie ik hier niks van terug. Je zegt wat je wil en wat er fout gaat, en dumpt daarna 66 regels code waar je verder niets maar dan ook niets over uitlegt.

Debuggen is iets wat je zelf moet kunnen doen. Wij kunnen -en willen- je daar niet bij helpen, simpelweg omdat jij de enige bent die dat fatsoenlijk kàn doen. Jij hebt immers de volledige code tot je beschikking. Isoleer je probleem tot een paar regels, en kijk waar het eventueel aan kan liggen. Als je er dan nog niet uitkomt, dan kun je hier een nieuw topic openen met voldoende achtergrondinfo en wat relevante code. Lees ook (nogmaals) Programming Beleid - De "quickstart" even door.

offtopic:
De regels 29 t/m 35 zijn heel erg raar. :X Waarom niet gewoon line += 3; gebruiken? :?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.