交通处罚单管理程序课程设计报告Word下载.docx
《交通处罚单管理程序课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《交通处罚单管理程序课程设计报告Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
![交通处罚单管理程序课程设计报告Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/23/3fb061ee-e680-437d-a59e-72af15ce79d0/3fb061ee-e680-437d-a59e-72af15ce79d01.gif)
调用
intInput(TraffictrafList[],intn)
输入“2”
voidDisplay(TraffictrafList[],intn)
输入“3”
intDelete_a_record(TraffictrafList[],intn)
intDelete(TraffictrafList[],intn,char*name)
输入“4”
voidSort_by_Name(TraffictrafList[],intn)
输入“5”
intInsert_a_record(TraffictrafList[],intn)
intInsert(TraffictrafList[],intn,Traffics)
输入“6”
voidQuery_a_record(TraffictrafList[],intn)
intQuery(TraffictrafList[],intn,char*name)
输入“7”
intAddfromText(TraffictrafList[],intn,char*filename)
输入“8”
voidWritetoText(TraffictrafList[],intn,char*filename)
(各函数的功能见程序中注释。
)
五、待测试数据:
ZhuangQi88DongGua0000032013224
DaPangzi37XiaoHua0000042013214
AiQiyi98XiaoMin0000052013413
六、程序要使用的data.txt:
2
WangXiao95DingFei0000012013123
LiuLin87CaiMing0000022013123
七、部分较复杂函数流程图
删除信息
插入信息
源码
#include<
stdio.h>
string.h>
stdlib.h>
ctype.h>
#defineNUM10
typedefstruct{
chardriver[10];
/*司机姓名*/
intcar;
/*驾驶的车牌号*/
charpolice[10];
/*开罚单的交警姓名*/
intnum;
/*罚单编号*/
intyear;
/*开罚单的年*/
intmonth;
/*开罚单的月*/
intdate;
/*开罚单的日*/
}Traffic;
intmenu_select();
intInput(TraffictrafList[],intn);
voidDisplay(TraffictrafList[],intn);
intDelete_a_record(TraffictrafList[],intn);
voidSort_by_Name(TraffictrafList[],intn);
intInsert_a_record(TraffictrafList[],intn);
voidQuery_a_record(TraffictrafList[],intn);
intAddfromText(TraffictrafList[],intn,char*filename);
voidWritetoText(TraffictrafList[],intn,char*filename);
voidmain()
{
TraffictrafList[NUM];
intn=0;
FILE*fp;
inti;
fp=fopen("
records.txt"
"
r"
);
if(fp==NULL)
{
printf("
打开文件失败!
请重试!
\n"
exit
(1);
}
fprintf(fp,"
%d"
n);
printf("
for(i=0;
i<
1;
i++)
fprintf(fp,"
%s\t\t"
trafList[i].driver);
%d\t"
trafList[i].car);
%s"
trafList[i].police);
trafList[i].num);
trafList[i].year);
trafList[i].month);
%d\n"
trafList[i].date);
for(;
;
switch(menu_select())
{
case1:
n=Input(trafList,n);
system("
pause"
break;
case2:
Display(trafList,n);
case3:
n=Delete_a_record(trafList,n);
case4:
Sort_by_Name(trafList,n);
case5:
n=Insert_a_record(trafList,n);
case6:
Query_a_record(trafList,n);
case7:
n=AddfromText(trafList,n,"
data.txt"
case8:
WritetoText(trafList,n,"
case0:
printf("
Goodbye\n"
exit(0);
}
}
intmenu_select()
charc;
do
system("
cls"
1.Inputrecords\n"
2.Displayallrecords\n"
3.Deletearecord\n"
4.Sort\n"
5.Insertarecord\n"
6.Query\n"
7.AddrecordsfromaTextFile\n"
8.WritetoaTextFile\n"
0.Quit\n"
Giveyourchoice(0-8):
"
c=getchar();
}while(c<
'
0'
||c>
8'
returnc-'
intInput(TraffictrafList[],intn)
charch;
继续吗?
y:
yes,n:
no\n"
getchar();
ch=getchar();
while(ch=='
y'
||ch=='
Y'
请输入司机姓名:
scanf("
trafList[n].driver);
请输入车牌号:
&
trafList[n].car);
请输入警察:
trafList[n].police);
请输入罚单编号:
trafList[n].num);
请输入开罚单年份:
trafList[n].year);
请输入开罚单月份:
trafList[n].month);
请输入开罚单的日:
trafList[n].date);
goon?
getchar();
ch=getchar();
n++;
returnn;
voidDisplay(TraffictrafList[],intn)
inti;
n;
司机姓名:
%s\t车牌号:
%d\t警察:
%s\t罚单编号:
%d\t开罚单年份:
%d\t开罚单月份:
%d\t开罚单的日:
trafList[i].driver,trafList[i].car,trafList[i].police,trafList[i].num,trafList[i].year,trafList[i].month,trafList[i].date);
//if(i%10==0)system("
inti,j;
if(strcmp(trafList[i].driver,name)==0)
for(j=i;
j<
j++)
trafList[j]=trafList[j+1];
n--;
intDelete_a_record(TraffictrafList[],intn)
chars[10];
charzq;
printf("
请输入待删者姓名:
scanf("
s);
您真要删除姓名为%s的记录吗?
Y/N\n"
zq);
//zq=getchar();
if(zq=='
||zq=='
n=Delete(trafList,n,s);
您已成功删除姓名为%s的记录\n"
//(4)
voidSort_by_Name(TraffictrafList[],intn)
inti,j,p;
Trafficzq;
//printf("
N=%d\n"
p=i;
for(j=i+1;
if(strcmp(trafList[j].driver,trafList[p].driver)<
0)p=j;
if(p!
=i)
{
zq=trafList[p];
trafList[p]=trafList[i];
trafList[i]=zq;
}
//5
{//printf("
if(strcmp(s.driver,trafList[i].driver)<
0)
for(j=n;
j>
0;
j--)
trafList[j]=trafList[j-1];
trafList[i]=s;
if(i==n)trafList[n]=s;
n++;
intInsert_a_record(TraffictrafList[],intn)
请输入待插入司机姓名:
zq.driver);
zq.car);
请输入警察姓名:
zq.police);
zq.num);
zq.year);
zq.month);
请输入开罚单日:
zq.date);
n=Insert(trafList,n,zq);
该记录已经插入成功!
:
//6
intQuery(TraffictrafList[],intn,char*name)
returni;
if(i==n)return-1;
voidQuery_a_record(TraffictrafList[],intn)
inta;
charzq[10];
请输入待查找者的姓名:
zq);
a=Query(trafList,n,zq);
if(a!
=-1)
查找成功!
该司机罚单信息如下:
%s\t\t车牌号:
%d\t年份:
%d\t月份:
%d\t日:
trafList[a].driver,trafList[a].car,trafList[a].police,trafList[a].num,trafList[a].year,trafList[a].month,trafList[a].date);
elseprintf("
查找失败!
可能无此人记录!
intAddfromText(TraffictrafList[],intn,char*filename)
Trafficzq[NUM];
intz,i;
if((fp=fopen(filename,"
))==NULL)
fscanf(fp,"
z);
z=%d\n"
z);
z;
fscanf(fp,"
zq[i].driver);
zq[i].car);
zq[i].police);
zq[i].num);
zq[i].year);
zq[i].month);
zq[i].date);
/*for(i=0;
zq[i].driver,zq[i].car,zq[i].police,zq[i].num,zq[i].year,zq[i].month,zq[i].date);
}*/
i++,n++)
//trafList[n]=zq[i];
Insert(trafList,n,zq[i]);
voidWritetoText(TraffictrafList[],intn,char*filename)
w"
%s"
fclose(fp);