C语言课程设计:校车管理系统(附源码)

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

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

必须使用C语言编写,使用C++或者其他高级语言者课程设计为不合格。
使用简单的控制台程序,可以修改背景颜色等,且不需要图形编程。
仅使用编译系统自带的库函数,不允许使用sqlite.dll等动态链接库。

本人承接java、C语言、c++、python、数据结构等课程设计,私聊源码和数据库,联系微信:15813406574

需要此项目的全部代码者微信私聊,永久在线

接下来给大家展示一下效果和重要代码展示:

 

 

 

 

 

部分代码展示(如果有需要可以加微信:15813406574):

 1 int write_bus()
 2 {
 3     FILE* fp;
 4     if ((fp = fopen("校车信息.txt", "wb+")) == NULL) //wb+新建一个二进制文件,已存在的文件将内容清空,允许读写
 5     {
 6         puts("Fail to open file!");
 7         exit(0);
 8     }
 9     
10     BusList p = b->next;
11     while (p)
12     {
13         fwrite(p, sizeof(BusNode), 1, fp);
14         p = p->next;
15     }
16     fclose(fp);//关闭文件,数据流才存入磁盘
17     printf("校车信息写入完毕!\n");
18     return 1;
19 }
20 
21 ////////////从文档中读取校车结构体/////////
22 int read_bus()
23 {
24     FILE* fp;
25     if ((fp = fopen("校车信息.txt", "rb+")) == NULL)//rb+打开一个二进制文件,文件必须存在,允许读写
26     {
27         puts("Fail to open file!");
28         exit(0);
29     }
30     BusList p = b;
31     while (!feof(fp))//调试发现feof会多读一次,所以加上fread返回值判断
32     {
33         BusNode tmp;
34         if (fread(&tmp, sizeof(BusNode), 1, fp))
35         {
36             BusListInsert(&b, tmp.data);//判断fscanf的返回数值,它指示成功读取的数据
37         }
38     }
39     fclose(fp);
40     printf("校车信息读取完毕!\n");
41     return 1;
42 }
43 
44 ////////////把站点结构体数据存入文档中
45 int write_site()
46 {
47     FILE* fp;
48     if ((fp = fopen("站点信息.txt", "wb+")) == NULL) //wb+新建一个二进制文件,已存在的文件将内容清空,允许读写
49     {
50         puts("Fail to open file!");
51         exit(0);
52     }
53 
54     SiteList p = s->next;
55     while (p)
56     {
57         fwrite(p, sizeof(SiteNode), 1, fp);
58         p = p->next;
59     }
60     fclose(fp);//关闭文件,数据流才存入磁盘
61     printf("站点信息写入完毕!\n");
62     return 1;
63 }
64 
65 ////////////从文档中读取站点结构体/////////
66 int read_site()
67 {
68     FILE* fp;
69     if ((fp = fopen("站点信息.txt", "rb+")) == NULL)
70     {
71         puts("Fail to open file!");
72         exit(0);
73     }
74     SiteList p = s;
75     int i = 1;
76     while (!feof(fp))//调试发现feof会多读一次,所以加上fread返回值判断
77     {
78         SiteNode tmp;
79         if (fread(&tmp, sizeof(SiteNode), 1, fp))
80         {
81             SiteListInsert(&s, tmp.date,i);//判断fscanf的返回数值,它指示成功读取的数据
82             i++; SiteNum++;
83         }
84     }
85     fclose(fp);
86     printf("站点信息读取完毕!\n"); printf("\n"); printf("\n");
87     return 1;
88 }

猜你喜欢

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