解释 void modify()//修改 { int i, flag; char ID[LEN], name[LEN], sex; int age; float score; printf("请输入需要修改的学生姓名:\n"); getchar(); gets(name); while (1) { flag = 0; for (i = 0; i < n; i++) { if (strcmp(name, stu[i].Stuname) == 0) { flag = 1; int num;//用于switch函数的子菜单 printf("***************************************************\n"); printf("*----1.修改学号-------- - -----2.修改性别-------*\n"); printf("*----3.修改年龄-------- - -----4.修改C语言成绩--*\n"); printf("*----5.修改高数成绩---- - -----6.修改英语成绩---*\n"); printf("*-------------------7.退出本菜单------------------*\n"); printf("***************************************************\n\n"); printf("请输入子菜单:"); scanf("%d", &num); switch (num) { case 1: printf("请输入新的学号:\n"); getchar(); gets(ID); strcpy(stu[i].StuID, ID); break; case 2: getchar(); printf("请输入新的性别:\n"); scanf("%c", &sex); stu[i].Stusex = sex; break; case 3: printf("请输入新的年龄:\n"); scanf("%d", &age); stu[i].Stuage = age; break; case 4: printf("请输入新的C语言成绩:\n"); scanf("%f", &score); stu[i].score[0] = score; break; case 5: printf("请输入新的高数成绩:\n"); scanf("%f", &score); stu[i].score[1] = score; break; case 6: printf("请输入新的英语成绩:\n"); scanf("%f", &score); stu[i].score[2] = score; break; case 7: return; break; default: printf("请在1--7之间选择!\n"); } if (num > 0 && num < 7) printf("修改成功,记得保存哟!!!\n"); break;//找到学生,结束循环; } } if (flag == 0) { printf("没有找到该学生,请重新输入需要修改信息的学生姓名:\n"); gets(name); } } system("pause"); }
时间: 2023-07-23 12:36:42 浏览: 120
关于Linux 文件系统的异步 I/O 扩展
这是一个 C 语言函数,用于修改学生信息。它首先要求用户输入需要修改的学生姓名,然后在学生数组中进行查找,若找到该学生,则会显示一个子菜单,让用户选择需要修改的信息。子菜单中有 7 个选项,分别对应学号、性别、年龄、C语言成绩、高数成绩、英语成绩和退出。用户选择一个选项后,会要求用户输入新的信息,然后将这个信息替换原来的信息。最后,如果修改成功,函数会提示用户记得保存。如果没有找到该学生,则会提示用户重新输入需要修改信息的学生姓名。函数执行完毕后,会暂停程序运行。
阅读全文