顺序表实现管理系统源程序.docx_第1页
顺序表实现管理系统源程序.docx_第2页
顺序表实现管理系统源程序.docx_第3页
顺序表实现管理系统源程序.docx_第4页
顺序表实现管理系统源程序.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

#define MAX 1024#include#include#include#includevoid Inputdata();int findlist();int Insert();void Delete();void Modify();typedef struct char anum20; /*车牌号*/ char bnum20; /*发动机号*/ char models20; /*车型*/ char name20; /*姓名*/ char cnum20; /*联系电话*/ int vrec; /*违章记录*/DataType;typedef struct DataType traMAX; int length;sequenlist; sequenlist*L; DataType*traffic;void main() int i,a,b,c,j,m; L=(sequenlist*)malloc(sizeof(sequenlist); L-length=0; Inputdata(L); printf(n*nn); printf(欢迎使用交通信息管理系统!n); printf(尊敬的用户,确定进入系统请输入1,退出系统请输入其他 n); a=11; for(i=0;i=0;) scanf(%d,&a); if(a=1) i=2; if(a=1) /*修改、添加和删除功能*/ printf(欢迎进入系统!请选择您的操作:n); printf(0、交通管理信息的查询n); printf(1、交通管理信息的修改n); printf(2、交通管理信息的添加n); printf(3、交通管理信息的删除n); printf(4、不做操作,退出系统n); printf(请选择:n); for(;) scanf(%d,&m);if (m4) printf(nt输入错误,重选0-4n);else break; if(m=0) /*查询功能*/ for(j=0;j=0;) i=0; i=findlist(L); if(i!=-1) printf(您要查询的信息为:n车牌号 发动机号 车型 姓名 联系电话 违章记录 n); printf(%-10s%-10s%-10s%-10s%-15s%10dn,L-trai.anum,L-trai.bnum,L-trai.models,L-,L-um,L-trai.vrec); else printf(没有您要查询的交通信息!); printf(请问您还要继续查询么?继续请输入1,退出请输入其他n); scanf(%d,&b); if(b=1) j=0; else j=1; if(m=1) printf(交通信息的修改n); for(b=0;b=0;) Modify(L); printf(请问还要继续修改么?继续请输入1,退出输入其他n); scanf(%d,&c); if(c=1)b=0; else b=1; if(m=2) printf(交通信息的添加n); for(b=0;b=0;) printf(请输入要添加的信息:n);printf(n车牌号 发动机号 车型 姓名 联系电话 违章记录 n); traffic=(DataType *)malloc(sizeof(DataType); fflush(stdin); scanf(%s%s%s%s%s%d,traffic-anum,traffic-bnum,traffic-models,traffic-name,traffic-cnum,&traffic-vrec); printf(请输入要插入的位置:i=0 n); fflush(stdin); scanf(%d,&i); Insert(L,traffic,i); printf(请问还要继续添加么?继续请输入1,退出输入其他n); scanf(%d,&c); if(c=1)b=0; else b=1; if(m=3) printf(交通信息的删除n); for(b=0;b=0;) Delete(L); printf(请问是否继续删除?继续请输入1,退出输入其他n); scanf(%d,&c); if(c=1)b=0; else b=1; printf(感谢您的使用!n);void Inputdata(sequenlist*L) FILE *fp; int k=0; if(fp=fopen(f.txt,rw)=NULL) printf(读取文件出错!n); exit(0); printf(读入的文件信息显示如下:n); fp=fopen(f.txt,rw); while(fscanf(fp,%s,L-trak.anum)!=EOF)fscanf(fp,%s,L-trak.bnum);fscanf(fp,%s,L-trak.models);fscanf(fp,%s,L-);fscanf(fp,%s,L-um);fscanf(fp,%d,&L-trak.vrec); printf(%-10s%-10s%-10s%-10s%-15s%10dn,L-trak.anum,L-trak.bnum,L-trak.models,L-,L-um,L-trak.vrec); k+; L-length+;if(fclose(fp) printf(文件无法关闭!n); exit(0); int findlist(sequenlist*L) int k=0,j; char anum30; char name30; char cnum30; printf(请选择查询方式:n); printf(1、按车牌号查询n); printf(2、按姓名查询n); printf(3、按联系电话查询n); fflush(stdin); for(;) scanf(%d,&j);if (j3) printf(nt输入错误,请重选1-3n);else break; if(j=1) printf(请输入要查询车辆的车牌号:n); scanf(%s,anum); for(k=0;klength;k+) if(strcmp(L-trak.anum,anum)=0) return k; else if(j=2) printf(请输入要查找车主的姓名:n); scanf(%s,name);printf(%d,L-length); for(k=0;klength;k+) if(strcmp(L-,name)=0)return k; else if(j=3) printf(请输入要查找车主的联系电话:n); scanf(%s,cnum); for(k=0;klength;k+) if(strcmp(L-um,cnum)=0)return k; else return -1;/*没找到的话返回-1*/int Insert(sequenlist*L,DataType*traffic,int i) int j,k;if(L-length=MAX) printf(数据溢出!n); return 0;else if(iL-length) printf(数据出错,请输入正确的 in); return 0;else for(j=L-length-1;j=i;j-) strcpy(L-traj+1.anum,L-traj.anum); strcpy(L-traj+1.bnum,L-traj.bnum); strcpy(L-traj+1.models,L-traj.models); strcpy(L-traj+1.name,L-); strcpy(L-traj+1.cnum,L-um); L-traj+1.vrec=L-traj.vrec; strcpy(L-trai.anum,traffic-anum); strcpy(L-trai.bnum,traffic-bnum); strcpy(L-trai.models,traffic-models); strcpy(L-,traffic-name); strcpy(L-um,traffic-cnum); L-trai.vrec=traffic-vrec; L-length=L-length+1; printf(添加后总的交通信息显示如下:n);for(k=0;klength;k+) printf(%-10s%-10s%-10s%-10s%-15s%10dn,L-trai.anum,L-trai.bnum,L-trai.models,L-,L-um,L-trai.vrec); return 1;void Delete(sequenlist*L)int i,j,k;printf(请先查找您要删除的交通信息:n);i=findlist(L);if(i=-1) printf(没有找到要删除的交通信息n); return;for(j=i;jlength;j+) strcpy(L-traj.anum,L-traj+1.anum); strcpy(L-traj.bnum,L-traj+1.bnum); strcpy(L-traj.models,L-traj+1.models); strcpy(L-,L-traj+1.name); strcpy(L-um,L-traj+1.cnum); L-traj.vrec=L-traj+1.vrec;L-length-;printf(该交通信息已被删除或不存在!n); printf(添加后总的交通信息显示如下:n);for(k=0;klength;k+) printf(%-10s%-10s%-10s%-10s%-15s%10dn,L-trak.anum,L-trak.bnum,L-trak.models,L-,L-um,L-trak.vrec); void Modify() int i,j; char anum10; char bnum10; char models10; char name10; char cnum10; int vrec; printf(请先查找您要修改的交通信息n); i=findlist(L); if(i=-1) printf(没有找到要修改的交通信息n); return; printf(请输入要修改的内容:n); printf(1、修改车牌号n); printf(2、修改发动机号n); printf(3、修改车型n); printf(4、修改姓名n); printf(5、修改联系电话n); printf(6、修改违章记录n); printf( 请选择1-6n); fflush(stdin); for(;) scanf(%d,&j);if (j6) printf(nt输入错误,重选1-6n);else break; switch(j) case 1: printf(请输入要修改为的数据:n); scanf(%s,anum); strcpy(L-trai.anum,anum); printf(交通信息的修改结果为:n); printf(%-10s%-10s%-10s%-10s%-15s%10dn,L-trai.anum,L-trai.bnum,L-trai.models,L-,L-um,L-trai.vrec); break; case 2: printf(请输入要修改为的数据:n); scanf(%s,bnum); strcpy(L-trai.bnum,bnum); printf(交通信息的修改结果为:n); printf(%-10s%-10s%-10s%-10s%-15s%10dn,L-trai.anum,L-trai.bnum,L-trai.models,L-,L-um,L-trai.vrec); break; case 3: printf(请输入要修改为的数据:n); scanf(%s,models); strcpy(L-trai.models,models); printf(交通信息的修改结果为:n); printf(%-10s%-10s%-10s%-10s%-15s%10dn,L-trai.anum,L-trai.bnum,L-trai.models,L-,L-um,L-trai.vrec); break; case 4: printf(请输入要修改为的数据:n); scanf(%s,name); strcpy(L-,name); printf(交通信息的修改结果为:n); printf(%-10s%-10s%-10s%-10s%-15s%10dn,L-trai.anum,L-trai.bnum,L-trai.models,L-,L-um,L-trai.vrec); break; case 5: printf(请输入要修改为的数据:n); scanf(%s,cnum); strcpy(L-um,cnum); printf(交通信息的修改结果为:n); printf(%-10s%-10s%-10s%-10s%-15s%1

温馨提示

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

评论

0/150

提交评论