车辆信息管理系统_第1页
车辆信息管理系统_第2页
车辆信息管理系统_第3页
车辆信息管理系统_第4页
车辆信息管理系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

车辆信息管理系统c语言通过本系统能够进行对车辆信息的增、删、改、查。#include<stdio.h>#include<stdlib.h>#include<string.h>#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;}StatusInitList_car(LinkList&L)//创立原始车辆信息{ FILE*fp; fp=fopen("car.txt","r");MallocList_car(L); L->next=NULL; LinkListtail=L; LinkListp; while(!feof(fp)) { MallocList_car(p); fscanf(fp,"%d%s%s%d%d",&p->car.carnum,&p->car.carmodel,&p->,&p->eage,&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;}StatusListInsert_car(LinkListL)//增加车辆信息{ FILE*fp; fp=fopen("car.txt","w"); LinkListp=L; intj=0; while(j<ListLength_car(L)) { p=p->next; j++; } LinkListS;MallocList_car(S);printf("请依次输入新增车辆的车牌号、车型、车主姓名、总里程、购置日期\n");scanf("%d%s%s%d%d",&S->car.carnum,&S->car.carmodel,&S->,&S->eage,&S->car.time);p->next=S; S->next=NULL; p=L->next; while(p) { fprintf(fp,"%d%s%s%d%d",p->car.carnum,p->car.carmodel,p->,p->eage,p->car.time); fprintf(fp,"\n"); p=p->next; } fclose(fp); returnOK;}StatusListDelete_car(LinkListL)//删除车辆信息{ printf("请输入你要删除的车辆的车牌号:"); inti; scanf("%d",&i); FILE*fp; fp=fopen("car.txt","w"); 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%d",p->car.carnum,p->car.carmodel,p->,p->eage,p->car.time); fprintf(fp,"\n"); p=p->next; } fclose(fp); returnOK;}StatusVisit_car(Carcar)//输出函数{ printf("%d%s%s%d%d",car.carnum,car.carmodel,,eage,car.time); printf("\n"); returnOK;}StatusListTraverse_car(LinkListL,StatusVisit_car(Car)){ LinkListP; P=L->next; printf("车牌号车型车主姓名总里程购置时间\n"); while(P!=NULL) { Visit_car(P->car); P=P->next; } printf("\n"); returnOK;}StatusNumSortList_car(LinkListL){//按车牌号排序 inti,j; Care1,e2; intlength=ListLength_car(L); LinkListp; for(i=0;i<length-1;i++){ p=L->next;for(j=0;j<length-1-i;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; Care1,e2; intlength=ListLength_car(L); LinkListp; for(i=0;i<length-1;i++){ p=L->next;for(j=0;j<length-1-i;j++){ e1=p->car; e2=p->next->car;if(strcmp(,)){p->car=e2; p->next->car=e1;}p=p->next;}}}StatusTimeSortList_car(LinkListL){//按购置日期排序 inti,j; Care1,e2; intlength=ListLength_car(L); LinkListp; for(i=0;i<length-1;i++){ p=L->next;for(j=0;j<length-1-i;j++){ e1=p->car; e2=p->next->car;if(e1.time>e2.time){p->car=e2; p->next->car=e1;}p=p->next;}}}StatusNumInquire_car(LinkListL)//按车牌号查询车辆信息{ printf("请输入你要查询的车辆的车牌号:"); intnum; scanf("%d",&num); LinkListp=L; p=p->next; printf("查询信息以下:\n"); while(p) { if(p->car.carnum==num) { Visit_car(p->car); } p=p->next; } returnOK;}StatusNameInquire_car(LinkListL)//按车主姓名查询车辆信息{ printf("请输入你要查询的车辆的车主姓名:"); charname[20]; scanf("%s",name); LinkListp=L; p=p->next; printf("查询信息以下:\n"); while(p) { if(!strcmp(name,p->)) { Visit_car(p->car); } p=p->next; } returnOK;}StatusTimeInquire_car(LinkListL)//按购置日期区间查询车辆信息{ printf("请输入你要查询的购置区间(中间以空格隔开,左边小日期,右边大日期例如05030603):"); inta,b; scanf("%d%d",&a,&b); LinkListp=L; p=p->next; printf("查询信息以下:\n"); while(p) { if(p->car.time>=a&&p->car.time<=b) { Visit_car(p->car); } p=p->next; } returnOK;}StatusListModify_car(LinkListL)//修改员工统计{ printf("请输入你要修改的车辆的车牌号:"); FILE*fp; fp=fopen("car.txt","w"); inti; scanf("%d",&i); LinkListp; p=L->next; while(p) { if(p->car.carnum==i)break; p=p->next; } if(!(p))returnERROR; printf("请依次输入修改的车辆的车牌号、车型、车主姓名、总里程、购置日期\n");scanf("%d%s%s%d%d",&p->car.carnum,&p->car.carmodel,&p->,&p->eage,&p->car.time);p=L->next; while(p) {fprintf(fp,"%d%s%s%d%d",p->car.carnum,p->car.carmodel,p->,p->eage,p->car.time); fprintf(fp,"\n"); p=p->next; } fclose(fp); returnOK; }StatusDestroyList_car(LinkListL)//销毁链表{ LinkListp; while(L) { p=L->next; free(L); L=p; } returnOK;}intmain(){ LinkListL; InitList_car(L); while(1) { printf("***************************职工信息管理系统***********************\n\n"); printf("1.增加车辆信息\n"); printf("2.删除车辆信息\n"); printf("3.修改车辆信息\n"); printf("4.显示全部车辆信息\n"); printf("5.排序功效\n"); printf("6.查询功效\n"); printf("0.退出\n\n\n\n"); ListTraverse_car(L,Visit_car); printf("\n请输入您选择功效的编号:"); intchoice; scanf("%d",&choice); switch(choice) { case1:ListInsert_car(L); printf("增加车辆信息后以下:\n"); ListTraverse_car(L,Visit_car); break; case2:ListDelete_car(L); printf("删除车辆信息后以下:\n"); ListTraverse_car(L,Visit_car); break; case3:ListModify_car(L); printf("修改车辆信息后以下:\n"); ListTraverse_car(L,Visit_car); break; case4:printf("全部车辆信息以下:\n"); ListTraverse_car(L,Visit_car); break; case5:intm; printf("请输入你需要的排序方式的序号(1.按车牌号2.按购置日期3.按车主姓名):"); scanf("%d",&m); switch(m) { case1:NumSortList_car(L);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论