c语言学生系统管理

由于学生系统管理涉及到复杂的逻辑和多个模块,我https://mp.weixin.qq.com/s/ekJ-4M8Xz4ec42GMCdSzsA这里提供一个简化版的C语言学生信息管理系统的框架代码。这个系统将包含学生信息的增删改查(CRUD)功能。

 

```c

#include <stdio.h>

#include <stdlib.h>

 

// 定义学生结构体

typedef struct {

    int id;

    char name[50];

    int age;

    float score;

} Student;

 

// 学生数组,模拟数据库

Student students[100];

int studentCount = 0;

 

// 函数声明

void addStudent();

void displayStudents();

void deleteStudentById();

void updateStudentById();

 

int main() {

    int choice;

    do {

        printf("\n====== 学生信息管理系统 ======\n");

        printf("1. 添加学生\n");

        printf("2. 显示所有学生\n");

        printf("3. 删除学生\n");

        printf("4. 更新学生信息\n");

        printf("5. 退出系统\n");

        printf("请选择操作: ");

        scanf("%d", &choice);

 

        switch (choice) {

            case 1:

                addStudent();

                break;

            case 2:

                displayStudents();

                break;

            case 3:

                deleteStudentById();

                break;

            case 4:

                updateStudentById();

                break;

            case 5:

                printf("感谢使用学生信息管理系统!\n");

                exit(0);

            default:

                printf("无效的选择,请重新选择!\n");

        }

    } while (choice != 5);

 

    return 0;

}

 

// 添加学生的函数实现

void addStudent() {

    if (studentCount >= 100) {

        printf("学生数量已达上限!\n");

        return;

    }

    printf("请输入学生信息:\n");

    printf("ID: ");

    scanf("%d", &students[studentCount].id);

    printf("姓名:");

    scanf("%s", students[studentCount].name);

    printf("年龄:");

    scanf("%d", &students[studentCount].age);

    printf("成绩:");

    scanf("%f", &students[studentCount].score);

    studentCount++;

    printf("学生添加成功!\n");

}

 

// 显示所有学生的函数实现

void displayStudents() {

    if (studentCount == 0) {

        printf("没有学生记录!\n");

        return;

    }

    printf("\n学生列表:\n");

    for (int i = 0; i < studentCount; i++) {

        printf("ID: %d, 姓名:%s, 年龄:%d, 成绩:%.2f\n", 

               students[i].id, students[i].name, students[i].age, students[i].score);

    }

}

 

// 删除学生的函数实现

void deleteStudentById() {

    int id, i;

    printf("请输入要删除的学生ID:");

    scanf("%d", &id);

    for (i = 0; i < studentCount; i++) {

        if (students[i].id == id) {

            for (int j = i; j < studentCount - 1; j++) {

                students[j] = students[j + 1];

            }

            studentCount--;

            printf("学生删除成功!\n");

            return;

        }

    }

    printf("未找到ID为 %d 的学生!\n", id);

}

 

// 更新学生信息的函数实现

void updateStudentById() {

    int id, i;

    printf("请输入要更新的学生ID:");

    scanf("%d", &id);

    for (i = 0; i < studentCount; i++) {

        if (students[i].id == id) {

            printf("请输入新的学生信息:\n");

            printf("姓名:");

            scanf("%s", students[i].name);

            printf("年龄:");

            scanf("%d", &students[i].age);

            printf("成绩:");

            scanf("%f", &students[i].score);

            printf("学生信息更新成功!\n");

            return;

        }

    }

    printf("未找到ID为 %d 的学生!\n", id);

}

```

 

这个代码只是一个简单的模板,真正的学生管理系统会更加复杂,包括用户认证、权限管理、数据持久化等功能。此外,为了保证数据的完整性和一致性,实际应用中应该使用数据库管理系统来存储和操作数据,而不是像上面的代码那样使用静态数组。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值