Tớ viết ra chương trình này mong anh em có thể tính điểm được dễ dàng. Chúc anh em đạt điểm cao.
Đây là bài ở dạng .cpp:
Code
#include<iostream>
using namespace std;
struct mon_hoc
{
float diem;
float he_so;
};
float dtc( float a)
{
if(a<0) return -1;
if(a>=0&&a<4) return 0;
if(a>=4&&a<=5.4) return 1;
if(a>=5.5&&a<=6.9) return 2;
if(a>=7&&a<=8.4) return 3;
if(a>=8.5&&a<=10) return 4;
if(a>10) return -1;
}
float kt_heso(float b)
{
if(b<=0) return -1;
if(b>0) return 1;
}
int xep_loai(float c,float d)
{
if(c<1) cout<<"Ban bi buoc thoi hoc"<<endl;
if(c>=1&&c<2)
{
cout<<"Ban xep loai: Yeu"<<endl;
if(d>0)cout<<"Ban phai thi lai "<<d<<" mon"<<endl;
}
if(c>=2&&c<2.5)
{
cout<<"Ban xep loai: Trung binh"<<endl;
if(d>0)cout<<"Ban phai thi lai "<<d<<" mon"<<endl;
}
if(c>=2.5&&c<3.2)
{
if(d==0)cout<<"Ban xep loai: Kha"<<endl;
else cout<<"Ban xep loai trung binh vi thi lai "<<d<<" mon"<<endl;
}
if(c>=3.2&&c<=4)
{
if(d==0)cout<<"Ban xep loai: Gioi"<<endl;
else cout<<"Ban xep loai trung binh vi thi lai "<<d<<" mon"<<endl;
}
}
int main()
{
int n;
cout<<"Moi ban nhap vao so mon hoc: n=";cin>>n;
cout<<"--------------------------------------------------------"<<endl;
mon_hoc mon[n];
cout<<"Hay nhap vao diem, va he so cua tung mon:"<<endl;
for(int i=0;i<n;i++)
{
cout<<"Mon "<<i+1<<":"<<endl;
cout<<"Diem mon "<<i+1<<"="; cin>>mon[i].diem;
cout<<"He so mon "<<i+1<<"=";cin>>mon[i].he_so;
}
float tong_diem=0;
float tong_he_so=0;
int loi=1;
int dxl=0;
for(int i=0;i<n;i++)
{
if(dtc(mon[i].diem)==0) dxl++;
if(dtc(mon[i].diem)==-1)
{
cout<<"Xin moi ban xem lai doi chut, co the ban da nham trong qua trinh nhap diem"<<endl;
loi=-1;
break;
}
else
{
if(kt_heso(mon[i].he_so)==-1)
{
cout<<"Xin moi ban xem lai doi chut, co the ban da nham trong qua trinh nhap he so"<<endl;
loi=-1;
break;
}
else
{
tong_diem=tong_diem+dtc(mon[i].diem)*mon[i].he_so;
tong_he_so=tong_he_so+mon[i].he_so;
}
}
}
cout<<"-------------------------------------------------------------------"<<endl;
float dtk;
if(loi!=-1)
{
dtk=tong_diem/tong_he_so;
cout<<"Diem tong ket tin chi cua ban la: "<<dtk<<endl;
xep_loai(dtk,dxl);
cout<<endl;
}
system("pause");
}
Còn đây là ở dạng .exe: