C语言课程设计报告交通处罚单管理Word文档格式.docx
- 文档编号:8060070
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:14
- 大小:192.40KB
C语言课程设计报告交通处罚单管理Word文档格式.docx
《C语言课程设计报告交通处罚单管理Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告交通处罚单管理Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
整个管理系统被设计为信息输入模块,信息删除模块,信息浏览模块,信息查询模块和信息统计模块等。
如下图:
(三)详细设计
1.主函数实现的是显示菜单以及函数调用,其中各功能模块用菜单方式选择。
程序:
main()
{
intkey=1;
system("
cls"
);
while(key)
{
printf("
\n\t\t\t1.Write\n"
\t\t\t2.Watch\n"
\t\t\t3.Delete\n"
\t\t\t4.Add\n"
\t\t\t5.Search\n"
\t\t\t6.Manage\n"
\t\t\t0.Exit\n"
scanf("
%d"
&
key);
switch(key)
case1:
out();
break;
case2:
p();
case3:
del();
case4:
add();
case5:
search();
case6:
manage();
case0:
default:
printf("
error\n"
}
}
2.一些预处理命令、结构体定义和函数声明。
#include<
stdio.h>
string.h>
#defineNUM3
#defineFOR(i)for(i=0;
i<
NUM;
i++)
structtrafic
intcar;
chardriver[10];
charpolice[10];
intyear;
intnum;
intmonth;
intdate;
}list[NUM];
voidsave();
voidload();
voidout();
voiddel();
voidadd();
voidp();
voidsearch();
voidmanage();
voidser_car();
voidser_dri();
voidser_pol();
3.信息储存函数。
voidsave()
FILE*fp;
inti;
if((fp=fopen("
list_tra"
"
wb"
))==NULL)
cannotopenfile\n"
return;
FOR(i)
if(fwrite(&
list[i],sizeof(structtrafic),1,fp)!
=1)
filewriteerror\n"
fclose(fp);
4.信息读取函数。
voidload()
FILE*fp;
rb"
cannotopeninfile\n"
if(fread(&
if(feof(fp))return;
filereaderror\n"
5.信息从键盘输入函数。
voidout()
Pleaseinput:
cardriverpoliceyearmonthdate\n"
%d%s%s%d%d%d"
list[i].car,&
list[i].driver,&
list[i].police,&
list[i].year,&
list[i].month,&
list[i].date);
list[i].num=i+1;
save();
6.信息显示函数。
voidp()
intb;
load();
FOR(b)
num:
%dcar:
%ddriver:
%spolice:
%s\nyear:
%dmonth:
%ddate:
%d\n\n"
list[b].num,list[b].car,list[b].driver,list[b].police,list[b].year,list[b].month,list[b].date);
7.记录删除函数。
voiddel()
Pleasechoosewhichonetobedelete:
"
b);
b--;
list[b].car=list[b].year=list[b].month=list[b].date=0;
list[b].driver[0]=list[b].police[0]='
\0'
;
8.记录添加函数
voidadd()
inta;
Pleasechoosewhichonetobeadded:
a);
a--;
list[a].car,&
list[a].driver,&
list[a].police,&
list[a].year,&
list[a].month,&
list[a].date);
list[a].num=a+1;
9.信息查询函数。
voidsearch()
intk=1;
Pleasechoosesearchingbywhich:
\n"
while(k)
\t\t\t1.Car\n\t\t\t2.Driver\n\t\t\t3.Police\n\t\t\t0.Exit\n"
k);
switch(k)
ser_car();
ser_dri();
ser_pol();
此函数包括3个子函数,分别实现按车牌号、司机、交警查询的功能。
voidser_car()
inti,c;
c);
if(c==list[i].car)
list[i].num,list[i].car,list[i].driver,list[i].police,list[i].year,list[i].month,list[i].date);
voidser_dri()
chard[10];
%s"
d);
if(strcmp(d,list[i].driver)==0)
voidser_pol()
charp[10];
p);
if(strcmp(p,list[i].police)==0)
10.信息管理函数。
此函数实现的功能为查询一段时间内某司机违章次数以及罚单号。
voidmanage()
inty1,y2,m1,m2,d1,d2,i,n=0,l[NUM]={0};
chardr[10];
Pleaseinputthebeginningtime(yearmonthdate)\n"
%d%d%d"
y1,&
m1,&
d1);
Pleaseinputtheendtime(yearmonthdate)\n"
y2,&
m2,&
d2);
Pleaseinputthedriver'
sname:
dr);
if(compare(list[i].year,list[i].month,list[i].date,y1,y2,m1,m2,d1,d2))
if(strcmp(dr,list[i].driver)==0)
n++;
l[i]=1;
Thereare%dlists,andthenumberare:
n);
if(l[i])printf("
%d"
i+1);
这个函数包括一个判断时间先后的子函数。
compare(inty,intm,intd,inty1,inty2,intm1,intm2,intd1,intd2)
intz=0;
if(y>
y1&
&
y<
y2)z=1;
if(y==y1&
y2&
m>
m1)z=1;
y==y2&
m<
m2)z=1;
y==y2)
if(m>
m1&
if(m==m1&
m2&
d>
=d1)z=1;
m==m2&
d<
=d2)z=1;
=d1&
return(z);
(四)上机操作
主菜单界面:
从键盘输入数据:
显示所有信息:
删除指定的记录:
添加内容到指定记录:
搜索菜单:
按车牌号查询:
按司机查询:
按交警查询:
查询一段时间内某司机违章次数以及罚单号:
总结:
通过C语言程序设计的上机实习,我进一步了解和运用结构化程序设计的思维方法。
C语言二级考试已在眼前了,而这次C语言实习顺利结束真正意义上为C语言二级考试打好了基础。
而且这次实习真正意义上将所学知识运用到了实际中。
在这次实习中,我也学到了动态调试等一些新知识,并且发现任何一处看似不起眼的微小错误很可能导致程序无法运行或是运行结果错误。
我在这次实习中最大的收获就是学会了分析和排除错误,而这恰恰是从书本上学不到的。
想要进一步提高C语言程序设计的水平,还需要不断的努力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 交通处 罚单 管理