mi da errore dove ho messo in grassetto.sicuramente è un problema dellla procedura calcmedia. in quanto togliendola e scrivendola normalmente nella parte principale del programma funziona. Pero a me serve che la media venga calcolata con una procedura a parte.
l'errore che mi da e questo:
esercizio3.pas:46: too few arguments to function `Calcmedia'
esercizio3.pas:49: too few arguments to function `Calcmedia'
in poche parole mi da errore dove richiamo la funzione della media. dove avrò sbagliato???????
codice:
program voti;
const
maxvoti=100;
Type
tipovoto=1..100;
voti=array [1..maxvoti] of integer;
Var
I:integer;
voto:voti;
totale:integer;
N:integer;
procedure leggistud;
var
txtvoti:text;
Begin
assign (txtvoti, 'C:\miei\esercizi\voti.txt');
Reset (txtvoti);
I:=1;
Totale:=0;
while not (eof (txtvoti)) do
begin
readln (txtvoti, voto[i]);
totale:=totale+voto[i];
i:=i+1;
end;
end;
function calcmedia (i,totale:integer):real;
begin
calcmedia:=Totale/I;
end;
begin
leggistud;
N:=I;
writeln (calcmedia);
Writeln ( 'VOTO':10, 'GRADO':20);
For i:=1 To N do
begin
Write(voto[i]:10);
If (voto[i]>(calcmedia+10)) then
write('Soddisfacente':20)
else
If ((voto[i]+10)<(calcmedia)) then
write('Insoddisfacente':20)
else
write('buono':20);
writeln;
end;
readln;
end.