C语言写一个学籍管理系统,要做到学生学号,姓名,性别,年龄等信息的录入,还有数据信息的查找
时间: 2024-03-17 21:40:32 浏览: 78
好的,下面是一个简单的学籍管理系统的实现,包括学生信息的录入和查询,这里使用了结构体和指针:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
struct Student {
int id; // 学号
char name[20]; // 姓名
char gender[5]; // 性别
int age; // 年龄
};
// 学生数组
struct Student students[MAX_STUDENTS];
int num_students = 0;
// 添加学生信息
void add_student() {
if (num_students >= MAX_STUDENTS) {
printf("学生数量已达到上限!\n");
return;
}
printf("请输入学生信息:\n");
struct Student *s = &students[num_students];
printf("学号:");
scanf("%d", &(s->id));
printf("姓名:");
scanf("%s", s->name);
printf("性别:");
scanf("%s", s->gender);
printf("年龄:");
scanf("%d", &(s->age));
num_students++;
printf("添加成功!\n");
}
// 查找学生信息
void find_student() {
int id;
printf("请输入学号:");
scanf("%d", &id);
int found = 0;
for (int i = 0; i < num_students; i++) {
struct Student *s = &students[i];
if (s->id == id) {
printf("学号:%d\t姓名:%s\t性别:%s\t年龄:%d\n", s->id, s->name, s->gender, s->age);
found = 1;
break;
}
}
if (!found) {
printf("未找到该学生!\n");
}
}
int main() {
int choice;
do {
printf("\n1. 添加学生信息\n");
printf("2. 查找学生信息\n");
printf("3. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
find_student();
break;
case 3:
printf("再见!\n");
break;
default:
printf("无效的操作!\n");
break;
}
} while (choice != 3);
return 0;
}
```
这个程序中,学生信息存储在一个结构体数组中,通过指针访问每个学生的信息。添加学生信息时,先检查数组是否已满,如果未满,则询问用户输入学生信息,并将其添加到数组中。查询学生信息时,先询问用户要查找的学号,然后遍历数组查找学生信息,并输出结果。
阅读全文