校車管理系統
學習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 {