khigiadano
13-12-2008, 10:12 PM
cho kết quả bảng sinh viên gồm:mã sinh viên,mã môn học,điểm,lần thi
1: nhập xuất danh sách kq sinh viên với(1<=n<=40)
2: Liệt kê các Sinh Viên thi lại lần 2
3: Nhập mã Sinh Viên, tính trung bình điểm các môn của SV đó
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
//Hoang Bao Anh - C7CT4
//khigiadano@gmail.com
//hanhtrangsinhvien.net
struct DIEM
{
char ma_sv[20];
char ma_mh[20];
unsigned lan_thi;
unsigned diem;
};
void nhap_1_sv(DIEM &x)
{
cin.ignore();
cout<<"Nhap ma Sinh Vien: "; cin.getline(x.ma_sv,20);
cout<<"Nhap ma Mon Hoc: "; cin.getline(x.ma_mh,20);
cout<<"Nhap so lan thi: "; cin>>x.lan_thi;
cout<<"Nhap diem: "; cin>>x.diem;
}
void xuat_1_sv(DIEM x)
{
cout<<"Ma SV: "<<x.ma_sv;
cout<<"\t\tMa MH: "<<x.ma_mh;
cout<<"\t\tLan Thi: "<<x.lan_thi;
cout<<"\t\tDiem: "<<x.diem;
cout<<endl;
}
void nhap_ds(DIEM ds[],int &n)
{
do
{
cout<<"Nhap so luong danh sach: ";
cin>>n;
}while(n<1||n>40);
for(int i=0;i<n;i++)
{
cout<<"-----: "<<i+1<<endl;
nhap_1_sv(ds[i]);
cout<<"\n";
}
}
void xuat_ds(DIEM ds[],int n)
{
cout<<"\nXuat Danh Sach"<<endl;
for(int i=0;i<n;i++)
{
cout<<"\n------ "<<i+1<<" ------"<<endl;
xuat_1_sv(ds[i]);
}
}
void liet_ke(DIEM ds[],int n)
{
int flag=0;
cout<<"\n----- Cac SV thi lan 2----- \n\n";
for(int i=0;i<n;i++)
{
if(ds[i].lan_thi==2)
{
xuat_1_sv(ds[i]);
flag=1;
}
}
if(flag==0)
cout<<"Khong co SV thi lai lan 2\n\n";
}
void diem_tb(DIEM ds[],int n)
{
int dem=0,tong=0;
char tim[20];
cout<<"Nhap Ma SV: ";
cin>>tim;
for(int i=0;i<n;i++)
{
if(strcmp(ds[i].ma_sv,tim)==0)
{
tong+=ds[i].diem;
dem++;
}
}
if(dem==0)
cout<<"Khong ton tai SV nay";
else
cout<<"Diem trung binh cua "<<tim<<" la: "<<(float)tong/dem;
cout<<endl;
}
void main()
{
int n;
DIEM ds[MAX];
nhap_ds(ds,n);
xuat_ds(ds,n);
liet_ke(ds,n);
diem_tb(ds,n);
}
1: nhập xuất danh sách kq sinh viên với(1<=n<=40)
2: Liệt kê các Sinh Viên thi lại lần 2
3: Nhập mã Sinh Viên, tính trung bình điểm các môn của SV đó
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
//Hoang Bao Anh - C7CT4
//khigiadano@gmail.com
//hanhtrangsinhvien.net
struct DIEM
{
char ma_sv[20];
char ma_mh[20];
unsigned lan_thi;
unsigned diem;
};
void nhap_1_sv(DIEM &x)
{
cin.ignore();
cout<<"Nhap ma Sinh Vien: "; cin.getline(x.ma_sv,20);
cout<<"Nhap ma Mon Hoc: "; cin.getline(x.ma_mh,20);
cout<<"Nhap so lan thi: "; cin>>x.lan_thi;
cout<<"Nhap diem: "; cin>>x.diem;
}
void xuat_1_sv(DIEM x)
{
cout<<"Ma SV: "<<x.ma_sv;
cout<<"\t\tMa MH: "<<x.ma_mh;
cout<<"\t\tLan Thi: "<<x.lan_thi;
cout<<"\t\tDiem: "<<x.diem;
cout<<endl;
}
void nhap_ds(DIEM ds[],int &n)
{
do
{
cout<<"Nhap so luong danh sach: ";
cin>>n;
}while(n<1||n>40);
for(int i=0;i<n;i++)
{
cout<<"-----: "<<i+1<<endl;
nhap_1_sv(ds[i]);
cout<<"\n";
}
}
void xuat_ds(DIEM ds[],int n)
{
cout<<"\nXuat Danh Sach"<<endl;
for(int i=0;i<n;i++)
{
cout<<"\n------ "<<i+1<<" ------"<<endl;
xuat_1_sv(ds[i]);
}
}
void liet_ke(DIEM ds[],int n)
{
int flag=0;
cout<<"\n----- Cac SV thi lan 2----- \n\n";
for(int i=0;i<n;i++)
{
if(ds[i].lan_thi==2)
{
xuat_1_sv(ds[i]);
flag=1;
}
}
if(flag==0)
cout<<"Khong co SV thi lai lan 2\n\n";
}
void diem_tb(DIEM ds[],int n)
{
int dem=0,tong=0;
char tim[20];
cout<<"Nhap Ma SV: ";
cin>>tim;
for(int i=0;i<n;i++)
{
if(strcmp(ds[i].ma_sv,tim)==0)
{
tong+=ds[i].diem;
dem++;
}
}
if(dem==0)
cout<<"Khong ton tai SV nay";
else
cout<<"Diem trung binh cua "<<tim<<" la: "<<(float)tong/dem;
cout<<endl;
}
void main()
{
int n;
DIEM ds[MAX];
nhap_ds(ds,n);
xuat_ds(ds,n);
liet_ke(ds,n);
diem_tb(ds,n);
}