c语言编写一个学生管理系统的代码
时间: 2024-09-20 19:07:55 浏览: 43
在C语言中,创建一个简单的学生管理系统通常涉及数据结构如数组或链表来存储学生信息,并定义函数来添加、删除、查找和显示学生。这里提供一个基础的示例,使用数组来存储学生的姓名和成绩:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 50
// 定义学生结构体
typedef struct {
char name[50];
int score;
} Student;
// 功能声明
void addStudent(Student students[], int* count);
void displayStudents(Student students[], int count);
void searchStudent(const Student students[], int count, char* name);
int main() {
// 初始化学生数量
int studentCount = 0;
// 学生数组
Student students[MAX_STUDENTS];
while (studentCount < MAX_STUDENTS) {
printf("请输入学生姓名(输入'quit'退出):");
fgets(students[studentCount].name, sizeof(students[studentCount].name), stdin);
if (strcmp(students[studentCount].name, "quit\n") == 0)
break;
printf("请输入学生成绩:");
scanf("%d", &students[studentCount].score);
studentCount++;
}
// 显示所有学生
displayStudents(students, studentCount);
return 0;
}
// 添加学生
void addStudent(Student students[], int* count) {
*count += 1;
}
// 显示学生列表
void displayStudents(Student students[], int count) {
for (int i = 0; i < count; i++) {
printf("学生 %d: 姓名 - %s, 成绩 - %d\n", i + 1, students[i].name, students[i].score);
}
}
// 搜索学生
void searchStudent(const Student students[], int count, char* name) {
for (int i = 0; i < count; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("找到学生,姓名:%s, 成绩:%d\n", students[i].name, students[i].score);
break;
}
}
}
```
这个例子非常基础,实际应用中可能会加入更多的功能,比如排序、更新成绩等。此外,对于大量数据,应该考虑使用动态分配内存而不是固定大小的数组。