#include #include #include #include #include #include #include using namespace std; const int SIZE=20; struct student { char classnum[SIZE]; //班级 char id[SIZE]; //学号 char name[SIZE]; //姓名 int *score; }; void input(student p[], string c_name[],int s_num,int c_num); //输入学生的成绩信息,包括学号、姓名、性别等基本信息和各科成绩 void show(student p[], string c_name[],int s_num,int c_num); // 显示全部学生各科成绩信息; void statistic(student p[], string c_name[],int s_num,int c_num);//对各科分班进行成绩统计分析,计算总分、平均分、最高分、最低分、及格率等; void section(student p[], string c_name[],int s_num,int c_num); //统计各个科目各分数段人数及班级信息; void search(student p[], string c_name[],int s_num,int c_num); //按学号或姓名查找并显示某个学生的各科成绩; void sort(student p[], string c_name[],int s_num,int c_num); //按课程成绩或总分由高到低排序显示; void update(student p[], string c_name[],int s_num,int c_num); //更新某个学生的基本信息或课程成绩; void quicksort(int s[],int l,int r); //快速排序 void fileout(student p[], string c_name[],int s_num,int c_num,int semester);//文件形式输出 int main() { cout<>first_sel; cin.get(); while(tolower(first_sel)!='y'&&tolower(first_sel)!='n') { cout<<"输入有误,请重新输入(Y/N):"; cin>>first_sel; cin.get(); } if(tolower(first_sel)=='y') { ifstream fin; n=1; cout<<"**************** 说明: ****************"<>student_num; fin.get(); fin>>semester; fin.get(); fin>>cour_num; fin.get(); fin.close(); system("pause"); system("cls"); } else { cout<>student_num; while(!cin.good()) { cin.clear(); cin.sync(); cout<<"输入有误!请重新输入学生个数: "; cin>>student_num; cin.get(); } cout<<"================"; cout<<"请输入学期(以数字形式):"; cin>>semester; while(!cin.good()) { cin.clear(); cin.sync(); cout<<"输入有误!请重新输入学期: "; cin>>student_num; cin.get(); } cout<>cour_num; cin.get(); while(!cin.good()) { cin.clear(); cin.sync(); cout<<"输入有误!请重新输入第 "<>cour_num; cin.get(); } } student *p=new student[student_num]; string *cour_name=new string[cour_num]; if(tolower(first_sel)=='y') { ifstream fin; cout<<"**************** 说明: ******************"<>*(p[i].score+j); fin.get(); } } fin.close(); } system("pause"); system("cls"); char select='a'; while(select!='q') { cout<<"********************************************************************************"<0) { cout<<"《****************************************************************************》"; cout<<"《****************************************************************************》"; cout<<"《********************************请继续输入**********************************》"; cout<<"《****************************************************************************》"; cout<<"《****************************************************************************》"; cout<>*(p[i].score+j); cin.get(); while(!cin.good()) { cin.clear(); cin.sync(); cout<<"输入有误!请重新输入: "; cin>>*(p[i].score+j); cin.get(); } } } system("pause"); system("cls"); } } void show(student p[], string c_name[],int s_num,int c_num) { cout<<"********************************************************************************"; cout<<"科目:\t\t"; for(int j=0;jmax) max=*(p[j].score+i); if((*p[j].score+i)=60) pass++; } } cout<<"《"<=90) s_90++; else if(*(p[j].score+i)>=80) s_80++; else if(*(p[j].score+i)>=70) s_70++; else if(*(p[j].score+i)>=60) s_60++; else if(*(p[j].score+i)<60) s_nopass++; } } cout<>*(p[i].score+j); cin.get(); cout<<"********************************************************************************"; while(!cin.good()) { cin.clear(); cin.sync(); cout<<"输入有误!请重新输入: "; cin>>*(p[i].score+j); cin.get(); cout<<"********************************************************************************"; } while(*(p[i].score+j)>100||*(p[i].score+j)<0) { cout<<"输入有误,请输入0到100之内的数:"; cin>>*(p[i].score+j); cin.get(); while(!cin.good()) { cin.clear(); cin.sync(); cout<<"输入有误!请重新输入: "; cin>>*(p[i].score+j); cin.get(); cout<<"********************************************************************************"; } } } } else { cout<<"输入有误,请重新输入:"; cin.get(ch); cin.get(); cout<<"********************************************************************************"; } } } } if(n==0) { cout<<"没有这名同学。"<=x) i++; if(i