学生成绩管理系统(c )
- 格式:doc
- 大小:69.00 KB
- 文档页数:21
---------------------------------------------------------------最新资料推荐------------------------------------------------------学生成绩管理系统(c )学生成绩管理系统(仅源代码)#includeiostream #includeiomanip #includefstream #includestring #define MAX_NUM 10 //对象数组最大容纳人数 using namespace std; int pupil_num = 0; int mid_stu_num = 0; int univ_stu_num = 0; class Student { public: friend class BaseOperate; protected: string no; string name; string sex; int age; int class_infor[2]; //分别存储年级和班级 int total_grade; }; class Pupil:public Student { public: friend class BaseOperate; protected: int english_grade; int math_grade; int chinese_grade; }; class MiddleSchoolStudent:public Pupil { public: friend class BaseOperate; private: int geography_grade; int history_grade; }; class UniversityStudent:public Student { public: friend class BaseOperate; private: int major_grade; int english_grade; int higher_math_grade; int programming_grade; }; Pupil pupil[MAX_NUM]; MiddleSchoolStudent mid_stu[MAX_NUM]; UniversityStudent univ_stu[MAX_NUM]; class BaseOperate { public: bool query(); //查询bool addRecordInPupil(string no); bool addRecordInMid(string no); bool addRecordInUniv(string no); bool1 / 21deleteRecordInPupil(string no); bool deleteRecordInMid(string no); bool deleteRecordInUniv(string no); bool modifyInforInPupil(string no); bool modifyInforInMid(string no); bool modifyInforInUniv(string no); void show(); //输出所有学生信息 void tally(); //统计 (能统计学生人数、总分、单科的平均分等) void sort(); //排序 (可按总分和单科成绩排名次) void save(); void read(); }; bool BaseOperate::query() { string no; cout 请输入学号: endl;cin no; cout endl; cout.setf(std::ios::left); //在小学生中查找 for (int i = 0; i pupil_num; i++) { if (no ==pupil[i].no) { cout 学生类型:小学生 endl endl; cout 学号姓名性别年龄班级语文数学英语endl; cout setw(6)pupil[i].no setw(8) pupil[i].name setw(8)pupil[i].sex setw(6) pupil[i].age setw(3) (pupil[i].class_infor)[0] 0 setw(3) (pupil[i].class_infor)[1] setw(7)pupil[i].chinese_grade setw(7) pupil[i].math_grade setw(7) pupil[i].english_grade endl endl; return true; } } for (int i = 0; i mid_stu_num; i++) { if (no== mid_stu[i].no) { cout 学生类型:---------------------------------------------------------------最新资料推荐------------------------------------------------------ 中学生 endl endl; cout 学号姓名性别年龄班级语文数学英语地理历史 endl; coutsetw(6) mid_stu[i].no setw(8) mid_stu[i].name setw(8) mid_stu[i].sex setw(6) mid_stu[i].age setw(3) (mid_stu[i].class_infor)[0] 0 setw(3)(mid_stu[i].class_infor)[1] setw(7)mid_stu[i].chinese_grade setw(7) mid_stu[i].math_grade setw(7) mid_stu[i].english_grade setw(7)mid_stu[i].geography_grade setw(7)mid_stu[i].history_grade endl endl; returntrue; } } for (int i = 0; i univ_stu_num; i++) { if (no== univ_stu[i].no) { cout 学生类型:大学生 endl endl; cout 学号姓名性别年龄班级专业高数英语编程 endl; cout setw(6)univ_stu[i].no setw(8) univ_stu[i].name setw(8)univ_stu[i].sex setw(6) univ_stu[i].age setw(3) (univ_stu[i].class_infor)[0] 0 setw(3) (univ_stu[i].class_infor)[1] setw(7)univ_stu[i].major_grade setw(7)univ_stu[i].higher_math_grade setw(7)univ_stu[i].english_grade setw(7)3 / 21univ_stu[i].programming_grade endl endl; returntrue; } } cout 没有找到该学生 endl; return false; }bool BaseOperate::addRecordInPupil(string no) { for (int i =0; i pupil_num; i++) { if (pupil[i].no == no) { returnfalse; } } pupil[pupil_num].no = no; cout 姓名:; cin pupil[pupil_num].name; cout 性别:; cin pupil[pupil_num].sex; cout 年龄:; cin pupil[pupil_num].age; cout 年级:; cin pupil[pupil_num].class_infor[0]; cout 班级:; cin pupil[pupil_num].class_infor[1]; cout 语文成绩:; cin pupil[pupil_num].chinese_grade; cout 数学成绩:; cin pupil[pupil_num].math_grade; cout 英语成绩:; cin pupil[pupil_num].english_grade;pupil[pupil_num].total_grade =pupil[pupil_num].chinese_grade + pupil[pupil_num].math_grade + pupil[pupil_num].english_grade; pupil_num++; return true; }bool BaseOperate::addRecordInMid(string no) { for (int i = 0;i mid_stu_num; i++) { if (mid_stu[i].no == no) { returnfalse; } } mid_stu[mid_stu_num].no = no; cout 姓名:; cin mid_stu[mid_stu_num].name; cout 性别:---------------------------------------------------------------最新资料推荐------------------------------------------------------; cin mid_stu[mid_stu_num].sex; cout 年龄:; cin mid_stu[mid_stu_num].age; cout 年级:; cin mid_stu[mid_stu_num].class_infor[0]; cout 班级:; cin mid_stu[mid_stu_num].class_infor[1]; cout 语文成绩:; cin mid_stu[mid_stu_num].chinese_grade; cout 数学成绩:; cin mid_stu[mid_stu_num].math_grade; cout 英语成绩:; cin mid_stu[mid_stu_num].english_grade; cout 地理成绩:; cin mid_stu[mid_stu_num].geography_grade; cout 历史成绩:; cin mid_stu[mid_stu_num].history_grade; mid_stu[mid_stu_num].total_grade = mid_stu[mid_stu_num].chinese_grade + mid_stu[mid_stu_num].math_grade + mid_stu[mid_stu_num].english_grade + mid_stu[mid_stu_num].geography_grade + mid_stu[mid_stu_num].history_grade; mid_stu_num++; return true; } bool BaseOperate::addRecordInUniv(string no) { for (int i = 0; i univ_stu_num; i++) { if (univ_stu[i].no5 / 21== no) { return false; } } univ_stu[univ_stu_num].no = no; cout 姓名:; cin univ_stu[univ_stu_num].name; cout 性别:; cin univ_stu[univ_stu_num].sex; cout 年龄:; cin univ_stu[univ_stu_num].age; cout 年级:; cin univ_stu[univ_stu_num].class_infor[0]; cout 班级:; cin univ_stu[univ_stu_num].class_infor[1]; cout 专业成绩:; cin univ_stu[univ_stu_num].major_grade; cout 英语成绩:; cin univ_stu[univ_stu_num].english_grade; cout 高数成绩:; cin univ_stu[univ_stu_num].higher_math_grade; cout 编程成绩:; cin univ_stu[univ_stu_num].programming_grade; univ_stu[univ_stu_num].total_grade = univ_stu[univ_stu_num].major_grade + univ_stu[univ_stu_num].english_grade + univ_stu[univ_stu_num].higher_math_grade + univ_stu[univ_stu_num].programming_grade; univ_stu_num++; return true; } bool---------------------------------------------------------------最新资料推荐------------------------------------------------------ BaseOperate::deleteRecordInPupil(string no) { int index = -1; for (int i = 0; i pupil_num; i++) { if (no == pupil[i].no) { index = i; break; } } if (index == -1){ return false; } while (index pupil_num) { if (index + 1 = pupil_num) { break; } pupil[index].no = pupil[index + 1].no; pupil[index].name = pupil[index + 1].name; pupil[index].age = pupil[index + 1].age; pupil[index].sex = pupil[index + 1].sex; (pupil[index].class_infor)[0] = (pupil[index + 1].class_infor)[0]; (pupil[index].class_infor)[1] = (pupil[index + 1].class_infor)[1]; pupil[index].chinese_grade = pupil[index + 1].chinese_grade; pupil[index].math_grade = pupil[index + 1].math_grade; pupil[index].english_grade = pupil[index + 1].english_grade; index++; } pupil_num--; return true; } bool BaseOperate::deleteRecordInMid(string no) { int index = -1; for (int i = 0; i mid_stu_num; i++) { if (no == mid_stu[i].no) { index = i; break; } } if (index == -1){ return false; } while (index mid_stu_num) { if (index + 1 = mid_stu_num) { break; } mid_stu[index].no = mid_stu[index + 1].no; mid_stu[index].name =7 / 21mid_stu[index + 1].name; mid_stu[index].age = mid_stu[index+ 1].age; mid_stu[index].sex = mid_stu[index + 1].sex; (mid_stu[index].class_infor)[0] = (mid_stu[index + 1].class_infor)[0]; (mid_stu[index].class_infor)[1] = (mid_stu[index + 1].class_infor)[1]; mid_stu[index].chinese_grade = mid_stu[index + 1].chinese_grade; mid_stu[index].math_grade = mid_stu[index + 1].math_grade; mid_stu[index].english_grade = mid_stu[index + 1].english_grade; mid_stu[index].geography_grade = mid_stu[index + 1].geography_grade; mid_stu[index].history_grade = mid_stu[index + 1].history_grade; index++; } mid_stu_num--; return true; } bool BaseOperate::deleteRecordInUniv(string no) { int index = -1; for (int i = 0; i univ_stu_num; i++) { if (no == univ_stu[i].no) { index = i; break; } } if (index == -1){ return false; } while (index univ_stu_num) { if (index + 1 = univ_stu_num) { break; } univ_stu[index].no = univ_stu[index + 1].no; univ_stu[index].name = univ_stu[index + 1].name; univ_stu[index].age = univ_stu[index + 1].age; univ_stu[index].sex = univ_stu[index + 1].sex;---------------------------------------------------------------最新资料推荐------------------------------------------------------(univ_stu[index].class_infor)[0] = (univ_stu[index +1].class_infor)[0]; (univ_stu[index].class_infor)[1] =(univ_stu[index + 1].class_infor)[1];univ_stu[index].major_grade = univ_stu[index + 1].major_grade;univ_stu[index].programming_grade = univ_stu[index +1].programming_grade; univ_stu[index].higher_math_grade =univ_stu[index + 1].higher_math_grade;univ_stu[index].english_grade = univ_stu[index +1].english_grade; index++; } univ_stu_num--; returntrue; } bool BaseOperate::modifyInforInPupil(string no){ for (int i = 0; i pupil_num; i++) { if (no == pupil[i].no){ cout 年龄:; cin pupil[i].age; cout 年级:; cin pupil[i].class_infor[0]; cout 班级:; cin pupil[i].class_infor[1]; cout 语文成绩:; cin pupil[i].chinese_grade; cout 数学成绩:; cin pupil[i].math_grade; cout 英语成绩:; cin pupil[i].english_grade; pupil[i].total_grade =pupil[i].chinese_grade + pupil[i].math_grade + pupil[i].english_grade; return true; } } returnfalse; } bool BaseOperate::modifyInforInMid(string no) { for9 / 21(int i = 0; i mid_stu_num; i++) { if (no == mid_stu[i].no){ cout 年龄:; cin mid_stu[i].age; cout 年级:; cin mid_stu[i].class_infor[0]; cout 班级:; cin mid_stu[i].class_infor[1]; cout 语文成绩:; cin mid_stu[i].chinese_grade; cout 数学成绩:; cin mid_stu[i].math_grade; cout 英语成绩:; cin mid_stu[i].english_grade; cout 地理成绩:; cin mid_stu[i].geography_grade; cout 历史成绩:; cin mid_stu[i].history_grade;mid_stu[i].total_grade = mid_stu[i].chinese_grade + mid_stu[i].math_grade + mid_stu[i].english_grade + mid_stu[i].geography_grade + mid_stu[i].history_grade; return true; } } returnfalse; } bool BaseOperate::modifyInforInUniv(string no){ for (int i = 0; i univ_stu_num; i++) { if (no ==univ_stu[i].no) { cout 年龄:; cin univ_stu[i].age; cout 年级:; cin univ_stu[i].class_infor[0]; cout 班级:; cin univ_stu[i].class_infor[1]; cout 专业成绩:; cin univ_stu[i].major_grade; cout 英语成绩:; cin univ_stu[i].english_grade; cout 高数成绩:---------------------------------------------------------------最新资料推荐------------------------------------------------------; cin univ_stu[i].higher_math_grade; cout 编程成绩:; cin univ_stu[i].programming_grade;univ_stu[i].total_grade = univ_stu[i].major_grade + univ_stu[i].english_grade + univ_stu[i].higher_math_grade + univ_stu[i].programming_grade; return true; } }return false; } void BaseOperate::show() { cout 小学生:endl endl; if (pupil_num == 0) { cout 无 endlendl; } else { cout 学号姓名性别年龄班级语文数学英语 endl; } cout.setf(std::ios::left);for (int i = 0; i pupil_num; i++) { cout setw(6)pupil[i].no setw(8) pupil[i].name setw(8)pupil[i].sex setw(6) pupil[i].age setw(3)(pupil[i].class_infor)[0] 0 setw(3)(pupil[i].class_infor)[1] setw(7)pupil[i].chinese_grade setw(7) pupil[i].math_gradesetw(7) pupil[i].english_grade endl endl; } cout 中学生:endl endl; if (mid_stu_num == 0) { cout 无 endlendl; } else { cout 学号姓名性别年龄班级语文数学英语地理历史 endl; } for (int i = 0;11 / 21i mid_stu_num; i++) { cout setw(6) mid_stu[i].no setw(8) mid_stu[i].name setw(8) mid_stu[i].sexsetw(6) mid_stu[i].age setw(3) (mid_stu[i].class_infor)[0] 0 setw(3) (mid_stu[i].class_infor)[1] setw(7)mid_stu[i].chinese_grade setw(7) mid_stu[i].math_grade setw(7) mid_stu[i].english_grade setw(7)mid_stu[i].geography_grade setw(7)mid_stu[i].history_grade endl endl; } cout 大学生:endl endl; if (univ_stu_num == 0) { cout 无 endl endl; } else { cout 学号姓名性别年龄班级专业高数英语编程 endl; } for (int i = 0; iuniv_stu_num; i++) { cout setw(6) univ_stu[i].no setw(8) univ_stu[i].name setw(8) univ_stu[i].sexsetw(6) univ_stu[i].age setw(3) (univ_stu[i].class_infor)[0] 0 setw(3) (univ_stu[i].class_infor)[1] setw(7)univ_stu[i].major_grade setw(7)univ_stu[i].higher_math_grade setw(7)univ_stu[i].english_grade setw(7)univ_stu[i].programming_grade endl endl; } } void BaseOperate::tally() { int sum_chinese = 0; int sum_math =---------------------------------------------------------------最新资料推荐------------------------------------------------------0; int sum_english = 0; int sum_geography = 0; int sum_history = 0; int sum_higher_math = 0; int sum_major = 0; int sum_programming = 0; //小学生 cout 小学生:endl endl; cout --------------------------------- endl; cout 人数:pupil_num endl; cout --------------------------------- endl; if (pupil_num != 0) { cout 学号姓名总分 endl; for (int i = 0; i pupil_num; i++) { cout setw(6) pupil[i].no setw(8) pupil[i].name setw(4) pupil[i].total_grade endl; } cout endl; for (int i = 0; i pupil_num; i++) { sum_chinese += pupil[i].chinese_grade; sum_math += pupil[i].math_grade; sum_english += pupil[i].english_grade; } cout 语文平均分: (double)sum_chinese / pupil_num endl; cout 数学平均分: (double)sum_math / pupil_num endl; cout 英语平均分: (double)sum_english / pupil_num endl; } cout ------------------------------------- endl; //中学生cout endl 中学生:endl endl; cout --------------------------------- endl; cout 人数:13 / 21mid_stu_num endl; cout--------------------------------- endl; if (mid_stu_num !=0) { cout 学号姓名总分 endl; for (int i = 0; imid_stu_num; i++) { cout setw(6) mid_stu[i].no setw(8) mid_stu[i].name setw(4)mid_stu[i].total_grade endl; } cout endl; sum_chinese = 0; sum_math = 0; sum_english = 0; for (inti = 0; i mid_stu_num; i++) { sum_chinese +=mid_stu[i].chinese_grade; sum_math +=mid_stu[i].math_grade; sum_english +=mid_stu[i].english_grade; sum_geography +=mid_stu[i].geography_grade; sum_history +=mid_stu[i].history_grade; } cout 语文平均分: (double)sum_chinese / mid_stu_num endl; cout 数学平均分: (double)sum_math / mid_stu_num endl; cout 英语平均分: (double)sum_english / mid_stu_num endl; cout 地理平均分: (double)sum_geography / mid_stu_num endl; cout 历史平均分: (double)sum_history / mid_stu_num endl; } cout------------------------------------- endl; //大学生:cout endl 大学生:endl endl; cout --------------------------------- endl; cout 人数:---------------------------------------------------------------最新资料推荐------------------------------------------------------univ_stu_num endl; cout--------------------------------- endl; if (univ_stu_num != 0) { cout 学号姓名总分 endl;for (int i = 0; i univ_stu_num; i++) { cout setw(6)univ_stu[i].no setw(8) univ_stu[i].name setw(4) univ_stu[i].total_grade endl; } cout endl; sum_english = 0; for (int i = 0; i univ_stu_num; i++){ sum_higher_math += univ_stu[i].higher_math_grade; sum_major += univ_stu[i].major_grade; sum_programming +=univ_stu[i].programming_grade; sum_english +=univ_stu[i].english_grade; } cout 专业平均分: (double)sum_major / univ_stu_num endl; cout 高数平均分: (double)sum_higher_math / univ_stu_num endl; cout 英语平均分: (double)sum_english / univ_stu_num endl; cout 编程平均分: (double)sum_programming / univ_stu_num endl; }cout ------------------------------------- endl; } void BaseOperate::sort() { //小学生(按总分排序) Pupil temp_p;for (int i = 0; i pupil_num; i++) { for (int j = 1; jpupil_num - i; j++) { if (pupil[j - 1].total_gradepupil[j].total_grade) { temp_p = pupil[j - 1]; pupil[j - 1] = pupil[j]; pupil[j] = temp_p; } } }15 / 21//中学生 MiddleSchoolStudent temp_m; for (int i = 0; imid_stu_num; i++) { for (int j = 1; j mid_stu_num - i; j++){ if (mid_stu[j - 1].total_grade mid_stu[j].total_grade){ temp_m = mid_stu[j - 1]; mid_stu[j - 1] = mid_stu[j];mid_stu[j] = temp_m; } } } //大学生UniversityStudent temp_u; for (int i = 0; i univ_stu_num;i++) { for (int j = 1; j univ_stu_num - i; j++) { if(univ_stu[j - 1].total_grade univ_stu[j].total_grade){ temp_u = univ_stu[j - 1]; univ_stu[j - 1] =univ_stu[j]; univ_stu[j] = temp_u; } } } show(); }void BaseOperate::save() { //小学生ofstreamout(PupilInfor.txt, ios_base::binary); for (int i = 0; ipupil_num; i++) { out pupil[i].no pupil[i].name pupil[i].sex pupil[i].age (pupil[i].class_infor)[0] (pupil[i].class_infor)[1] pupil[i].chinese_grade pupil[i].math_grade pupil[i].english_grade ; } out.close(); //中学生out.open(MidStuInfor.txt, ios_base::binary); for (int i = 0;i mid_stu_num; i++) { out mid_stu[i].nomid_stu[i].name mid_stu[i].sex mid_stu[i].age (mid_stu[i].class_infor)[0] (mid_stu[i].class_infor)[1] mid_stu[i].chinese_grade mid_stu[i].math_grade---------------------------------------------------------------最新资料推荐------------------------------------------------------mid_stu[i].english_grade mid_stu[i].geography_grade mid_stu[i].history_grade ; } out.close(); //大学生out.open(UnivStuInfor.txt, ios_base::binary); for (int i = 0;i univ_stu_num; i++) { out univ_stu[i].no univ_stu[i].name univ_stu[i].sexuniv_stu[i].age (univ_stu[i].class_infor)[0] (univ_stu[i].class_infor)[1]univ_stu[i].major_grade univ_stu[i].higher_math_grade univ_stu[i].english_gradeuniv_stu[i].programming_grade ; } out.close(); }void BaseOperate::read() { ifstream in(PupilInfor.txt);int i = 0; if(!in) { cout 没有小学生信息 endl; } else{ while (!in.eof()) { in pupil[i].no pupil[i].name pupil[i].sex pupil[i].age (pupil[i].class_infor)[0](pupil[i].class_infor)[1] pupil[i].chinese_gradepupil[i].math_grade pupil[i].english_grade; pupil[i].total_grade = pupil[i].chinese_grade +pupil[i].math_grade + pupil[i].english_grade; i++;pupil_num++; } pupil_num--; } in.close(); //中学生in.open(MidStuInfor.txt); i = 0; if(!in) { cout 没有中学生信息 endl; } else { while (!in.eof()) { in17 / 21mid_stu[i].no mid_stu[i].name mid_stu[i].sexmid_stu[i].age (mid_stu[i].class_infor)[0](mid_stu[i].class_infor)[1] mid_stu[i].chinese_grademid_stu[i].math_grade mid_stu[i].english_grademid_stu[i].geography_grade mid_stu[i].history_grade; mid_stu[i].total_grade = mid_stu[i].chinese_grade +mid_stu[i].math_grade + mid_stu[i].english_grade +mid_stu[i].geography_grade + mid_stu[i].history_grade;i++; mid_stu_num++; } mid_stu_num--; }in.close(); //大学生 in.open(UnivStuInfor.txt); i = 0;if(!in) { cout 没有大学生信息 endl; } else { while(!in.eof()) { in univ_stu[i].no univ_stu[i].name univ_stu[i].sex univ_stu[i].age (univ_stu[i].class_infor)[0] (univ_stu[i].class_infor)[1] univ_stu[i].major_grade univ_stu[i].higher_math_grade univ_stu[i].english_grade univ_stu[i].programming_grade; univ_stu[i].total_grade = univ_stu[i].major_grade +univ_stu[i].higher_math_grade + univ_stu[i].english_grade +univ_stu[i].programming_grade; i++;univ_stu_num++; } univ_stu_num--; } in.close(); }//普通函数(选择用) void addRecord(BaseOperate a) { cout 请选择录入学生类型: endl endl; cout 1. 小学生 endl---------------------------------------------------------------最新资料推荐------------------------------------------------------endl; cout 2. 中学生endl endl; cout 3. 大学生endl endl; int type; cin type; cout endl; string no; cout 学号:; cin no; switch(type) { case 1: if (a.addRecordInPupil(no)) { cout 添加成功! endl; } else { cout 学号重复! endl; } break; case 2: if (a.addRecordInMid(no)) { cout 添加成功! endl; } else { cout 学号重复! endl; } break; case 3: if (a.addRecordInUniv(no)) { cout 添加成功! endl; } else { cout 学号重复! endl; } break; } } void deleteRecord(BaseOperate a) { cout 请选择删除学生类型: endl endl; cout 1. 小学生 endl endl; cout 2. 中学生endl endl; cout 3. 大学生 endl endl; int type; cin type; cout endl; string no; cout 请输入待删除学生学号 endl; cin no; cout endl; switch(type) { case 1: if (a.deleteRecordInPupil(no)) { cout 删除成功!endl; } else { cout 未找到该学号! endl; } break; case 2: if (a.deleteRecordInMid(no)) { cout删除成功! endl; } else { cout 未找到该学号!endl; } break; case 3: if (a.deleteRecordInUniv(no)) { cout 删除成功! endl; }19 / 21else { cout 未找到该学号! endl; } break; } } void modifyInfor(BaseOperate a) { cout 请选择修改学生类型: endl endl; cout 1. 小学生 endl endl; cout 2. 中学生endl endl; cout 3. 大学生 endl endl; int type; cin type; cout endl; string no; cout 请输入待修改学生学号 endl; cin no; cout endl; switch(type) { case 1: if (a.modifyInforInPupil(no)) { cout 修改成功endl; } else { cout 未找到该学号 endl; } break; case 2: if (a.modifyInforInMid(no)) { cout修改成功endl; } else { cout 未找到该学号endl; } break; case 3: if (a.modifyInforInUniv(no)) { cout 修改成功 endl; } else { cout 未找到该学号 endl; } break; } }int main() { BaseOperate a; while(1) { cout---------------------------------------------------------------- endl; cout 1. 添加 endl endl; cout 2. 查询endl endl; cout 3. 显示当前所有学生信息 endl endl; cout 4. 编辑 endl endl; cout 5. 删除 endl endl; cout 6. 统计 endl endl; cout 7. 保存 endl endl; cout 8. 读取 endl endl; cout 9. 排序 endl endl; cout 10. 退出endl; cout--------------------------------------------------------------------------------------------------------------------------最新资料推荐----------------------------------------------------------- endl; int m; cin m; cout endl; switch(m) { case 1: addRecord(a); break; case 2:a.query(); break; case 3: a.show(); break; case 4: modifyInfor(a); break; case 5: deleteRecord(a); break; case 6: a.tally(); break; case 7: a.save(); break; case8: a.read(); break; case 9: a.sort(); break; case 10:exit(0); } } }21 / 21。