顺序表实现管理系统源程序.docx

上传人:b****3 文档编号:26652231 上传时间:2023-06-21 格式:DOCX 页数:15 大小:16.63KB
下载 相关 举报
顺序表实现管理系统源程序.docx_第1页
第1页 / 共15页
顺序表实现管理系统源程序.docx_第2页
第2页 / 共15页
顺序表实现管理系统源程序.docx_第3页
第3页 / 共15页
顺序表实现管理系统源程序.docx_第4页
第4页 / 共15页
顺序表实现管理系统源程序.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

顺序表实现管理系统源程序.docx

《顺序表实现管理系统源程序.docx》由会员分享,可在线阅读,更多相关《顺序表实现管理系统源程序.docx(15页珍藏版)》请在冰豆网上搜索。

顺序表实现管理系统源程序.docx

顺序表实现管理系统源程序

#defineMAX1024

#include

#include

#include

#include

voidInputdata();

intfindlist();

intInsert();

voidDelete();

voidModify();

typedefstruct{

charanum[20];/*车牌号*/

charbnum[20];/*发动机号*/

charmodels[20];/*车型*/

charname[20];/*姓名*/

charcnum[20];/*联系电话*/

intvrec;/*违章记录*/

}DataType;

typedefstruct

{

DataTypetra[MAX];

intlength;

}sequenlist;

sequenlist*L;

DataType*traffic;

voidmain()

{

inti,a,b,c,j,m;

L=(sequenlist*)malloc(sizeof(sequenlist));

L->length=0;

Inputdata(L);

printf("\n**********************************************************************\n\n");

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(m<0||m>4)

printf("\n\t输入错误,重选0-4\n");

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%10d\n",L->tra[i].anum,L->tra[i].bnum,L->tra[i].models,L->tra[i].name,L->tra[i].cnum,L->tra[i].vrec);

}

else

printf("没有您要查询的交通信息!

");

printf("请问您还要继续查询么?

继续请输入1,退出请输入其他\n");

scanf("%d",&b);

if(b==1){

j=0;

}

elsej=1;

}

}

if(m==1){

printf("交通信息的修改\n");

for(b=0;b==0;){

Modify(L);

printf("请问还要继续修改么?

继续请输入1,退出输入其他\n");

scanf("%d",&c);

if(c==1){b=0;}

elseb=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;}

elseb=1;

}

}

if(m==3){

printf("交通信息的删除\n");

for(b=0;b==0;){

Delete(L);

printf("请问是否继续删除?

继续请输入1,退出输入其他\n");

scanf("%d",&c);

if(c==1){b=0;}

elseb=1;

}

}

}

printf("感谢您的使用!

\n");

}

voidInputdata(sequenlist*L)

{

FILE*fp;

intk=0;

if((fp=fopen("f.txt","rw"))==NULL){

printf("读取文件出错!

\n");

exit(0);

}

printf("读入的文件信息显示如下:

\n");

fp=fopen("f.txt","rw");

while(fscanf(fp,"%s",L->tra[k].anum)!

=EOF)

{

fscanf(fp,"%s",L->tra[k].bnum);

fscanf(fp,"%s",L->tra[k].models);

fscanf(fp,"%s",L->tra[k].name);

fscanf(fp,"%s",L->tra[k].cnum);

fscanf(fp,"%d",&L->tra[k].vrec);

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[k].anum,L->tra[k].bnum,L->tra[k].models,L->tra[k].name,L->tra[k].cnum,L->tra[k].vrec);

k++;

L->length++;

}

if(fclose(fp)){

printf("文件无法关闭!

\n");

exit(0);

}

}

intfindlist(sequenlist*L)

{

intk=0,j;

charanum[30];

charname[30];

charcnum[30];

printf("请选择查询方式:

\n");

printf("1、按车牌号查询\n");

printf("2、按姓名查询\n");

printf("3、按联系电话查询\n");

fflush(stdin);

for(;;)

{

scanf("%d",&j);

if(j<1||j>3)

printf("\n\t输入错误,请重选1-3\n");

else

break;

}

if(j==1)

{

printf("请输入要查询车辆的车牌号:

\n");

scanf("%s",anum);

for(k=0;klength;k++)

{

if(strcmp(L->tra[k].anum,anum)==0)

{returnk;}

}

}

elseif(j==2)

{

printf("请输入要查找车主的姓名:

\n");

scanf("%s",name);

printf("%d",L->length);

for(k=0;klength;k++)

{

if(strcmp(L->tra[k].name,name)==0)

{returnk;}

}

}

elseif(j==3)

{

printf("请输入要查找车主的联系电话:

\n");

scanf("%s",cnum);

for(k=0;klength;k++)

{

if(strcmp(L->tra[k].cnum,cnum)==0)

{returnk;}

}

}

else

return-1;/*没找到的话返回-1*/

}

intInsert(sequenlist*L,DataType*traffic,inti)

{

intj,k;

if(L->length==MAX)

{

printf("数据溢出!

\n");

return0;

}

elseif((i<0)||(i>L->length))

{

printf("数据出错,请输入正确的i\n");

return0;

}

else

{

for(j=L->length-1;j>=i;j--)

{

strcpy(L->tra[j+1].anum,L->tra[j].anum);

strcpy(L->tra[j+1].bnum,L->tra[j].bnum);

strcpy(L->tra[j+1].models,L->tra[j].models);

strcpy(L->tra[j+1].name,L->tra[j].name);

strcpy(L->tra[j+1].cnum,L->tra[j].cnum);

L->tra[j+1].vrec=L->tra[j].vrec;

}

strcpy(L->tra[i].anum,traffic->anum);

strcpy(L->tra[i].bnum,traffic->bnum);

strcpy(L->tra[i].models,traffic->models);

strcpy(L->tra[i].name,traffic->name);

strcpy(L->tra[i].cnum,traffic->cnum);

L->tra[i].vrec=traffic->vrec;

L->length=L->length+1;

}

printf("添加后总的交通信息显示如下:

\n");

for(k=0;klength;k++){

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[i].anum,L->tra[i].bnum,L->tra[i].models,L->tra[i].name,L->tra[i].cnum,L->tra[i].vrec);

}

return1;

}

voidDelete(sequenlist*L)

{

inti,j,k;

printf("请先查找您要删除的交通信息:

\n");

i=findlist(L);

if(i==-1)

{

printf("没有找到要删除的交通信息\n");

return;

}

for(j=i;jlength;j++)

{

strcpy(L->tra[j].anum,L->tra[j+1].anum);

strcpy(L->tra[j].bnum,L->tra[j+1].bnum);

strcpy(L->tra[j].models,L->tra[j+1].models);

strcpy(L->tra[j].name,L->tra[j+1].name);

strcpy(L->tra[j].cnum,L->tra[j+1].cnum);

L->tra[j].vrec=L->tra[j+1].vrec;

}

L->length--;

printf("该交通信息已被删除或不存在!

\n");

printf("添加后总的交通信息显示如下:

\n");

for(k=0;klength;k++){

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[k].anum,L->tra[k].bnum,L->tra[k].models,L->tra[k].name,L->tra[k].cnum,L->tra[k].vrec);

}

}

voidModify()

{

inti,j;

charanum[10];

charbnum[10];

charmodels[10];

charname[10];

charcnum[10];

intvrec;

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-6\n");

fflush(stdin);

for(;;)

{

scanf("%d",&j);

if(j<1||j>6)

printf("\n\t输入错误,重选1-6\n");

else

break;

}

switch(j)

{

case1:

printf("请输入要修改为的数据:

\n");

scanf("%s",anum);

strcpy(L->tra[i].anum,anum);

printf("交通信息的修改结果为:

\n");

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[i].anum,L->tra[i].bnum,L->tra[i].models,L->tra[i].name,L->tra[i].cnum,L->tra[i].vrec);

break;

case2:

printf("请输入要修改为的数据:

\n");

scanf("%s",bnum);

strcpy(L->tra[i].bnum,bnum);

printf("交通信息的修改结果为:

\n");

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[i].anum,L->tra[i].bnum,L->tra[i].models,L->tra[i].name,L->tra[i].cnum,L->tra[i].vrec);

break;

case3:

printf("请输入要修改为的数据:

\n");

scanf("%s",models);

strcpy(L->tra[i].models,models);

printf("交通信息的修改结果为:

\n");

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[i].anum,L->tra[i].bnum,L->tra[i].models,L->tra[i].name,L->tra[i].cnum,L->tra[i].vrec);

break;

case4:

printf("请输入要修改为的数据:

\n");

scanf("%s",name);

strcpy(L->tra[i].name,name);

printf("交通信息的修改结果为:

\n");

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[i].anum,L->tra[i].bnum,L->tra[i].models,L->tra[i].name,L->tra[i].cnum,L->tra[i].vrec);

break;

case5:

printf("请输入要修改为的数据:

\n");

scanf("%s",cnum);

strcpy(L->tra[i].cnum,cnum);

printf("交通信息的修改结果为:

\n");

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[i].anum,L->tra[i].bnum,L->tra[i].models,L->tra[i].name,L->tra[i].cnum,L->tra[i].vrec);

break;

case6:

printf("请输入要修改为的数据:

\n");

scanf("%d",&vrec);

L->tra[i].vrec=vrec;

printf("交通信息的修改结果为:

\n");

printf("%-10s%-10s%-10s%-10s%-15s%10d\n",L->tra[i].anum,L->tra[i].bnum,L->tra[i].models,L->tra[i].name,L->tra[i].cnum,L->tra[i].vrec);

break;

}

}

友情提示:

范文可能无法思考和涵盖全面,供参考!

最好找专业人士起草或审核后使用,感谢您的下载!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1