#include "stdafx.h"
#include<iostream>
#include <ctime>
#include<cstdlib>
#include<iomanip>
using namespace std;
struct student
{
char num[10];
char name[10];
float modian;
float shudian;
float vc;
float english;
float mao;
float vfp;
}arry[128];
int r(int fanwei)
{
srand((unsigned)time(NULL)); //用于保证是随机数
return rand()%fanwei; //用rand产生随机数并设定范围
}
int pjf(int i)
{
arry[i].modian=r(100);
arry[i].shudian=r(100);
arry[i].vc=r(100);
arry[i].english=r(100);
arry[i].mao=r(100);
arry[i].vfp=r(100);
int score[128];
score[i]=(arry[i].modian+arry[i].shudian+arry[i].vc+arry[i].english+arry[i].mao+arry[i].vfp)/6;
return score[i];
}
void change(int c)
{ cout<<"请输入模电分数"<<endl;
cin>>arry[c].modian;
cout<<"请输入数电分数"<<endl;
cin>>arry[c].shudian;
cout<<"请输入C++分数"<<endl;
cin>>arry[c].vc;
cout<<"请输入英语分数"<<endl;
cin>>arry[c].english;
cout<<"请输入毛概分数"<<endl;
cin>>arry[c].mao;
cout<<"请输入数据库分数"<<endl;
cin>>arry[c].vfp;
cout<<"新成绩如下:"<<" 模电 "<<arry[c].modian<<" 数电 "<<arry[c].shudian<<" C++ "<<arry[c].vc<<" 英语 "<<arry[c].english
<<" 毛概 "<<arry[c].mao<<" 数据库 "<<arry[c].vfp<<endl;
}
int main()
{
int b,c,i,j;
long int t;
for(i=0;i<128;i++)
{
arry[i].modian=r(100);
arry[i].shudian=r(100);
arry[i].vc=r(100);
arry[i].english=r(100);
arry[i].mao=r(100);
arry[i].vfp=r(100);}
cout<<"\t\t◎★★★★【 欢迎进入班级成绩管理系统 】★★★★◎"<<endl;
cout<<"\t\t◎★★★★【 课程号 】★★★★◎"<<endl;
cout<<"\t\t◎★★★★【 模电 1 】★★★★◎"<<endl;
cout<<"\t\t◎★★★★【 数电 2 】★★★★◎"<<endl;
cout<<"\t\t◎★★★★【 C++ 3 】★★★★◎"<<endl;
cout<<"\t\t◎★★★★【 英语 4 】★★★★◎"<<endl;
cout<<"\t\t◎★★★★【 毛概 5 】★★★★◎"<<endl;
cout<<"\t\t◎★★★★【 数据库 6 】★★★★◎"<<endl;
f:
cout<<"请输入学号:"<<endl;
cin>>t;
if(t<1000000000)
{cout<<"学号输入有问题,请重新输入"<<endl;
goto f;}
b=t-1000000000;
e: cout<<"如果要查询全部成绩请输入0,如果要查询单科成绩,请输入课程号。"<<endl;
cout<<"如果要查询各班分数统计,请输入班级号:"<<endl;
cout<<"如果要查询各科分数统计,请输入1+课程号(模电11):"<<endl;
cout<<"如果需要修改成绩,请输入110"<<endl;
cin>>c;
if(c==0)
cout<<" 模电 "<<arry[c].modian<<" 数电 "<<arry[c].shudian<<" C++ "<<arry[c].vc<<" 英语 "<<arry[c].english
<<" 毛概 "<<arry[c].mao<<" 数据库 "<<arry[c].vfp<<endl;
if(c==1)
cout<<" 模电 "<<arry[c].modian<<endl;
if(c==2)
cout<<" 数电 "<<arry[c].shudian<<endl;
if(c==3)
cout<<" C++ "<<arry[c].vc<<endl;
if(c==4)
cout<<" 英语 "<<arry[c].english<<endl;
if(c==5)
cout<<" 毛概 "<<arry[c].mao<<endl;
if(c==6)
cout<<" 数据库 "<<arry[c].vfp<<endl;
if(c==1121)
{
cout<<"等级为A的"<<endl;
for(i=0;i<32;i++)
if(pjf(i)>=90)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=0;i<32;i++)
if(pjf(i)<90&&pjf(i)>=70)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为c的"<<endl;
for(i=0;i<32;i++)
if(pjf(i)<70&&pjf(i)>=60)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=0;i<32;i++)
if(pjf(i)<60)
cout<<arry[i].name<< " "<<pjf(i)<<"分"<<endl;}
if(c==1122)
{
cout<<"等级为A的"<<endl;
for(i=32;i<64;i++)
if(pjf(i)>=90)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=32;i<64;i++)
if(pjf(i)<90&&pjf(i)>=70)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为c的"<<endl;
for(i=32;i<64;i++)
if(pjf(i)<70&&pjf(i)>=60)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=32;i<64;i++)
if(pjf(i)<60)
cout<<arry[i].name<< " "<<pjf(i)<<"分"<<endl;}
if(c==1123)
{
cout<<"等级为A的"<<endl;
for(i=64;i<96;i++)
if(pjf(i)>=90)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=64;i<96;i++)
if(pjf(i)<90&&pjf(i)>=70)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为c的"<<endl;
for(i=64;i<96;i++)
if(pjf(i)<70&&pjf(i)>=60)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=64;i<96;i++)
if(pjf(i)<60)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;}
if(c==1124)
{
cout<<"等级为A的"<<endl;
for(i=96;i<128;i++)
if(pjf(i)>=90)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=96;i<128;i++)
if(pjf(i)<90&&pjf(i)>=70)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为c的"<<endl;
for(i=96;i<128;i++)
if(pjf(i)<70&&pjf(i)>=60)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=96;i<128;i++)
if(pjf(i)<60)
cout<<arry[i].num<< " "<<pjf(i)<<"分"<<endl;}
if(c==11)
{
cout<<"等级为A的"<<endl;
for(i=0;i<128;i++)
if(arry[i].modian >=90)
cout<<arry[i].num<< " "<<arry[i].modian<< " "<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=0;i<128;i++)
if(arry[i].modian<90&&arry[i].modian>=70)
cout<<arry[i].num<< " "<<arry[i].modian<< " "<<"分"<<endl;
cout<<"等级为C的"<<endl;
for(i=0;i<128;i++)
if(arry[i].modian<70&&arry[i].modian>=60)
cout<<arry[i].num<< " "<<arry[i].modian<< " "<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=0;i<128;i++)
if(arry[i].modian<60)
cout<<arry[i].num<< " "<<arry[i].modian<< " "<<"分"<<endl;}
if(c==12)
{ cout<<"等级为A的"<<endl;
for(i=0;i<128;i++)
if(arry[i].shudian >=90)
cout<<arry[i].num<< " "<<arry[i].shudian<< " "<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=0;i<128;i++)
if(arry[i].shudian<90&&pjf(i)>=70)
cout<<arry[i].num<< " "<<arry[i].shudian<< " "<<"分"<<endl;
cout<<"等级为C的"<<endl;
for(i=0;i<128;i++)
if(arry[i].shudian<70&&arry[i].shudian>=60)
cout<<arry[i].num<< " "<<arry[i].shudian<< " "<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=0;i<128;i++)
if(arry[i].shudian<60)
cout<<arry[i].num<< " "<<arry[i].shudian<< " "<<"分"<<endl;}
if(c==13)
{
cout<<"等级为A的"<<endl;
for(i=0;i<128;i++)
if(arry[i].vc >=90)
cout<<arry[i].num<< " "<<arry[i].vc<< " "<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=0;i<128;i++)
if(arry[i].vc<90&&arry[i].vc>=70)
cout<<arry[i].num<< " "<<arry[i].vc<< " "<<"分"<<endl;
cout<<"等级为C的"<<endl;
for(i=0;i<128;i++)
if(arry[i].vc<70&&arry[i].vc>=60)
cout<<arry[i].num<< " "<<arry[i].vc<< " "<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=0;i<128;i++)
if(arry[i].vc<60)
cout<<arry[i].num<< " "<<arry[i].vc<< " "<<"分"<<endl;}
if(c==14)
{
cout<<"等级为A的"<<endl;
for(i=0;i<128;i++)
if(arry[i].english >=90)
cout<<arry[i].num<< " "<<arry[i].english<< " "<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=0;i<128;i++)
if(arry[i].english<90&&arry[i].english>=70)
cout<<arry[i].num<< " "<<arry[i].english<< " "<<"分"<<endl;
cout<<"等级为C的"<<endl;
for(i=0;i<128;i++)
if(arry[i].english<70&&arry[i].english>=60)
cout<<arry[i].num<< " "<<arry[i].english<< " "<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=0;i<128;i++)
if(arry[i].english<60)
cout<<arry[i].num<< " "<<arry[i].english<< " "<<"分"<<endl;}
if(c==15)
{
cout<<"等级为A的"<<endl;
for(i=0;i<128;i++)
if(arry[i].mao >=90)
cout<<arry[i].num<< " "<<arry[i].mao<< " "<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=0;i<128;i++)
if(arry[i].mao<90&&arry[i].mao>=70)
cout<<arry[i].num<< " "<<arry[i].mao<< " "<<"分"<<endl;
cout<<"等级为C的"<<endl;
for(i=0;i<128;i++)
if(arry[i].mao<70&&arry[i].mao>=60)
cout<<arry[i].num<< " "<<arry[i].mao<< " "<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=0;i<128;i++)
if(arry[i].mao)
cout<<arry[i].num<< " "<<arry[i].mao<< " "<<"分"<<endl;}
if(c==16)
{
cout<<"等级为A的"<<endl;
for(i=0;i<128;i++)
if(arry[i].vfp >=90)
cout<<arry[i].num<< " "<<arry[i].vfp<< " "<<"分"<<endl;
cout<<"等级为B的"<<endl;
for(i=0;i<128;i++)
if(arry[i].vfp<90&&arry[i].vfp>=70)
cout<<arry[i].num<< " "<<arry[i].vfp<< " "<<"分"<<endl;
cout<<"等级为C的"<<endl;
for(i=0;i<128;i++)
if(arry[i].vfp<70&&arry[i].vfp>=60)
cout<<arry[i].num<< " "<<arry[i].vfp<< " "<<"分"<<endl;
cout<<"等级为D的"<<endl;
for(i=0;i<128;i++)
if(arry[i].vfp<60)
cout<<arry[i].num<< " "<<arry[i].vfp<< " "<<"分"<<endl;}
if(c==110)
change(b);
cout<<"是否需要返回主菜单?(Y or N)"<<endl;
char ch;
cin>>ch;
if(ch=='Y'||ch=='y');
goto e;
return 0;
}
唉,做到后面才发现开始的方向存在一定问题,有部分功能存在着问题,还不知道怎么随机字符变量,保存数据方面还不太好,模块化,还有类的应用,都有点问题,
这程序应该用指针的,但是时间有限,改不了。
有于,姓名,学号未输入,只显示了分数,深感遗憾.....