c语言实现对考用菜单选择方式完成下列功能:输入考生信息;输出考生信息;查询考生信息;添加考生信息;修改考生信息;删除考生信息。试报名管理的简单模拟,
时间: 2024-03-14 21:47:36 浏览: 23
好的,我可以帮你实现这样一个简单的报名管理系统。首先,我们需要定义一个结构体来存储考生信息,比如:
```c
typedef struct student {
char name[20]; // 考生姓名
int age; // 考生年龄
char sex[10]; // 考生性别
char id[20]; // 考生身份证号
} Student;
```
然后,我们可以使用一个数组来存储所有的考生信息,比如:
```c
#define MAX_NUM 100 // 最大考生数
Student students[MAX_NUM]; // 存储考生信息的数组
int num_students = 0; // 当前考生数
```
接下来,我们可以编写具体的功能实现函数:
1. 输入考生信息
```c
void input_student() {
printf("请输入考生姓名:");
scanf("%s", students[num_students].name);
printf("请输入考生年龄:");
scanf("%d", &students[num_students].age);
printf("请输入考生性别:");
scanf("%s", students[num_students].sex);
printf("请输入考生身份证号:");
scanf("%s", students[num_students].id);
num_students++;
printf("输入成功!\n");
}
```
2. 输出考生信息
```c
void output_student() {
printf("当前考生信息如下:\n");
printf("姓名\t年龄\t性别\t身份证号\n");
for (int i = 0; i < num_students; i++) {
printf("%s\t%d\t%s\t%s\n", students[i].name, students[i].age, students[i].sex, students[i].id);
}
}
```
3. 查询考生信息
```c
void query_student() {
char id[20];
printf("请输入要查询的考生身份证号:");
scanf("%s", id);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("查询成功!\n");
printf("姓名\t年龄\t性别\t身份证号\n");
printf("%s\t%d\t%s\t%s\n", students[i].name, students[i].age, students[i].sex, students[i].id);
return;
}
}
printf("没有找到该考生信息!\n");
}
```
4. 添加考生信息
```c
void add_student() {
if (num_students >= MAX_NUM) {
printf("考生数已达到上限,无法添加新考生!\n");
return;
}
input_student();
}
```
5. 修改考生信息
```c
void modify_student() {
char id[20];
printf("请输入要修改的考生身份证号:");
scanf("%s", id);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("请输入新的考生姓名:");
scanf("%s", students[i].name);
printf("请输入新的考生年龄:");
scanf("%d", &students[i].age);
printf("请输入新的考生性别:");
scanf("%s", students[i].sex);
printf("请输入新的考生身份证号:");
scanf("%s", students[i].id);
printf("修改成功!\n");
return;
}
}
printf("没有找到该考生信息!\n");
}
```
6. 删除考生信息
```c
void delete_student() {
char id[20];
printf("请输入要删除的考生身份证号:");
scanf("%s", id);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id) == 0) {
for (int j = i; j < num_students - 1; j++) {
students[j] = students[j + 1];
}
num_students--;
printf("删除成功!\n");
return;
}
}
printf("没有找到该考生信息!\n");
}
```
最后,我们可以编写一个主函数来调用这些功能实现函数:
```c
int main() {
int choice;
while (1) {
printf("请选择要进行的操作:\n");
printf("1. 输入考生信息\n");
printf("2. 输出考生信息\n");
printf("3. 查询考生信息\n");
printf("4. 添加考生信息\n");
printf("5. 修改考生信息\n");
printf("6. 删除考生信息\n");
printf("0. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
input_student();
break;
case 2:
output_student();
break;
case 3:
query_student();
break;
case 4:
add_student();
break;
case 5:
modify_student();
break;
case 6:
delete_student();
break;
case 0:
printf("程序已退出!\n");
return 0;
default:
printf("输入错误,请重新输入!\n");
break;
}
}
}
```
这样,一个简单的报名管理系统就完成了。当然,这个系统还有很多可以改进的地方,比如可以将数据存储到文件中,可以添加密码验证等等。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)