printf("请出入要查询的学生姓名;") scanf("%s") if } 在上述代码中补充一些代码使其还实现按姓名查找和按学号查找这两项功能
时间: 2023-12-27 13:02:59 浏览: 67
以下是补充代码来实现按姓名查找和按学号查找两个功能:
```c
#include <stdio.h>
#include <string.h>
struct Student {
char name[50];
int studentID;
};
int main() {
int choice;
printf("请选择查询方式:\n");
printf("1. 按姓名查找\n");
printf("2. 按学号查找\n");
scanf("%d", &choice);
struct Student students[100];
int numStudents = 0;
// 假设已经有一些学生数据
strcpy(students[0].name, "张三");
students[0].studentID = 1001;
strcpy(students[1].name, "李四");
students[1].studentID = 1002;
strcpy(students[2].name, "王五");
students[2].studentID = 1003;
switch (choice) {
case 1:
char searchName[50];
printf("请输入要查询的学生姓名:");
scanf("%s", searchName);
for (int i = 0; i < numStudents; i++) {
if (strcmp(students[i].name, searchName) == 0) {
printf("学生姓名:%s\n", students[i].name);
printf("学生学号:%d\n", students[i].studentID);
break;
}
}
break;
case 2:
int searchID;
printf("请输入要查询的学生学号:");
scanf("%d", &searchID);
for (int i = 0; i < numStudents; i++) {
if (students[i].studentID == searchID) {
printf("学生姓名:%s\n", students[i].name);
printf("学生学号:%d\n", students[i].studentID);
break;
}
}
break;
default:
printf("无效的选择。\n");
break;
}
return 0;
}
```
以上代码添加了一个结构体 `Student` 来保存学生的姓名和学号。在 `main` 函数中,根据用户的选择(1或2),分别进行按姓名查找和按学号查找的操作。用户可以输入要查询的姓名或学号,并与已有的学生数据进行比较,找到匹配的学生后输出其姓名和学号信息。注意,此处仅为示例代码,实际使用时需要根据需求进行适当修改。
阅读全文