# include "IMS.h" # define ceiling 717 # define fullcombo 150 void Menu( ) { cout << "*******信息管理系统*******" << endl; cout << "********0:退出系统********" << endl; cout << "********1:数据录入********" << endl; cout << "********2:统计查看********" << endl; cout << "********3:数据修改********" << endl; cout << "********4:数据删除********" << endl; cout << "********5:查找数据********" << endl; } void addperson(IMS* ims) { if (ims->count == ceiling) { cout << "成员已满,无法添加!" << "\n"; return; } cout << "请输入编号:"; cin >> ims->arr[ims->count].number; cout << "请输入姓名:"; cin >> ims->arr[ims->count].name; ims->arr[ims->count].score = mycin(0, fullcombo, "请输入一个你觉得核理的分数:"); ims->count++; cout << "已成功添加"; system("pause"); } void inspectperson(IMS ims) { if (ims.count == 0) { system("pause"); return; } double highest{ 0 }, lowest{ 100000 }, average{ 0 } ,fangcha{ 0 }; for (int i = 0; i < ims.count; i++) { cout << "学生编号:" << ims.arr[i].number << '\n'; cout << "学生姓名:" << ims.arr[i].name << '\n'; cout << "学生分数:" << ims.arr[i].score << '\n'; cout << endl; average += ims.arr[i].score; highest = highest > ims.arr[i].score ? highest : ims.arr[i].score; lowest = lowest < ims.arr[i].score ? lowest : ims.arr[i].score; } average /= ims.count; for (int i = 0; i < ims.count; i++) { fangcha += (ims.arr[i].score - average) * (ims.arr[i].score - average); } fangcha /= ims.count; cout << "平均分:" << average << "\n"; cout << "方差:" << fangcha << "\n"; cout << "最高分:" << highest << "\n"; cout << "最低分:" << lowest << "\n"; system("pause"); } int findperson(IMS ims, int num) { for (int i = 0; i < ceiling; i++) { if (ims.arr[i].number == num) { return i; } } return -1; } int findperson(IMS ims, string name) { for (int i = 0; i < ceiling; i++) { if (ims.arr[i].name == name) { return i; } } return -1; } void changeperson(IMS* ims) { int choice{}, target{}; choice = mycin(0, 1, "0:编号查找\n1:姓名查找\n"); if (!choice) { int finder{}; cout << "请输入要修改的学生编号:"; cin >> finder; target = findperson(*ims, finder); } else { string finder{}; cout << "请输入要修改的学生姓名:"; cin >> finder; target = findperson(*ims, finder); } if (target == -1) { cout << "他根本不在表里啊,他到底在哪" << endl;; system("pause"); return; } cout << "请输入新的编号:"; cin >> ims->arr[target].number; cout << "请输入新的姓名:"; cin >> ims->arr[target].name; ims->arr[target].score = mycin(0, fullcombo, "请输入一个你觉得核理的新的分数:"); cout << "已成功修改" << "\n"; system("pause"); } void deletperson(IMS* ims) { int choice{}, target{}; choice = mycin(0, 1, "0:编号查找\n1:姓名查找\n"); if (!choice) { int finder{}; cout << "请输入要删除的学生编号:"; cin >> finder; target = findperson(*ims, finder); } else { string finder{}; cout << "请输入要删除的学生姓名:"; cin >> finder; target = findperson(*ims, finder); } if (target == -1) { cout << "他根本不在表里啊,他到底在哪" << "\n"; system("pause"); return; } while ( (target + 1) < ceiling ) { ims->arr[target] = ims->arr[target + 1]; target++; } ims->count --; cout << "已成功删除" << endl; system("pause"); } void showperson(IMS ims) { int choice{}, target{}; choice = mycin(0, 1, "0:编号查找\n1:姓名查找\n"); if (!choice) { int finder{}; cout << "请输入要查找的学生编号:"; cin >> finder; target = findperson(ims, finder); } else { string finder{}; cout << "请输入要查找的学生姓名:"; cin >> finder; target = findperson(ims, finder); } if (target == -1) { cout << "他根本不在表里啊,他到底在哪" << "\n"; system("pause"); return; } else { cout << "学生编号:" << ims.arr[target].number << '\n'; cout << "学生姓名:" << ims.arr[target].name << '\n'; cout << "学生分数:" << ims.arr[target].score << '\n'; cout << endl; system("pause"); } }