您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“C語言如何實(shí)現(xiàn)單位車輛調(diào)度管理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C語言如何實(shí)現(xiàn)單位車輛調(diào)度管理”吧!
單位車輛信息包括:車牌號、車型、載重(客)量,車牌,生產(chǎn)廠家,出廠日期,購買日期,購買單價等;車輛調(diào)度信息還應(yīng)包括:用車人,用車單位,調(diào)度人,出車車牌,出車司機(jī),出車用途,出車日期,出車時間,收車日期,收車時間及出車費(fèi)用等信息等。設(shè)計(jì)“車輛調(diào)度管理系統(tǒng)”,使之能提供以下功能:
系統(tǒng)以菜單方式工作;
車輛調(diào)度信息錄入功能(車輛調(diào)度信息用文件vehicle.txt保存);
車輛信息及車輛調(diào)度信息瀏覽功能;
車輛調(diào)度查詢和排序功能:
車輛信息及車輛調(diào)度信息的刪除與修改等功能。
代碼如下,完全原創(chuàng),代碼功能完整?。?/p>
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> int feature;//定義輸入的功能選項(xiàng) char now_date[12];//定義系統(tǒng)當(dāng)前日期存儲緩沖區(qū) SYSTEMTIME sys; //定義系統(tǒng)時間變量 //定義車輛數(shù)據(jù)結(jié)構(gòu) typedef struct Vehicle { char *ver_id;//定義車輛編號 char *ver_no;//定義車輛牌號 char *weight;//定義車輛對應(yīng)載重量 char *ver_trand;//定義車牌 char *factory;//定義車輛生產(chǎn)廠家 char *outdate;//定義車輛出廠日期 char *buydate;//定義車輛購買日期 char *section;//定義車輛調(diào)用單位 char *purpose;//定義車輛出車用途 char *usedate;//定義車輛出車日期 char *usetime;//定義車輛調(diào)度時長 char *useprice;//定義車輛出車費(fèi)用 char *price;//定義車輛購買單價 char *ver_type;//定義車輛類型 char *ver_status;//定義車輛狀態(tài) char *state;//定義車輛運(yùn)營狀態(tài) char *service;//定義車輛維修情況 char *violation;//定義車輛違章情況 char *ver_last_date;//定義車輛歸還日期 char *lender_name;//定義租車人姓名 char *lender_id;//定義租車人身份證號碼 char *return_time;//定義歸還時間 }Vehicle,*VData; //定義車輛鏈表 typedef struct VNode { Vehicle data; struct VNode *next; }VNode,*VehicleList; //聲明函數(shù) VehicleList select_vehicle(VehicleList L, char * key);//定義車輛查詢函數(shù) VehicleList InitList(VehicleList L);//定義鏈表初始化函數(shù) VehicleList LoadData(VehicleList L, char *filename);//定義信息讀取函數(shù) void SaveData(VehicleList L, char *filename);//定義存儲數(shù)據(jù)函數(shù) int main_menu();//定義主菜單 int dispatch(VehicleList L, char *lender_name, char *lender_id, char *return_time, char *section,char *purpose, char *usedate,char *useprice,char *usetime);//定義車輛調(diào)度函數(shù) void back_vehicle(VehicleList L, char * key, char *lender_name, char *lender_id);//定義車輛歸還函數(shù) void list_all(VehicleList L);//定義車輛總覽函數(shù) VehicleList select_vehicle(VehicleList L, char * key);//定義車輛查詢函數(shù) VehicleList register_vehicle(VehicleList L);//定義車輛登記函數(shù) void delete_vehicle(VehicleList L, char * key);//定義車輛刪除函數(shù) int datecmp(char *a,char *b);//定義日期比較函數(shù) int quit();//定義退出函數(shù) char *getS(); //定義字符串輸入接口函數(shù) char *getS() { char *c; char s[30]; scanf("%s",s); c=(char*)malloc(sizeof(char)*(strlen(s)+1)); strcpy(c,s); return c; } //定義鏈表初始化函數(shù) VehicleList InitList(VehicleList L) { L=(VehicleList)malloc(sizeof(VNode)); L->next=NULL; return L; } //定義比較日期大小函數(shù) int datecmp(char *a,char *b) { int i; for(i=0;i<11;i++) { if(a[i]>b[i]) return 1; else if(a[i]==b[i]) continue; else return -1; } return 0; } //定義從文件加載數(shù)據(jù)函數(shù) VehicleList LoadData(VehicleList L,char *filename) { VehicleList p,q; //Vehicle v,v2,v3; Vehicle vdata; FILE *fp;//定義文件指針 char ver_id[20],ver_no[20],weight[20],ver_trand[20],factory[20],outdate[20]; char buydate[20],price[20],ver_type[20],ver_status[20],ver_date[20],usetime[20]; char section[20],purpose[20],usedate[20],useprice[20]; char state[20],service[20],violation[20]; char lender_name[20],lender_id[20],return_time[20]; q=L; if((fp = fopen(filename,"r+")) == NULL) { printf("文件數(shù)據(jù)讀取失?。n"); } else { while (!feof(fp))//將文件中數(shù)據(jù)讀取到鏈表中 { fscanf(fp,"%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s\r\n", ver_id,ver_no,weight,ver_trand,factory,outdate,buydate,price,ver_type,ver_status, ver_date,purpose,usedate,usetime,useprice,state,service,violation, lender_name,lender_id,return_time); vdata.ver_id=(char*)malloc(sizeof(char)*(strlen(ver_id)+1)); vdata.ver_no=(char*)malloc(sizeof(char)*(strlen(ver_no)+1)); vdata.weight=(char*)malloc(sizeof(char)*(strlen(weight)+1)); vdata.ver_trand=(char*)malloc(sizeof(char)*(strlen(ver_trand)+1)); vdata.factory=(char*)malloc(sizeof(char)*(strlen(factory)+1)); vdata.outdate=(char*)malloc(sizeof(char)*(strlen(outdate)+1)); vdata.buydate=(char*)malloc(sizeof(char)*(strlen(buydate)+1)); vdata.price=(char*)malloc(sizeof(char)*(strlen(price)+1)); //vdata.section=(char*)malloc(sizeof(char)*(strlen(section)+1)); vdata.purpose=(char*)malloc(sizeof(char)*(strlen(purpose)+1)); vdata.usedate=(char*)malloc(sizeof(char)*(strlen(usedate)+1)); vdata.usetime=(char*)malloc(sizeof(char)*(strlen(usetime)+1)); vdata.useprice=(char*)malloc(sizeof(char)*(strlen(useprice)+1)); vdata.ver_type=(char*)malloc(sizeof(char)*(strlen(ver_type)+1)); vdata.state=(char*)malloc(sizeof(char)*(strlen(state)+1)); vdata.service=(char*)malloc(sizeof(char)*(strlen(service)+1)); vdata.violation=(char*)malloc(sizeof(char)*(strlen(violation)+1)); vdata.ver_status=(char*)malloc(sizeof(char)*(strlen(ver_status)+1)); vdata.ver_last_date=(char*)malloc(sizeof(char)*(strlen(ver_date)+1)); vdata.lender_name=(char*)malloc(sizeof(char)*(strlen(lender_name)+1)); vdata.lender_id=(char*)malloc(sizeof(char)*(strlen(lender_id)+1)); vdata.return_time=(char*)malloc(sizeof(char)*(strlen(return_time)+1)); strcpy(vdata.ver_id,ver_id); strcpy(vdata.ver_no,ver_no); strcpy(vdata.weight,weight); strcpy(vdata.ver_trand,ver_trand); strcpy(vdata.factory,factory); strcpy(vdata.outdate,outdate); strcpy(vdata.buydate,buydate); strcpy(vdata.price,price); strcpy(vdata.purpose,purpose); strcpy(vdata.usedate,usedate); strcpy(vdata.usetime,usetime); strcpy(vdata.useprice,useprice); strcpy(vdata.ver_type,ver_type); strcpy(vdata.ver_status,ver_status); strcpy(vdata.state,state); strcpy(vdata.service,service); strcpy(vdata.violation,violation); strcpy(vdata.ver_last_date,ver_date); strcpy(vdata.lender_name,lender_name); strcpy(vdata.lender_id,lender_id); strcpy(vdata.return_time,return_time); p=(VehicleList)malloc(sizeof(VNode)); p->data=vdata; q->next=p; q=p; } fclose(fp); } q->next=NULL; return L; } //定義存儲數(shù)據(jù)函數(shù) void SaveData(VehicleList L, char *filename) { VehicleList p; FILE *fp;//定義文件指針 p=L; if((fp = fopen(filename,"w+")) == NULL) { printf("文件寫入失?。n"); } else { while (p->next != NULL) { fprintf(fp,"%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s\r\n",p->next->data.ver_id, p->next->data.ver_no,p->next->data.weight,p->next->data.ver_trand,p->next->data.factory, p->next->data.outdate,p->next->data.buydate,p->next->data.price, p->next->data.usedate,p->next->data.useprice, p->next->data.ver_type,p->next->data.ver_status,p->next->data.usetime, p->next->data.state,p->next->data.service,p->next->data.violation, p->next->data.ver_last_date,p->next->data.lender_name, p->next->data.lender_id,p->next->data.return_time); p=p->next; } } fclose(fp); } //定義主菜單 int main_menu() { int i; printf("******************************************************\n"); printf("* 汽車調(diào)度程序 *\n"); printf("* 韓力毅 *\n"); printf("******************************************************\n"); printf("* 1.汽車調(diào)度 *\n"); printf("* 2.汽車歸還 *\n"); printf("* 3.車輛總況一覽 *\n"); printf("* 4.車輛查詢 *\n"); printf("* 5.新車登記 *\n"); printf("* 6.車輛注銷 *\n"); printf("* 7.退出系統(tǒng) *\n"); printf("******************************************************\n"); printf("* 請選擇: 1-7 *\n"); printf("******************************************************\n"); printf("請輸入您的選項(xiàng):"); scanf("%d", &i); feature=i; return i; } //定義功能1--汽車調(diào)度 int dispatch(VehicleList L, char *lender_name, char *lender_id, char *return_time, char *section,char *purpose, char *usedate,char *useprice,char *usetime) { char *vtype,*vid;//車型 VehicleList p,q1,q2; char tmpdate[20]; int i=0; p=L; q1=L; q2=L; strcpy(tmpdate,now_date); printf("\n請選擇您需要的車型(A.大型車 B.中型車 C.小型車 E.返回主菜單 請輸入大寫字母!):"); vtype = getS(); if (strcmp("E",vtype) == 0) return 0;//如果輸入E,返回主菜單 printf("\n*************************************本次出車費(fèi)用為200元*************************************\n"); printf("\n****************************************可選車輛列表******************************************"); printf("\n車輛編號 車牌號 載重量 車牌 車輛類型 車輛狀態(tài) 上次出車時間(DDYYMM)\n"); while (L->next != NULL) {//顯示符合條件的在庫車輛信息 if (strcmp("出車中",L->next->data.ver_status) !=0 && strcmp(vtype,L->next->data.ver_type) ==0) { if(datecmp(tmpdate,L->next->data.ver_last_date) > -1)//調(diào)用比較未調(diào)度時間的函數(shù) { q1=L;//獲得最長時間沒有被調(diào)度的車的節(jié)點(diǎn)指針 strcpy(tmpdate,q1->next->data.ver_last_date); } printf("%6s %10s %-10s %3s %8s %13s %15s\n", L->next->data.ver_id,L->next->data.ver_no,L->next->data.weight,L->next->data.ver_trand,L->next->data.ver_type, L->next->data.ver_status,L->next->data.ver_last_date); } if (strcmp("NEW",L->next->data.ver_last_date) ==0 && strcmp(vtype,L->next->data.ver_type) ==0) { i++;//計(jì)算新車數(shù)量 q2=L;//獲得新車的節(jié)點(diǎn)指針 } L=L->next; } L=p; printf("**************************************************************************\n"); printf("請輸入車輛編號或輸入W智能篩選(輸入E返回主菜單):"); vid = getS(); if (strcmp("W",vid) == 0) { if(i>0) { printf("\n****************************************車輛調(diào)度結(jié)果****************************************"); printf("\n已調(diào)出車輛:%s,載重量:%s,車牌:%s,出車日期:%s\n",q2->next->data.ver_id,q2->next->data.weight,q2->next->data.ver_trand,now_date); printf("**********************************************************************************************\n"); q2->next->data.ver_status="出車中";//修改車輛狀態(tài)和上次出車時間 q2->next->data.ver_last_date=(char*)malloc(sizeof(char)*(strlen(now_date)+1)); strcpy(q2->next->data.ver_last_date,now_date); strcpy(q2->next->data.lender_name,lender_name); strcpy(q2->next->data.lender_id,lender_id); strcpy(q2->next->data.return_time,return_time); strcpy(q2->next->data.section,section); strcpy(q2->next->data.purpose,purpose); strcpy(q2->next->data.usedate,usedate); strcpy(q2->next->data.useprice,useprice); strcpy(q2->next->data.usetime,usetime); return 1; } else { printf("\n****************************************車輛調(diào)度結(jié)果****************************************"); printf("\n已調(diào)出車輛:%s,載重量:%s,車牌:%s,出車日期:%s\n",q1->next->data.ver_id,q1->next->data.weight,q1->next->data.ver_trand,now_date); printf("**********************************************************************************************\n"); q1->next->data.ver_status="出車中";//修改車輛狀態(tài)和上次出車時間 q1->next->data.ver_last_date=(char*)malloc(sizeof(char)*(strlen(now_date)+1)); strcpy(q1->next->data.ver_last_date,now_date); strcpy(q1->next->data.lender_name,lender_name); strcpy(q1->next->data.lender_id,lender_id); strcpy(q1->next->data.return_time,return_time); strcpy(q2->next->data.section,section); strcpy(q2->next->data.purpose,purpose); strcpy(q2->next->data.usedate,usedate); strcpy(q2->next->data.useprice,useprice); strcpy(q2->next->data.usetime,usetime); return 1; } } else if ((p=select_vehicle(L,vid)) != NULL) { p->next->data.ver_status="出車中";//修改車輛狀態(tài)和上次出車時間 p->next->data.ver_last_date=(char*)malloc(sizeof(char)*(strlen(now_date)+1)); strcpy(p->next->data.ver_last_date,now_date); strcpy(p->next->data.lender_name,lender_name); strcpy(p->next->data.lender_id,lender_id); strcpy(p->next->data.return_time,return_time); strcpy(q2->next->data.section,section); strcpy(q2->next->data.purpose,purpose); strcpy(q2->next->data.usedate,usedate); strcpy(q2->next->data.useprice,useprice); strcpy(q2->next->data.usetime,usetime); printf("\n****************************************車輛調(diào)度結(jié)果****************************************"); printf("\n已調(diào)出車輛:%s,載重量:%s,車牌:%s,出車日期:%s\n",p->next->data.ver_id,p->next->data.weight,p->next->data.ver_trand,now_date); printf("**********************************************************************************************\n"); return 1; } else if (strcmp("E",vid) == 0) { return 0; } else { printf("輸入錯誤,請返回!\n"); return 4; } return 4; } //定義功能2--汽車歸還 void back_vehicle(VehicleList L, char * key, char *lender_name, char *lender_id) { VehicleList p; if ((p=select_vehicle(L,key)) != NULL) { if (strcmp(lender_name,p->next->data.lender_name) == 0 && strcmp(lender_id,p->next->data.lender_id) == 0)//姓名和身份證號輸入正確才可還車 { if (datecmp(now_date,p->next->data.return_time) < 1)//如果實(shí)際歸還時間超出預(yù)定歸還時間,提示到服務(wù)臺辦理 { p->next->data.ver_status="可調(diào)出";//恢復(fù)車輛狀態(tài)及租車人信息為初始狀態(tài) p->next->data.lender_name="N/A"; p->next->data.lender_id="N/A"; p->next->data.return_time="N/A"; printf("\n汽車歸還成功!\n\n"); } else { printf("\n歸還失敗,您的車輛已超期,請到總服務(wù)臺辦理超期還車手續(xù)!\n\n"); } } else { printf("\n租車人姓名或身份證號輸入有誤!\n\n"); } }else{ printf("\n沒有查詢到編號為:%s的車輛信息!\n\n",key); } } //定義功能3--車輛總況一覽 void list_all(VehicleList L) { printf("\n車輛編號 車 牌 號 載重量 車 牌 生產(chǎn)廠家 出 廠 日 期 購 買 日 期 購買單價 車型 車輛狀態(tài) 車輛運(yùn)營狀態(tài) 車輛維修情況 車輛違章情況 上次出車時間 租車人姓名 計(jì)劃歸還時間\n"); while (L->next != NULL) { //顯示所有已登記車輛信息 //if(strcmp("出車中",L->next->data.ver_status) !=0) printf("%6s %10s %6s %8s %9s %11s %12s %9s %4s %10s %10s %12s %13s %13s %18s %14s\n", L->next->data.ver_id,L->next->data.ver_no,L->next->data.weight, L->next->data.ver_trand,L->next->data.factory, L->next->data.outdate,L->next->data.buydate,L->next->data.price, L->next->data.ver_type,L->next->data.ver_status,L->next->data.state, L->next->data.service,L->next->data.violation,L->next->data.ver_last_date, L->next->data.lender_name,L->next->data.return_time); L=L->next; } printf("\n"); system("pause"); } //定義功能4--車輛查詢 VehicleList select_vehicle(VehicleList L, char * key) { VehicleList p; p=L; while (p->next != NULL) { //如果查找到符合條件的車輛信息,則返回這個車輛信息節(jié)點(diǎn)的指針,strcmp,字符串比較函數(shù) if (strcmp(key,p->next->data.ver_id) == 0 || strcmp(key,p->next->data.ver_no) == 0) { return p;//P為該車輛信息節(jié)點(diǎn)的指針 } else { p=p->next; } } return NULL; } //定義功能5--新車登記 VehicleList register_vehicle(VehicleList L) { VehicleList p,q; Vehicle v;//定義新增車輛結(jié)構(gòu)體 int id=1001;//初始車輛編號起始ID char tmpID[5];//車輛編號格式化為字符串 q=L; while (q->next != NULL) { q=q->next;//將指針調(diào)至鏈表尾部以插入新數(shù)據(jù) } //printf("請輸入車輛編號: "); //v.ver_id=getS(); printf("請輸入車牌號: "); v.ver_no=getS(); printf("請輸入載重量: "); v.weight=getS(); printf("請輸入車牌: "); v.ver_trand=getS (); printf("請輸入生產(chǎn)廠家: "); v.factory=getS(); printf("請輸入出廠日期:(格式,如2012-02-22) "); v.outdate=getS(); printf("請輸入購買日期:(格式,如2012-02-22) "); v.buydate=getS(); printf("請輸入購買單價: "); v.price=getS(); printf("請選擇車輛類型(A/B/C): "); v.ver_type=getS(); printf("請輸入車輛運(yùn)營狀態(tài)(正常/報廢): "); v.state=getS(); printf("請輸入車輛維修情況(否/幾次): "); v.service=getS(); printf("請輸入車輛違章情況(否/幾次): "); v.violation=getS(); v.ver_status="可調(diào)出"; v.ver_last_date="NEW"; v.lender_name=(char*)malloc(10); strcpy(v.lender_name, "N/A "); v.lender_id=(char*)malloc(10); strcpy(v.lender_id, "N/A "); v.return_time=(char*)malloc(10); strcpy(v.return_time, "N/A "); v.section=(char*)malloc(10); strcpy(v.section,"N/A "); v.purpose=(char*)malloc(10); strcpy(v.purpose,"N/A "); v.usedate=(char*)malloc(10); strcpy(v.usedate,"N/A "); v.useprice=(char*)malloc(10); strcpy(v.useprice,"N/A "); v.usetime=(char*)malloc(10); strcpy(v.usetime,"N/A "); //自動生成車輛編號 sprintf(tmpID, "%d", id); while(select_vehicle(L,tmpID) != NULL) { id++; sprintf(tmpID, "%d", id);//將id轉(zhuǎn)為字符串存儲到tmpID中 } v.ver_id=(char*)malloc(sizeof(char)*(strlen(tmpID)+1));//分配內(nèi)存空間 strcpy(v.ver_id,tmpID);//將tmpID拷貝到車輛信息結(jié)構(gòu)中 if(select_vehicle(L,v.ver_no) == NULL) { //檢查是否已有該車牌號 p=(VehicleList)malloc(sizeof(VNode));//創(chuàng)建新的車輛節(jié)點(diǎn) p->data=v; q->next=p;//連接新的車輛節(jié)點(diǎn) q=p; //將q指針移至最后節(jié)點(diǎn) q->next=NULL;//將最后一個節(jié)點(diǎn)的next設(shè)為NULL printf("\n成功登記牌號為:%s的車輛,車輛編號為:%s!\n\n",v.ver_no,v.ver_id); } else { printf("\n已存在該車輛!\n\n"); } return L; } //定義功能6--車輛注銷 void delete_vehicle(VehicleList L, char * key) { VehicleList p,q; p=L; if ((p=select_vehicle(L,key)) != NULL) { q=p->next; p->next=q->next;//將節(jié)點(diǎn)p連接到下下一個節(jié)點(diǎn),即刪除找到的節(jié)點(diǎn) free(q); printf("\n已注銷編號為%s的車輛!\n\n",key); } else { printf("\n沒有找到符合條件的車輛!\n\n"); } system("pause"); } //定義功能7--退出系統(tǒng)函數(shù) int quit() { char *temp; temp=getS();//接受用戶輸入 if(strcmp("Y",temp)==0) { return 1;//返回1,為確實(shí)退出 } else if(strcmp("N",temp)==0) { return 0;//返回0,則不退出,并清屏,加載主菜單 } else { return 2;//返回2,說明輸入錯誤,任意鍵返回主菜單 } return 2;//默認(rèn)返回2 } int main() { VehicleList L1,tmpL; char *vehicle_key,*lender_name,*lender_id,*return_time,*section,*purpose,*usedate,*useprice,*usetime; char *filename="vehicle.txt";//設(shè)置數(shù)據(jù)文件 GetLocalTime(&sys); sprintf(now_date,"%4d-%02d-%02d",sys.wYear,sys.wMonth,sys.wDay); L1=(VehicleList)malloc(sizeof(VNode)); L1=InitList(L1); L1=LoadData(L1,"vehicle.txt"); main_menu: //SaveData(L1,filename);//每完成一個操作都保存數(shù)據(jù)到文件,默認(rèn)選擇7程序退出時才保存數(shù)據(jù) main_menu();//加載主菜單 switch (feature) { case 1: { int i; printf("請輸入租車人姓名: "); lender_name = getS(); printf("請輸入租車人身份證號: "); lender_id = getS(); printf("請輸入用車單位: "); section = getS(); printf("請輸入出車用途: "); purpose = getS(); printf("請輸入出車時長(格式N天): "); usetime = getS(); printf("請輸入出車日期(格式Y(jié)YYY-MM-DD,如 %s): ",now_date); usedate = getS(); printf("請輸入計(jì)劃歸還時間(格式Y(jié)YYY-MM-DD,如 %s): ",now_date); return_time = getS(); useprice = "200"; if (datecmp(now_date,return_time) > 0) { printf("\n歸還時間輸入錯誤,最少需要租一天,即時間應(yīng)該大于等于 %s\n\n",now_date); system("pause"); system("cls"); goto main_menu; } i=dispatch(L1,lender_name,lender_id,return_time,section,purpose,usedate,useprice,usetime); //調(diào)用車輛調(diào)度函數(shù) if (i==0) { system("cls"); goto main_menu; } else { system("pause"); system("cls"); goto main_menu; } } case 2: { printf("請輸入汽車編號: "); vehicle_key = getS(); printf("請輸入租車人姓名: "); lender_name = getS(); printf("請輸入租車人身份證號: "); lender_id = getS(); back_vehicle(L1,vehicle_key,lender_name,lender_id);//調(diào)用車輛歸還函數(shù) system("pause"); system("cls"); goto main_menu; } case 3: { list_all(L1);//調(diào)用車輛總覽函數(shù) system("cls"); goto main_menu; } case 4: { printf("請輸入汽車編號或車牌號: "); vehicle_key=getS(); tmpL=select_vehicle(L1,vehicle_key);//調(diào)用車輛查找函數(shù) if (tmpL != NULL)//返回不為空,說明找到了 { printf("\n*****************************找到了符合條件的車輛信息****************************\n"); printf("\n車輛編號 車 牌 號 載重量 車 牌 車 型 車輛狀態(tài) 上次出車時間 租車人姓名 計(jì)劃歸還時間\n"); printf("\n%6s %10s %6s %8s %4s %10s %10s %18s %14s\n", tmpL->next->data.ver_id,tmpL->next->data.ver_no,tmpL->next->data.weight,tmpL->next->data.ver_trand, tmpL->next->data.ver_type,tmpL->next->data.ver_status, tmpL->next->data.ver_last_date,tmpL->next->data.lender_name, tmpL->next->data.return_time); system("pause"); } else { printf("\n\n沒有找到符合條件的車輛信息!\n\n"); system("pause");//按任意鍵繼續(xù) } system("cls"); goto main_menu; } case 5: { L1=register_vehicle(L1);//調(diào)用車輛登記函數(shù) system("pause"); system("cls"); goto main_menu; } case 6: { vehicle_key = "0008"; printf("請輸入需要注銷的車輛編號: "); vehicle_key=getS(); delete_vehicle(L1,vehicle_key);//調(diào)用車輛注銷函數(shù) system("cls"); goto main_menu; } case 7: { int temp; printf("您確定要退出系統(tǒng)?輸入Y確定,輸入N返回主菜單\n"); temp = quit(); if(1 == temp) { SaveData(L1,filename);//保存數(shù)據(jù) return 0; } else if(0 == temp){ system("cls"); goto main_menu;//如果返回真則退出,否則返回主菜單 } else { printf("輸入錯誤!"); system("pause"); } } default: { system("cls"); getchar(); goto main_menu;//如果輸入不在1-7內(nèi),則返回主菜單 } } return 0; }
到此,相信大家對“C語言如何實(shí)現(xiàn)單位車輛調(diào)度管理”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。