用结构体写学生管理系统
时间: 2023-12-14 09:04:42 浏览: 63
基于C语言结构体的学生管理系统
5星 · 资源好评率100%
好的,我可以帮你用 C 语言的结构体写一个简单的学生管理系统。
首先,我们定义一个学生结构体,包含学生的姓名、学号、年龄和成绩等信息,如下所示:
```c
struct student {
char name[20];
char id[10];
int age;
float score;
};
```
接下来,我们可以定义一个数组来存储多个学生的信息,例如:
```c
struct student stu[100];
```
然后,我们可以编写相应的函数来实现学生管理系统的各种功能,例如添加学生、删除学生、修改学生信息、查询学生信息等,下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
struct student {
char name[20];
char id[10];
int age;
float score;
};
struct student stu[100]; // 存储学生信息的数组
int count = 0; // 学生数量
// 添加学生
void add_student() {
struct student s;
printf("请输入学生姓名:");
scanf("%s", s.name);
printf("请输入学生学号:");
scanf("%s", s.id);
printf("请输入学生年龄:");
scanf("%d", &s.age);
printf("请输入学生成绩:");
scanf("%f", &s.score);
stu[count++] = s;
printf("添加成功!\n");
}
// 删除学生
void delete_student() {
char id[10];
printf("请输入要删除的学生学号:");
scanf("%s", id);
int i, j;
for (i = 0; i < count; i++) {
if (strcmp(stu[i].id, id) == 0) {
for (j = i; j < count - 1; j++) {
stu[j] = stu[j+1]; // 删除该学生
}
count--;
printf("删除成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
// 修改学生信息
void modify_student() {
char id[10];
printf("请输入要修改的学生学号:");
scanf("%s", id);
int i;
for (i = 0; i < count; i++) {
if (strcmp(stu[i].id, id) == 0) {
printf("请输入学生姓名:");
scanf("%s", stu[i].name);
printf("请输入学生年龄:");
scanf("%d", &stu[i].age);
printf("请输入学生成绩:");
scanf("%f", &stu[i].score);
printf("修改成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
// 查询学生信息
void query_student() {
char id[10];
printf("请输入要查询的学生学号:");
scanf("%s", id);
int i;
for (i = 0; i < count; i++) {
if (strcmp(stu[i].id, id) == 0) {
printf("学生姓名:%s\n", stu[i].name);
printf("学生学号:%s\n", stu[i].id);
printf("学生年龄:%d\n", stu[i].age);
printf("学生成绩:%.2f\n", stu[i].score);
return;
}
}
printf("未找到该学生!\n");
}
int main() {
int choice;
while (1) {
printf("***********************************\n");
printf("* 1. 添加学生信息 *\n");
printf("* 2. 删除学生信息 *\n");
printf("* 3. 修改学生信息 *\n");
printf("* 4. 查询学生信息 *\n");
printf("* 5. 退出程序 *\n");
printf("***********************************\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
delete_student();
break;
case 3:
modify_student();
break;
case 4:
query_student();
break;
case 5:
return 0;
default:
printf("输入有误,请重新输入!\n");
break;
}
}
return 0;
}
```
以上就是一个简单的基于结构体的学生管理系统的实现。注意,这只是一个示例,实际开发中可能需要更复杂的功能和更完善的错误处理。
阅读全文