Documente Academic
Documente Profesional
Documente Cultură
Enunțuri:
1. Să se scrie un subprogram pentru crearea unui fișier text care să conțină elemente reale (în fișier sunt memorate
elementele unui vector – un element pe fiecare linie). Se va oferi și un exemplu de utilizare.
2. Să se scrie un subprogram pentru preluarea vectorului în memorie. Se va scrie și programul apelator.
3. Să se scrie programul care memorează într-un fişier text date despre studenţii unei facultăţi. Pe fiecare linie se
memorează: numărul matricol, numele, prenumele, anul, grupa, cele 10 note obţinute la examene. Datele sunt separate
prin cîte un spaţiu.
4. Să se scrie programul care calculează media studenţilor integralişti şi cea mai mare dintre mediile studenţilor
integralişti din fişierul creat anterior.
Rezolvări:
1. Să se scrie un subprogram pentru crearea unui fișier text care să conțină elemente reale (în fișier sunt memorate
elementele unui vector – un element pe fiecare linie). Se va oferi și un exemplu de utilizare.
void main()
{
char numef[20];
printf("Introduceti numele fisierului:");
scanf("%s", numef);
scriere_vector(numef);
}
1
2. Să se scrie un subprogram pentru preluarea vectorului în memorie. Se va scrie și programul apelator.
void main()
{
float a[100]; int n;
char numef[20];
printf("Introduceti numele fisierului:");
scanf("%s",numef);
preluare_vector_1(numef, a, &n); //fișierul vector.txt de la exemplul 1
for (int i=0;i<n;i++) printf("%4.1f ,", a[i]);
_getch();
}
3. Să se scrie programul care memorează într-un fişier text date despre studenţii unei facultăţi. Pe fiecare linie se
memorează: numărul matricol, numele, prenumele, anul, grupa, cele 10 note obţinute la examene. Datele sunt
separate prin câte un spaţiu. Acolo unde nu se cunoaşte încă nota se va introduce valoarea 0.
4. Să se scrie programul care calculează media studenţilor integralişti şi cea mai mare dintre mediile studenţilor
integralişti din fişierul creat anterior.
#include<stdio.h>
void main()
{FILE *f;
char nume[30],s[200]; int nr,an,gr,n[10],i,e,p; float m,max,m1;
printf("Nume fisier: "); gets(s);
if(!(f=fopen(s,"r")))printf("Nu se poate deschide fisierul.");
else {p=0;max=0;m1=0;
fscanf(f,"%d",&nr);
while(!feof(f))
{fscanf(f,"%s %d %d",nume,&an,&gr);
e=1;m=0;
for(i=0;i<10;i++)
{fscanf(f,"%d",&n[i]);
if(n[i]<5)e=0; m+=n[i];}
if(e){m/=10; p++; m1+=m;
if(m>max)max=m;}
3
fscanf(f,"%d",&nr);}
if (p==0) printf ("Nu exista niciun student integralist");
else
{printf("\nmedia: %5.2f",m1/p); printf("\nmedia maxima: %5.2f", max);}
}
fclose(f);}