#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
int n;
typedef struct
{
char ten[30];
char tuoi[4];
char dia_chi[50];
char dien_thoai[11];
float diem;
}sinhvien;
sinhvien *p;
void menu();
void nhap();
void xuat();
void sapxep();
void max();
void min();
void nhapn();
void main()
{
char chon;
while (1){
printf("\n\t--------------------------------------");
printf("\n\t| |");
printf("\n\t| 1.Nhap thong tin sinh vien |");
printf("\n\t| 2.In thong tin sinh vien |");
printf("\n\t| 3.In ra SV co diem cao nhat |");
printf("\n\t| 4.In ra SV co diem thap nhat |");
printf("\n\t| 5. Ket thuc chuong trinh |");
printf("\n\t--------------------------------------");
printf("\n\tChon chuc nang(1-->5): ");
getch();
chon=getch();
if (chon=='5')break;
switch (chon)
{
case '1': nhap();break;
case '2': xuat();break;
case '3': max();break;
case '4' :min();break;
case '5': printf("\nCam on ban da su dung chuong trinh");
exit;
}
}
}
void nhapn(){
printf("\nNhap so sinh vien can quan ly: ");
scanf("%d",&n);
}
void nhap()
{
nhapn();
int i;
char chon;
p=(sinhvien*)malloc(n*sizeof(sinhvien));
for (i=0;i<n;i++)
{
fflush(stdin);
printf("\nNhap ten sinh vien thu %d: ",i+1);
gets((p+i)->ten);
printf("\nNhap diem cua sinh vien thu %d: ",i+1);
scanf("%f",&(p+i)->diem);
}
}
void xuat()
{
int i;
clrscr();
for(i=0;i<n;i++)
{
printf("\nTen cua sinh vien thu %d la:",i+1);
puts((p+i)->ten);
printf("\nDiem cua sv thu %d la: %.0f",i+1,(p+i)->diem);
}
getch();
}
void sapxep(){
int i,j;
sinhvien temp;
for (i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(p[i].ten,p[j].ten)>0)
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
}
void min()
{
sinhvien temp;
int i,j;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(p[i].diem>p[j].diem)
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
printf("\nNguoi co so diem thap nhat la:");
puts(p->ten);
printf("\nVoi so diem la: %.0f",p->diem);
getch();
}
void max()
{
sinhvien temp;
int i,j;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(p[i].diem<p[j].diem)
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
printf("\nNguoi co so diem cao nhat la:");
puts(p->ten);
printf("\nVoi so diem la: %0.f",p->diem);
getch();
}