Ik heb een stuk code geschreven om waardes uit een teksfile op te slaan in een array als doubles. Nu wil ik deze array daarna aanroepen, en dan krijg ik onzin waardes terug, hij heeft de array niet onthouden. Ik heb al geprobeerd om de array global te maken, of voor de main te declareren, maar dat werkt niet. Mijn code is als volgt:
Heeft iemand suggesties? Misschien is het ook wel een dom foutje, maar ik zie hem niet.
C++:
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
| void main() { ifstream OpenFile("data1.txt"); OpenFile.seekg(ios::beg); char line[20]; int q=0; while(!OpenFile.eof()) //tel het aantal ; in de file om de lengte van de benodigde array te weten { OpenFile.getline(line,20,';'); q=q+1; //stop wanneer de waarde 0.00000001 is gevonden double l=atof(line); if (l==0.00000001) { goto open; } } open: q=q-1; OpenFile.close(); //array om de waarden in te zetten double *bp; int aantal; aantal=q; bp = new double [aantal]; OpenFile.open("data1.txt"); OpenFile.seekg(ios::beg); while(!OpenFile.eof()) { OpenFile.getline(line,20,';'); //make doubles van char array double f=atof(line); int i=0; i=i+1; if (f==0.00000001) { goto stop; } bp[i]=f; cout<< "bp[i]="<< bp[i]<< endl; //hij kent de juiste waarden toe aan de array cout << OpenFile.tellg() << endl; } stop: cout<<"gestopt"<<endl; cout<<"bp[4]="<<bp[4]<<endl; //hij heeft de array niet onthouden en kent onzin toe aan bp[4] } |
Heeft iemand suggesties? Misschien is het ook wel een dom foutje, maar ik zie hem niet.