A
Art02
чтобы производились следующие действия: ввод с клавиатуры из 10 структур типа студент; записи должны быть упорядочены по возрастанию среднего балла
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string>
using namespace std;
struct Student
{
string FIO;
string Gruppa;
int Uspevaemost[5];
};
void Add (Student *W, int &n)
{
clrscr ();
cout<<"Dannie studenta:\n";
cout<<"FIO:"; cin>>W[n].FIO;
cout<<"Gruppa:"; cin>>W[n].Gruppa;
int i;
for (i=0;i<5;i++)
{cout<<"Uspevaemost["<<i <<"]:"; cin>>W[n].Uspevaemost;}
n++;
}
void Find (Student *W, int n)
{
string y;
cout<<"Vvedite Gruppu:";
cin>>y;
cout<<"FIO Gruppa Uspevaemost\n";
for (int i=0; i<n; i++)
if (W.FIO==y)
cout<<W.FIO<<" "<<W.Gruppa<<" "<<W.Uspevaemost<<"\n";
getch ();
}
void Print (Student *W, int n)
{
clrscr ();
cout<<"Spisok studentov :\n";
if (n==0)
{
cout<<"Spisok pust";
getch ();
return;
}
cout<<"FIO Gruppa Uspevaemost\n";
for (int i=0; i<n; i++)
{
cout<<W.FIO<<" "<<W.Gruppa<<" "<<W.Uspevaemost<<"\n";
}
getch ();
}
void Uporyid (Student *W, int n)
{
clrscr ();
cout << n;
cout << "Uporyid\n";
Student temp;
for(int i=0; i<n; i++)
for(int j=n-2; j>=i; j--)
if (W[j].Gruppa>W[j+1].Gruppa)
{
temp=W[j];
W[j]=W[j+1];
W[j+1]=temp;
}
getch ();
}
void main ()
{ Student *A=new Student [10];
int n=0, j;
char ch;
const int N_max=10;
Student *W=new Student[N_max];
do
{
clrscr ();
cout<<"1 - Dobavlenie\n";
cout<<"2 - Pechat studentov\n";
cout<<"3 - Naiti studenta\n";
cout<<"4- Uporyid\n";
cout<<"0 - Vixod\n";
ch=getch ();
switch (ch)
{
case '1': Add (W,n); break;
case '2': Print (W,n); break;
case '3': Find (W,n); break;
case '4': Uporyid (W,n); break;
}
}
while (ch!='0');
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string>
using namespace std;
struct Student
{
string FIO;
string Gruppa;
int Uspevaemost[5];
};
void Add (Student *W, int &n)
{
clrscr ();
cout<<"Dannie studenta:\n";
cout<<"FIO:"; cin>>W[n].FIO;
cout<<"Gruppa:"; cin>>W[n].Gruppa;
int i;
for (i=0;i<5;i++)
{cout<<"Uspevaemost["<<i <<"]:"; cin>>W[n].Uspevaemost;}
n++;
}
void Find (Student *W, int n)
{
string y;
cout<<"Vvedite Gruppu:";
cin>>y;
cout<<"FIO Gruppa Uspevaemost\n";
for (int i=0; i<n; i++)
if (W.FIO==y)
cout<<W.FIO<<" "<<W.Gruppa<<" "<<W.Uspevaemost<<"\n";
getch ();
}
void Print (Student *W, int n)
{
clrscr ();
cout<<"Spisok studentov :\n";
if (n==0)
{
cout<<"Spisok pust";
getch ();
return;
}
cout<<"FIO Gruppa Uspevaemost\n";
for (int i=0; i<n; i++)
{
cout<<W.FIO<<" "<<W.Gruppa<<" "<<W.Uspevaemost<<"\n";
}
getch ();
}
void Uporyid (Student *W, int n)
{
clrscr ();
cout << n;
cout << "Uporyid\n";
Student temp;
for(int i=0; i<n; i++)
for(int j=n-2; j>=i; j--)
if (W[j].Gruppa>W[j+1].Gruppa)
{
temp=W[j];
W[j]=W[j+1];
W[j+1]=temp;
}
getch ();
}
void main ()
{ Student *A=new Student [10];
int n=0, j;
char ch;
const int N_max=10;
Student *W=new Student[N_max];
do
{
clrscr ();
cout<<"1 - Dobavlenie\n";
cout<<"2 - Pechat studentov\n";
cout<<"3 - Naiti studenta\n";
cout<<"4- Uporyid\n";
cout<<"0 - Vixod\n";
ch=getch ();
switch (ch)
{
case '1': Add (W,n); break;
case '2': Print (W,n); break;
case '3': Find (W,n); break;
case '4': Uporyid (W,n); break;
}
}
while (ch!='0');