武汉工程大学计算机科学与工程学院 综合设计报告
cout << \请输入语文成绩:\ cin >> score.Chinese;
cout << \请输入数学成绩:\ cin >> score.Math;
p->Set(name, no, score); f1->next = p; p->next = NULL; f1 = f1->next;
cout << \是否继续输入信息?(Y\\\\N) \ cin >> choose;
} while (choose == 'y' || choose == 'Y'); Save();
cout << \返回主菜单\ cin >> choose;
while (choose != '1') {
cout << \返回主菜单\ cin >> choose; }
Menu(); }
void Function::Delete() //删除信息函数 {
char name[20]; double no; char choose; Student *p, *q; system(\
p = Student_First; cout << \请输入姓名:\ cin >> name;
cout << \输入学号:\ cin >> no; while (p) {
q = p->next;
if (strcmp(q->GetName(), name) == 0 && q->GetNo() == no) //判断该学生信息是否存在 {
cout << \姓名\\t学号\\t平均成绩\\t语文成绩\\t数学成绩\\n\ q->Out();
cout << \是否删除(Y/N)\ cin >> choose;
if (choose == 'y' || choose == 'Y')
- 30 -
武汉工程大学计算机科学与工程学院 综合设计报告
{
p->next = q->next; delete q;
cout << \删除成功:\\n\ }
break; }
p = p->next; }
Save();
cout << \返回主菜单\\n2.继续删除\ cin >> choose;
while (choose != '1'&&choose != '2') {
cout << \返回主菜单\\n2.继续删除\ cin >> choose; }
if (choose == '1') Menu();
else if (choose == '2') Delete(); }
void Function::Modify() //修改学生信息函数 {
char choose, name[20]; Student *temp, *p; double no; Class score; system(\
temp = p = Student_First;
cout << \请输入您要修改的学生姓名:\ cin >> name; while (temp) {
if (strcmp(temp->GetName(), name) == 0) {
cout << \姓名\\t学号\\t平均成绩\\t语文成绩\\t数学成绩\\n\ temp->Out();
cout << \请输入姓名:\ cin >> name;
cout << \请输入学号:\ cin >> no;
cout << \请输入语文成绩:\ cin >> score.Chinese;
- 31 -
武汉工程大学计算机科学与工程学院 综合设计报告
cout << \请输入数学成绩:\ cin >> score.Math;
temp->Set(name, no, score); break; }
temp = temp->next; }
Save();
cout << \修改成功!\
cout << \返回主菜单\\n2.继续修改\ cin >> choose;
while (choose != '1'&&choose != '2') {
cout << \返回主菜单\\n2.继续修改\ cin >> choose; }
if (choose == '1') Menu();
else if (choose == '2') Modify(); }
void Function::Read() //读取信息函数 {
Student *p, *p2; p = Student_First;
ifstream is(\ if (!is) {
ofstream os(\ os.close(); return; }
while (!is.eof()) {
p2 = new Student;
p2->Infile(is);//把磁盘文件的内容读取到内存中 p->next = p2; p2->next = NULL; p = p->next; } } void Function::Save() //保存学生成绩信息函数 {
- 32 -
武汉工程大学计算机科学与工程学院 综合设计报告
ofstream of(\ Student *p = Student_First->next; while (p) {
p->Ofile(of);//把内存中的数据保存到磁盘文件 p = p->next; }
of.close(); }
void Function::Search() {
double flag(0); char choose; char t1[20]; double t2; system(\
Student *temp = Student_First->next; do {
cout << \输入查询方式:\\n1.按姓名查询\\n2.按学号查询\\n\ cin >> choose; if (choose == '1') {
cout << \请输入您要查询的姓名:\ cin >> t1; while (temp) {
if (strcmp(t1, temp->GetName()) == 0) {
flag = 1; break; }
temp = temp->next; }
if (flag == 0)
cout << \无该学生的信息\\n\ else {
cout << \姓名\\t学号\\t平均成绩\\t语文成绩\\t数学成绩\\n\ temp->Out(); }
break; }
else if (choose == '2')
- 33 -
武汉工程大学计算机科学与工程学院 综合设计报告
{
cout << \请输入您要查询的学号\ cin >> t2; while (temp) {
if (t2 == temp->GetNo()) {
flag = 1; break; }
temp = temp->next; }
if (flag == 0)
cout << \无该学生的信息\\n\ else {
cout << \姓名\\t学号\\t平均成绩\\t语文成绩\\t数学成绩\\n\ temp->Out(); }
break; }
} while (choose != '1' || choose != '2'); cout << \返回主菜单\\n2.继续查询\ cin >> choose;
while (choose != '1'&&choose != '2') {
cout << \返回主菜单\\n2.继续查询\ cin >> choose; }
if (choose == '1') Menu();
else if (choose == '2') Search(); }
void Function::Show() {double sum=0; int n=0;
char choose; Student *temp; system(\
temp = Student_First->next; if (!temp) {
cout << \文件无数据\\n\\n \
- 34 -