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.

Rispondi quotando