C语言课程设计:校车管理系统、社团团购管理系统、社区人员管理系统(附源码)

题目一:校车管理系统
学习C语言中相关知识,设计一个校车管理系统,包含以下主要功能(不限于以下)

  1. 实现对校车信息的管理,包括添加相关信息(车牌,座位数,司机姓名,联系方式等等),查询校车信息,删除校车信息(校车报废等原因);
  2. 实现小车站点的管理,包括添加站点信息,查询站点信息,删除站点信息等;
  3. 实现通过文件保存校车信息;
  4. 实现每个校区对应不同校车的分配管理(例如,青山校区需要两辆校车,洪山校区需要一辆校车,黄家湖校区需要三辆校车);
  5. 实现校车的预约功能,校内学生和职工可以通过输入规划第二天需要多少校车,实现校车的合理排班,校车司机适当的轮休;(提示,可以给每辆车或者司机增加一个出车状态标志)

题目二:社区团购管理系统
为了抗击当前的新冠肺炎,自学C语言中相关知识,请你帮助社区设计一个团购系统。功能要求如下所述:

  1. 实现团购的用户管理
  2. 实现团购系统基本管理(不同用户添加自己的团购物品,删除团购物品,查询团购物品)
  3. 实现团购物品的管理(发布团购物品信息,品种,单价);
  4. 实现团购系统的财务管理(收款,退款,(如果没有足够的货物的情况下)等)
  5. 实现相关信息文件保存;(提示,可以参考美团等网站)

题目三:社区人员管理系统
为了抗击当前的新冠肺炎,自学C语言中相关知识,设计出社区人员管
理系统。功能要求如下所述:

  1. 以某小区为对象,管理员能够录入小区中的人员(按照家庭录入);
  2. 管理员能够实现维护(录入,删除,编辑修改);
  3. 实现相关信息文件保存;
  4. 具有查找某人的家庭住址,统计出门次数等功能;湖北省很多地市规定
  5. 居民一般每4天1次提出出门申请。

题目要求:

  1. 必须使用C语言编写,使用C++或者其他高级语言者课程设计为不合格。
  2. 使用简单的控制台程序,可以修改背景颜色等,且不需要图形编程。
  3. 仅使用编译系统自带的库函数,不允许使用sqlite.dll等动态链接库。
printf("本人承接java、C语言、c++、python、数据结构等课程设计,私聊源码和数据库,联系微信:15813406574")
printf("本人联系微信:15813406574")
printf("需要此项目的全部代码者微信私聊,永久在线")

这里只给大家展示一下题目一:校车管理系统的效果图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码展示:

int write_bus()
{
    FILE* fp;
    if ((fp = fopen("校车信息.txt", "wb+")) == NULL) //wb+新建一个二进制文件,已存在的文件将内容清空,允许读写
    {
        puts("Fail to open file!");
        exit(0);
    }
    
    BusList p = b->next;
    while (p)
    {
        fwrite(p, sizeof(BusNode), 1, fp);
        p = p->next;
    }
    fclose(fp);//关闭文件,数据流才存入磁盘
    printf("校车信息写入完毕!\n");
    return 1;
}

////////////从文档中读取校车结构体/////////
int read_bus()
{
    FILE* fp;
    if ((fp = fopen("校车信息.txt", "rb+")) == NULL)//rb+打开一个二进制文件,文件必须存在,允许读写
    {
        puts("Fail to open file!");
        exit(0);
    }
    BusList p = b;
    while (!feof(fp))//调试发现feof会多读一次,所以加上fread返回值判断
    {
        BusNode tmp;
        if (fread(&tmp, sizeof(BusNode), 1, fp))
        {
            BusListInsert(&b, tmp.data);//判断fscanf的返回数值,它指示成功读取的数据
        }
    }
    fclose(fp);
    printf("校车信息读取完毕!\n");
    return 1;
}

////////////把站点结构体数据存入文档中
int write_site()
{
    FILE* fp;
    if ((fp = fopen("站点信息.txt", "wb+")) == NULL) //wb+新建一个二进制文件,已存在的文件将内容清空,允许读写
    {
        puts("Fail to open file!");
        exit(0);
    }

    SiteList p = s->next;
    while (p)
    {
        fwrite(p, sizeof(SiteNode), 1, fp);
        p = p->next;
    }
    fclose(fp);//关闭文件,数据流才存入磁盘
    printf("站点信息写入完毕!\n");
    return 1;
}

////////////从文档中读取站点结构体/////////
int read_site()
{
    FILE* fp;
    if ((fp = fopen("站点信息.txt", "rb+")) == NULL)
    {
        puts("Fail to open file!");
        exit(0);
    }
    SiteList p = s;
    int i = 1;
    while (!feof(fp))//调试发现feof会多读一次,所以加上fread返回值判断
    {
        SiteNode tmp;
        if (fread(&tmp, sizeof(SiteNode), 1, fp))
        {
            SiteListInsert(&s, tmp.date,i);//判断fscanf的返回数值,它指示成功读取的数据
            i++; SiteNum++;
        }
    }
    fclose(fp);
    printf("站点信息读取完毕!\n"); printf("\n"); printf("\n");
    return 1;
}
prtinf("由于篇幅有限这里就不展示所有代码了,有需要的加微信")
prtinf("或者其他两题")
prtinf("微信:15813406574")

猜你喜欢

转载自www.cnblogs.com/crh666/p/12794032.html