Sunteți pe pagina 1din 2

#include <iostream>

#include<string.h>
using namespace std;
struct elev
{
char nume[256];
float m1,m2,mg;
};
elev v[30];
int i,n=30; char *p;
void citire( elev v[30], int &n)
{
for(i=0;i<n;i++)
{cin.get();
cout<<"numele noului elev ";
cin.get(v[i].nume,256);
cout<<"dati media semestrului I ";
cin>>v[i].m1;
cout<<"dati media semestrului II ";
cin>>v[i].m2;
v[i].mg=(v[i].m1+v[i].m2)/2;
}
}
void listare( elev v[50],int n)
{
for(int i=0;i<n;i++)
cout<<"elevii sunt : "<<v[i].nume<<" "<<v[i].m1<<" "<<v[i].m2<<" "<<v[i]
.mg<<" "<<endl;
}
void sort_alf (elev v[],int n)
{
int i,ok;
elev aux;
do{
ok=0;
for(i=0;i<n-1;i++)
if(strcmp(v[i].nume,v[i+1].nume)>0)
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=1;
}
}
while(ok);
}
void sortdesc(elev v[],int n)
{
int i,ok;
elev aux;
do{
ok=0;
for(i=0;i<n-1;i++)
if(v[i].mg<v[i+1].mg)
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=1;

}
}
while(ok);
}
void med57(elev v[],int n)
{
int i;
for(i=0;i<n;i++)
if(v[i].mg>=5&&v[i].mg<=7)
cout<<"elevii cu media intre 5 si 7 sunt : "<<v[i].nume<<" "<<v
[i].m1<<" "<<v[i].m2<<" "<<v[i].mg<<" ";
}
void ANA(elev v[], int n)
{
int i;
for(i=0;i<n;i++)
{ p=strtok(v[i].nume," ");
if(strcmp(p,"Ana")==0)
cout<<"elevii care au numele ana sunt: "<<v[i].nume;
}
}
int main()
{
cout<<"Se da un numar de elevi ";
cin>>n;
citire(v,n); cout<<endl;
cout<<"Oridne alfabetica: "; sort_alf(v,n); listare(v,n);
cout<<endl; cout<<"Ordine desc medii: "; sortdesc(v,n); listare(v,n);
cout<<endl; cout<<"intre 5 si 7: "; med57(v,n);
cout<<endl; cout<<"Ana: "; ANA(v,n);
}

S-ar putea să vă placă și