Pagina 1 din 1

Clasa a XI-a STRUCTURI

Scris: 17 Noi 2015, 19:49
de elev98
Scrieti un program pentru evidenta studentilor unei facultati care sa permita alegerea repetata a uneia dintre optiunile de mai jos cat timp utilizatorul doreste aceasta:
-adaugarea unui student in grupa
-listarea tuturor studentilor din grupa
-afisarea informatiilor despre un anumit student cautat dupa nume.
Despre fiecare student al unei grupe se cunosc numele studentului, media la sfarsitul sesiunii si valoarea bursei.
Aici este ceea ce am incercat eu:



using namespace std;
typedef struct studenti
{
char nume[20];
char prenume[20];
float media;
float bursa;
}st;
st a[200];
st aux;
int main()
{
int n,i,j,k=0;
char optiune;
cout<<"Numarul studentilor este:"<<endl;
cin>>n;
for(i=0;i<n;i++)
{
cin.get();
cout<<"Numele:"<<endl;
cin.get(a.nume,20);
cout<<"Prenume:"<<endl;
cin>>a.prenume;
cout<<"Media:"<<endl;
cin>>a.media;
cout<<"Valoarea bursei:"<<endl;
cin>>a.bursa;
}
cin>>optiune;
cout<<"pentru adaugarea unui student in grupa,alege 1";
cout<<"pentru listarea in functie de medie,alege 2";
cout<<"pentru afisarea informatiilor despre un anumit student,alege 3";
switch (optiune)
{
case 1:
{
n=n+1;
cout<<"Numele:"<<endl;
cin.get(a.nume,20);
cout<<"Prenume:"<<endl;
cin>>a.prenume;
cout<<"Media:"<<endl;
cin>>a.media;
cout<<"Valoarea bursei:"<<endl;
cin>>a.bursa;
};
break;
case 2:
{
for(i=0;i<n;i++)
for(j=i;j<=n;j++)
if(a.medie<a[j].medie)
{
aux=a;
a[i]=a[j];
a[j]=aux;
}
for(i=0;i<n;i++)
cout<<a[i].nume<<" "<<a[i].prenume<<" "<<a[i].medie;
};
break;
case 3:
{

}
}
}



Nu am facut tot... Ultima parte nu am stiu sa o fac. Pe langa asta nici macar nu sunt sigura ca am facut bine pana aici. Ma puteti ajuta, va rog?

Scris: 18 Noi 2015, 06:22
de A_Cristian
Cateva consideratii asupra implementarii.

1. Nu exista nici o cerinta care sa contina sortarea dupa ceva.
2. Meniul ar arata mai bine in forma:

Cod: Selectaţi tot

1. Adaugare student
2. Listare studenti
3. Cautare dupa nume
0. Iesire
3. Cu siguranta ai invatat despre functii. Codul scris asa este total neingrijit.
4. Ne poti face o analiza daca exista vreo problema sau nu la adaugarea unui student? Ma refer la faptul ca folosesti ca index variabila "i". Repet, vreau o analiza si nu un raspuns e bine/gresit.
5. Programul ar trebui sa permita repetarea optiunilor pana la alegerea optiunii de terminare a programului.
6. Nu e vina ta, dar codul reprezinta un amalgam de C si C++ total nedorit.