Hoi, ik ben bezig met een huiswerkopdr8 programmeren in Pascal maar ik kom er niet uit. Het is de bedoeling een textbestand in te lezen waarop op iedere regel, gescheiden door spaties de (afgeronde) practicumresultaten per persoon staan. Op elke regel staat één groep, variërend van 4 tot 6 personen. Het aantal groepen is onbekend. Gevraagd wordt een overzicht af te drukken in de volgende vorm:
Practicumresultaten
===================
Gemiddeld cijfer per groep
..........................
Groep 1: 5.9
Groep 2: 6.4
Groep 3: 7.2
............
............
Groep n: 4.5
Gemiddeld cijfer van alle studenten: 6.7
Frequentie van de cijfers
.........................
Cijfer 1: 0
Cijfer 2: 1
Cijfer 9: 1
Cijfer 10: 0
Ik heb het volgende al bedacht, maar het werkt niet:
Wie weet er wat ik fout doe ???
[edit] De array die van elk cijfer het aantal telt werkt niet, en ook de gemiddelden die berekent worden uit de textfile kloppen niet.
Practicumresultaten
===================
Gemiddeld cijfer per groep
..........................
Groep 1: 5.9
Groep 2: 6.4
Groep 3: 7.2
............
............
Groep n: 4.5
Gemiddeld cijfer van alle studenten: 6.7
Frequentie van de cijfers
.........................
Cijfer 1: 0
Cijfer 2: 1
Cijfer 9: 1
Cijfer 10: 0
Ik heb het volgende al bedacht, maar het werkt niet:
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
| program week1herh;
{ I_Love_Heineken }
{$APPTYPE CONSOLE}
uses
SysUtils;
var
results: text;
n, som, freq, i, cijfer: integer;
gemgroep, gemstud : real;
getalrij: array [1..100] of integer;
cijfers: array [1..10] of integer;
begin
n:=1;
i:=1;
som:=0;
assign(results, 'c:\cijfers2.txt');
reset(results);
writeln('Prakticumresultaten');
writeln('===================');
writeln;
writeln('Gemiddelde cijfers per groep');
writeln('...........................');
writeln;
for i:=1 to 10 do cijfers[i]:=0;
while not eof(results) do
begin
while not eoln(results) do
begin
readln(results, getalrij[i]);
som:=som+getalrij[i];
i:=i+1;
gemgroep:=som/i;
writeln('Groep',n, ':' ,gemgroep:2:1);
n:=n+1;
cijfers[i]:=cijfers[i]+1;
end;
end;
writeln;
writeln('Het gemiddelde van alle studenten:' ,gemstud:2:1);
writeln;
writeln('Frequentie van de cijfers');
writeln('.........................');
writeln;
writeln('Cijfer 1:' ,cijfers[1]);
writeln('Cijfer 2:' ,cijfers[2]);
writeln('Cijfer 3:' ,cijfers[3]);
writeln('Cijfer 4:' ,cijfers[4]);
writeln('Cijfer 5:' ,cijfers[5]);
writeln('Cijfer 6:' ,cijfers[6]);
writeln('Cijfer 7:' ,cijfers[7]);
writeln('Cijfer 8:' ,cijfers[8]);
writeln('Cijfer 9:' ,cijfers[9]);
writeln('Cijfer 10:' ,cijfers[10]);
close(results);
readln;
end. |
Wie weet er wat ik fout doe ???
[edit] De array die van elk cijfer het aantal telt werkt niet, en ook de gemiddelden die berekent worden uit de textfile kloppen niet.
"If you can't convince people with arguments, dazzle them with bullshit"