//学生信息查找 void seekStudent() { printf("请输入要查找学生的名字\n"); char name[50]; scanf("%s", name); int num; int i; for (i = 0; i < numStudents; i++) { if (strcmp(students[i].name, name) == 0) { printf("%s\t%d\t%d\t%d\n",students[i].name, students[i].id,students[i].num1,students[i].attendance); break; } } if (i == numStudents) { printf("对不起没有你要查找的数据\n"); } }这段代码怎么描述
时间: 2024-03-19 09:41:08 浏览: 36
这段代码实现了一个学生信息查找功能,首先要求用户输入要查找的学生名字,然后通过循环遍历学生信息数组,查找是否有与输入名字相匹配的学生信息。如果找到了匹配的学生信息,则输出该学生的姓名、学号、成绩、出勤情况等信息;如果没有找到匹配的学生信息,则输出提示信息,告诉用户没有找到要查找的数据。该函数使用了字符串比较函数 `strcmp()` 来进行字符串的匹配。
相关问题
#include <stdio.h> #include <string.h> #define MAX_STUDENT 100 // 最大学生数 struct Student { char id[20]; // 学号 char name[20]; // 姓名 int score; // 成绩 }; // 学生信息数组 struct Student students[MAX_STUDENT]; int student_count = 0; // 成绩录入函数 void add_student() { struct Student s; printf("请输入学生学号:"); scanf("%s", s.id); printf("请输入学生姓名:"); scanf("%s", s.name); printf("请输入学生成绩:"); scanf("%d", &s.score); students[student_count++] = s; // 将新学生信息加入数组中 } // 打印成绩单函数 void print_students() { if (student_count == 0) { printf("暂无学生信息\n"); return; } printf("学号\t姓名\t成绩\n"); for (int i = 0; i < student_count; i++) { printf("%s\t%s\t%d\n", students[i].id, students[i].name, students[i].score); } }
这段代码是一个学生信息管理系统的代码,定义了一个结构体类型 Student,包含三个成员变量:学号、姓名和成绩。同时还定义了一个宏 MAX_STUDENT 表示最大学生数为 100。
定义了一个结构体数组 students,用来存储多个学生的信息,同时定义了一个 student_count 变量表示当前学生数。
代码中有两个函数,一个是成绩录入函数 add_student,用于从控制台输入新的学生信息,并将其加入到学生信息数组中。另一个是打印成绩单函数 print_students,用于将学生信息数组中的所有学生信息打印出来。
在打印成绩单函数中,先判断 student_count 是否为 0,如果是则输出“暂无学生信息”,否则按照学号、姓名、成绩的格式输出所有学生的信息。
// 删除课程函数 void removeCourse() { char name[50]; // 获取要删除的课程名 printf("请输入要删除的课程名:"); scanf("%s", name); // 判断该课程是否存在 for (int i = 0; i < courseCount; i++) { if (strcmp(courses[i], name) == 0) { // 课程存在,则删除课程 for (int j = i; j < courseCount - 1; j++) { strcpy(courses[j], courses[j + 1]); } courseCount--; printf("删除课程成功!\n"); return; } } // 课程不存在,则删除失败 printf("该课程不存在!\n"); }对该函数增加详细的注释说明
好的,以下是对 `removeCourse()` 函数的详细注释:
```c
// 删除课程函数
void removeCourse() {
char name[50]; // 定义一个字符数组,用于存储要删除的课程名
// 获取要删除的课程名
printf("请输入要删除的课程名:");
scanf("%s", name);
// 判断该课程是否存在
for (int i = 0; i < courseCount; i++) {
if (strcmp(courses[i], name) == 0) { // 如果该课程存在
// 课程存在,则删除课程
for (int j = i; j < courseCount - 1; j++) { // 从该课程位置开始往后覆盖
strcpy(courses[j], courses[j + 1]); // 将后面的课程名往前覆盖
}
courseCount--; // 课程数减一
printf("删除课程成功!\n"); // 输出删除成功的提示信息
return; // 函数返回
}
}
// 课程不存在,则删除失败
printf("该课程不存在!\n"); // 输出删除失败的提示信息
}
```
希望这份注释能够帮助你更好地理解函数的实现过程。如果还有任何问题,请随时提出。
阅读全文