Tipul de date record este un tip de date care reuneste mai multe date de tip diferit.
Problemă:
Fișierul date.in conține următoarea informație: numele, nota medie și clasa pentru o grupă de elevi. Calculați: a) nota medie a elevilor din clasa a XII-a
b) elevul cu cea mai mică notă
c) transcrieți în alt fișier elevii din clasa X-a
Uses CRT;
Type Elev:=Record
Nm:String;
M:Real;
C:1..12 end;
Var F, T:Text; X, Min :Elev;
Med:Real; N:Integer; L:Char;
Begin ClrScr; Med:=0; N:=0; Min.M:=0;
Assign (F,'date.in'); Reset (F);
Assign (T,'date,out'); Rewrite (T);
Repeat
X.Nm:=' ' ; Read(F,L);
Problemă:
Fișierul date.in conține următoarea informație: numele, nota medie și clasa pentru o grupă de elevi. Calculați: a) nota medie a elevilor din clasa a XII-a
b) elevul cu cea mai mică notă
c) transcrieți în alt fișier elevii din clasa X-a
Uses CRT;
Type Elev:=Record
Nm:String;
M:Real;
C:1..12 end;
Var F, T:Text; X, Min :Elev;
Med:Real; N:Integer; L:Char;
Begin ClrScr; Med:=0; N:=0; Min.M:=0;
Assign (F,'date.in'); Reset (F);
Assign (T,'date,out'); Rewrite (T);
Repeat
X.Nm:=' ' ; Read(F,L);
While L<>' ' Do begin
X.Nm:=X,Nm+L ; Read (F,L) end;
Readln (F,X.M,X.C);
If X.C=12 then begin inc(N);
Med:=Med+X.M end;
If (Min.M=0) or (X.M<Min.M) then
Min:=X;
If X.C=10 then Writeln (T,X.Nm, ' ' , X.M:0:2 , ' ' , X.C)
Until Eof(F);
Close (F); Close (T);
Med:=Med/N;
Writeln ('Med=;Med:0:2);
Writeln ('E;ev cu media minimă=; Min.M:0:2, 'este' , Min.Nm);
Readkey end.
Comentarii
Trimiteți un comentariu