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 }
復制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM