c语言实现学生管理系统

以下c语言实现学生管理系统代码实现的需求是一个简单的学生管理系统,包括以下功能:

  1. 添加学生:输入学生姓名、年龄和成绩,将学生信息添加到学生数组中。
  2. 删除学生:输入要删除的学生姓名,查找该学生并将其从学生数组中删除。
  3. 修改学生信息:输入要修改的学生姓名,查找该学生并输入新的学生信息,将其更新到学生数组中。
  4. 查询学生信息:输入要查询的学生姓名,查找该学生并输出其姓名、年龄和成绩。
  5. 退出:退出程序。 该学生管理系统可以用于简单的学生信息管理,方便管理者对学生信息进行添加、删除、修改和查询等操作。

以下是一个简单的C语言学生管理系统的实现,包含添加学生、删除学生、修改学生信息和查询学生信息等功能。

#include <stdio.h>
#include <string.h>
#define MAX_STUDENT_NUM 100  // 最大学生数目
typedef struct {
    char name[20];  // 学生姓名
    int age;        // 学生年龄
    int score;      // 学生成绩
} Student;
Student students[MAX_STUDENT_NUM];  // 学生数组
int student_count = 0;              // 学生数目
// 添加学生
void add_student() {
    if (student_count >= MAX_STUDENT_NUM) {
        printf("学生数目已达到最大值,无法添加新学生!\n");
        return;
    }
    Student student;
    printf("请输入学生姓名:");
    scanf("%s", student.name);
    printf("请输入学生年龄:");
    scanf("%d", &student.age);
    printf("请输入学生成绩:");
    scanf("%d", &student.score);
    students[student_count++] = student;
    printf("添加学生成功!\n");
}
// 删除学生
void delete_student() {
    char name[20];
    printf("请输入要删除的学生姓名:");
    scanf("%s", name);
    int i, j;
    for (i = 0; i < student_count; i++) {
        if (strcmp(students[i].name, name) == 0) {
            for (j = i + 1; j < student_count; j++) {
                students[j - 1] = students[j];
            }
            student_count--;
            printf("删除学生成功!\n");
            return;
        }
    }
    printf("未找到该学生!\n");
}
// 修改学生信息
void modify_student() {
    char name[20];
    printf("请输入要修改的学生姓名:");
    scanf("%s", name);
    int i;
    for (i = 0; i < student_count; i++) {
        if (strcmp(students[i].name, name) == 0) {
            printf("请输入学生姓名:");
            scanf("%s", students[i].name);
            printf("请输入学生年龄:");
            scanf("%d", &students[i].age);
            printf("请输入学生成绩:");
            scanf("%d", &students[i].score);
            printf("修改学生信息成功!\n");
            return;
        }
    }
    printf("未找到该学生!\n");
}
// 查询学生信息
void query_student() {
    char name[20];
    printf("请输入要查询的学生姓名:");
    scanf("%s", name);
    int i;
    for (i = 0; i < student_count; i++) {
        if (strcmp(students[i].name, name) == 0) {
            printf("学生姓名:%s\n", students[i].name);
            printf("学生年龄:%d\n", students[i].age);
            printf("学生成绩:%d\n", students[i].score);
            return;
        }
    }
    printf("未找到该学生!\n");
}
// 主函数
int main() {
    int choice;
    while (1) {
        printf("------------------\n");
        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;
}

该学生管理系统使用结构体数组存储学生信息,每个学生包含姓名、年龄和成绩三个属性。主函数中通过菜单选择实现了添加学生、删除学生、修改学生信息和查询学生信息等功能。