车辆信息管理系统.docx
- 文档编号:800900
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:11
- 大小:16.88KB
车辆信息管理系统.docx
《车辆信息管理系统.docx》由会员分享,可在线阅读,更多相关《车辆信息管理系统.docx(11页珍藏版)》请在冰豆网上搜索。
车辆信息管理系统
车辆信息管理系统C语言
通过本系统可以进行对车辆信息的增、删、改、查。
#include
#include
#include
#defineOK1
#defineERROR0
#defineOVERFLOW-1typedefintStatus;
typedefstruct
(
intcarnum;〃车牌号
charcarmodel[20];〃车型
charname[10];
//车主姓名
intmileage;
//总里程
inttime;//购买日期
}Car;
typedefstructLNode
Carcar;
structLNode*next;
}LNode,*LinkList;
StatusMallocList_car(LinkList&L)
(
L=(LinkList)malloc(sizeof(LNode));
if(!
L)exit(OVERFLOW);
returnOK;
StatuslnitList_car(LinkList&L)//创建原始车辆信息{
FILE*fp;
fp=fopen(,,car.txt,,,,,rH);
MallocList_car(L);
L->next=NULL;
LinkListtail=L;
LinkListp;
while(!
feof(fp))
MallocList_car(p);
fscanf(fp「%ci%s%s%cl%cr,&p・>car・carnum,&p・>car・carmodel,&p・>car.name,&p->car.mileage,&p・>car.time);
p・>next=NULL;
tail->next=p;
tail=p;
fclose(fp);
〃车辆数量
returnOK;
StatusListLength_car(LinkListL)
LinkListP;intlength=0;P=L->next;while(P)
length++;
P=P->next;
〃增加车辆信息
returnlength;
StatusListlnsert_car(LinkListL)
FILE*fp;
fp=fopen(Mcar.txt,7,wH);
LinkListp=L;
intj=O;
while(j { p=p->next; j++; LinkListS; MallocList_car(S); printf(-请依次输入新增车辆的车牌号、车型、车主姓名、总里程、购买日期\n-); scanf(,,%d%s%s%d%dM,&S・>car・camum,&S・>car・camnoclel,&S・>car.name,&S・>car.mileage5&S->car.time); p・>next=S; S->next=NULL; p=L・>next; while(p) fprintf(fp「%d%s%s%d%dH,p->car.carnum,p・>car.carmodel5p->car.name,p・>car.mileage,p->car.time); fprintf(fp,H\nM); p=p・>next; ) fclose(fp); returnOK; StatusListDelete_car(LinkListL)〃删除车辆信息 ( printfC*请输入你要删除的车辆的车牌号: ”); inti; scanf(”%d”,&i); FILE*fp; fp=fopen(”car.txtTw”); LinkListp,q; p=L; while(p) if(p・>next->car.carnum==i)break; p=p->next; ) if(! (p))returnERROR; q=p->next; p・>next=q->next;free(q); P=L; p=L・>next; while(p) fprintf(fp「%d%s%s%d%dn,p->car.camum5p->car.carmodel,p->car.name,p・>car.mileage,p・>car.time); fprintf(fp,H\nH); p=p・>next; ) fclose(fp); StatusVisit_car(Carcar)//输出函数 printf(”%d%s%s%d%d",car.carnum,car.carmodel,car.name,car.mileage,car.time);printfC'\nH); returnOK; StatusListTraverse_car(LinkListL,StatusVisit_car(Car)) ( LinkListP; P=L->next; printf车牌号车型车主姓名总里程购买时间\n“); while(P! =NULL) ( Visit_car(P->car); P=P->next; } printf(H\nn); 〃按车牌号排序 StatusNumSortList_car(LinkListL){ inti,j; Care1,e2; intlength=ListLength_car(L); LinkListp; for(i=0;i p=L・>next; for(j=0;j e1=p->car; e2=p・>next->car; if(e1.carnum>e2.carnum){ p->car=e2; p・>next->car=e1; p=p・>next; ) StatusNameSortList_car(LinkListL){ 〃按车主姓名排序 inti,j; Care15e2; intlength=ListLength_car(L); LinkListp; for(i=0;i p=L・>next; for(j=0;j e1=p->car; e2=p・>next->car; if(strcmp(e1.name,e2.name)){p->car=e2; p・>next->car=e1; 〃按购买日期排序 StatusTimeSortList_car(LinkListL){ inti,j; Care1,e2; intlength=ListLength_car(L); LinkListp; for(i=0;i p=L・>next; for(j=0;j e1=p->car; e2=p・>next->car; if(e1.time>e2.time){ p->car=e2;p・>next->car=e1; p=p・>next; } 〃按车牌号查询车辆信息 StatusNumlnquire_car(LinkListL) printfC*请输入你要查询的车辆的车牌 号: n); intnum; scanf("%d",&num); LinkListp=L; p=p・>next; printf(n查询信息如下: \nu); while(p) if(p->car.carnum==num) Visit_car(p->car); ) p=p・>next; 〃按车主姓名查询车辆信息 returnOK; StatusNamelnquire_car(LinkListL) print"请输入你要查询的车辆的车主姓名: J; charname[20]; scanf(H%s'\name); LinkListp=L; p=p・>next; printf(,f查询信息如下: \nM);while(p) if(! strcmp(name,p->car.name)) Visit_car(p->car); ) p=p->next; } returnOK; StatusTimelnquire_car(LinkListL)//按购买日期区间查询车辆信息 ( printfC1请输入你要查询的购买区间(中间以空格隔开,左边小日期,右边大日期例如2019050320190603): ”); inta,b; scanf(”%d%d”,&a,&b); LinkListp=L; p=p・>next; printfC*查询信息如下: \rT); if(p->car.time>=a&&p->car.time<=b) Visit_car(p->car); returnOK; StatusListModify_car(LinkListL)〃修改员工记录 print"请输入你要修改的车辆的车牌号门;FILE*fp; fp=fopen(,,car.txtn? nwn); inti; scanf(”%d“,&i); LinkListp; p=L->next; if(p->car.carnum==i)break; p=p->next; } if(! (p))returnERROR; printf(”请依次输入修改的车辆的车牌号、车型、车主姓名、总里程、购买日期\〃); scanf(n%d%s%s%d%dn5&p・>car・camum,&p・>car・carmoclel,&p->car.name,&p・>car.mileage,&p->car.time); p=L・>next; while(p) fprintf(fp,H%d%s%s%d%dn,p->car.carnum,p->car.carmodel5p->car.name,p・>car.mileage,p->car.time); fprintf(fp,H\nM); p=p・>next; } fclose(fp); returnOK; StatusDestroyList_car(LinkListL)//销毁链表 LinkListp; while(L) ( p=L・>next; free(L); L=P; } returnOK; intmain() ( LinkListL;lnitList_car(L); while (1) ( 职工信息管理系统 printf(H **\n\nM); printf(” 1•增加车辆信息\F); printf(H 2.删除车辆信息\nj; printf(H 3•修改车辆信息\nj; printf(H 4.显示所有车辆信息\F); printf(H 5.排序功能\nH); pri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车辆 信息管理 系统