【项目开发 | C语言项目 | C语言课程管理系统】

本项目是一个简易的课程管理系统,为了帮助用户管理大学课程信息。用户可以进行课程的添加、删除、查看、搜索和修改等操作。适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。

一,开发环境需求

  • 操作系统:Windows, Linux

  • 开发环境工具:QT, VSCode, Visual Studio

  • 技术要求

    • 语言:C语言
    • 文件操作:C语言标准库中的文件操作函数
    • 数据结构:结构体

二,功能说明

在这里插入图片描述

三,功能实现

1. 查看课程

void listCourses() {
    readCoursesFromFile(courses, &numCourses);  // 从文件读取课程信息
    printf("课程编号 课程名称 教师名称 上课时间 上课地点\n");
    for (int i = 0; i < numCourses; i++) {
        printf("%s %s %s %s %s\n",
               courses[i].courseID, courses[i].courseName,
               courses[i].teacherName, courses[i].courseTime,
               courses[i].courseLocation);
    }
}

2. 添加课程

void addCourse() {
    printf("请输入课程编号:");
    scanf("%s", courses[numCourses].courseID);
    printf("请输入课程名称:");
    scanf("%s", courses[numCourses].courseName);
    printf("请输入教师名称:");
    scanf("%s", courses[numCourses].teacherName);
    printf("请输入上课时间:");
    scanf("%s", courses[numCourses].courseTime);
    printf("请输入上课地点:");
    scanf("%s", courses[numCourses].courseLocation);
    numCourses++;
    saveCoursesToFile(courses, numCourses);
    printf("课程已添加成功!\n");
}

3. 删除课程

void deleteCourse() {
    char id[10];
    printf("请输入要删除的课程编号:");
    scanf("%s", id);
    int index = -1;
    for (int i = 0; i < numCourses; i++) {
        if (strcmp(courses[i].courseID, id) == 0) {
            index = i;
            break;
        }
    }
    if (index != -1) {
        for (int i = index; i < numCourses - 1; i++) {
            courses[i] = courses[i + 1];
        }
        numCourses--;
        saveCoursesToFile(courses, numCourses);
        printf("课程已删除成功!\n");
    } else {
        printf("未找到指定课程编号的课程。\n");
    }
}

4. 搜索课程

void searchCourse() {
    char name[50];
    printf("请输入要搜索的课程名称:");
    scanf("%s", name);
    int found = 0;
    for (int i = 0; i < numCourses; i++) {
        if (strcmp(courses[i].courseName, name) == 0) {
            printf("课程编号:%s\n", courses[i].courseID);
            printf("课程名称:%s\n", courses[i].courseName);
            printf("教师名称:%s\n", courses[i].teacherName);
            printf("上课时间:%s\n", courses[i].courseTime);
            printf("上课地点:%s\n", courses[i].courseLocation);
            found = 1;
            break;
        }
    }
    if (!found) {
        printf("找不到相关课程!\n");
    }
}

5. 更新课程

void updateCourse() {
    char id[10];
    printf("请输入要更新的课程编号:");
    scanf("%s", id);
    int index = -1;
    for (int i = 0; i < numCourses; i++) {
        if (strcmp(courses[i].courseID, id) == 0) {
            index = i;
            break;
        }
    }
    if (index != -1) {
        printf("请输入新的课程名称:");
        scanf("%s", courses[index].courseName);
        printf("请输入新的教师名称:");
        scanf("%s", courses[index].teacherName);
        printf("请输入新的上课时间:");
        scanf("%s", courses[index].courseTime);
        printf("请输入新的上课地点:");
        scanf("%s", courses[index].courseLocation);
        saveCoursesToFile(courses, numCourses);
        printf("课程信息已更新成功!\n");
    } else {
        printf("未找到指定课程编号的课程。\n");
    }
}

四,效果图

后续截图添加

五,源码

代码已开源,可访问gitee下载。

六,总结

本项目是一个基于C语言的简单课程管理系统,通过命令行交互,用户可以方便地对课程进行管理。尽管该项目比较简单,但它涵盖了文件操作、数据结构等基本的编程知识点,为进一步的学习和项目开发打下了基础。希望该项目能为您的学习和工作带来帮助。

七,声明

本项目大量使用AI编写,如有想法和疑问请联系作者

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值