交通处罚单管理系统C语言文档格式.doc

上传人:wj 文档编号:1455273 上传时间:2023-04-30 格式:DOC 页数:32 大小:140.50KB
下载 相关 举报
交通处罚单管理系统C语言文档格式.doc_第1页
第1页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第2页
第2页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第3页
第3页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第4页
第4页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第5页
第5页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第6页
第6页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第7页
第7页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第8页
第8页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第9页
第9页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第10页
第10页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第11页
第11页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第12页
第12页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第13页
第13页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第14页
第14页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第15页
第15页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第16页
第16页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第17页
第17页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第18页
第18页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第19页
第19页 / 共32页
交通处罚单管理系统C语言文档格式.doc_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

交通处罚单管理系统C语言文档格式.doc

《交通处罚单管理系统C语言文档格式.doc》由会员分享,可在线阅读,更多相关《交通处罚单管理系统C语言文档格式.doc(32页珍藏版)》请在冰点文库上搜索。

交通处罚单管理系统C语言文档格式.doc

【流程图】

请输入车牌号码:

显示已有罚单数目

请输入罚单号:

请输入开单日期:

请输入驾驶员姓名:

【程序】:

voidshuru()

{

FILE*fp;

inti=0;

if((fp=fopen("

data.txt"

"

wb"

))==NULL)

{

printf("

Cannotopenthefile\n"

);

exit(0);

//调用此函数时必须包含<

stdlib.h>

}

printf("

\n"

scanf("

%d"

&

dan[NUM].chepai);

%s"

dan[NUM].name);

请输交警ID:

dan[NUM].id);

请输入开单日期(以年/月/日形式输入):

%d/%d/%d"

dan[i].date.year,&

dan[i].date.month,&

dan[i].date.day);

请输入处罚单号:

dan[NUM].num);

for(i=0;

i<

=NUM;

i++)

if(fwrite(&

dan[i],sizeof(structcfd),1,fp)!

=1)

printf("

filewriteerror\n"

}//此处for循环的作用是:

在每次调用输入函数时都能够把结构体数组中已有的数据和本次输入的数据都记录在文件data.txt中

已经有%d个罚单\n"

i);

NUM++;

//NUM用来记录罚单总数,每调用一次输入函数NUM就加一

fclose(fp);

}

【删除罚单模块】:

按操作者的指令在结构体数组中找到删除的信息,把结构体数组中的信息抄到文件中去忽略要删除的信息达到要删除的目的。

【流程图】:

输入要删除的罚单号

通过for循环在结构体数组找到与之对应的信息

for循环,i==c?

若i==c抄入文件

若i!

=c不抄入文件

voidshanchu()

inti;

intc;

//待删除罚单号码

intw;

//删除处罚单号

FILE*fp;

printf("

请输入要删除的处罚单号:

"

scanf("

w);

fp=fopen("

rb"

for(i=0;

NUM;

if(w==dan[i].num)//查找要删除的罚单号码

c=i;

//待删除罚单号码

fclose(fp);

if(i!

=c)

fwrite(&

dan[i],sizeof(structcfd),1,fp);

//如果罚单号与待删除罚单号不同,就写入文件

}//此处for循环的作用是:

从文件中把待删除的信息删除

NUM--;

//全局变量更新

删除成功\n罚单号是%d\n"

dan[c].num);

【信息浏览模块】:

把储存在文件中信息全部输出。

voidliulan()

已有%d个罚单"

NUM);

if(fread(&

dan[i],sizeof(structcfd),1,fp))

第%d罚单信息\n"

i+1);

prntf(i);

elsebreak;

【信息查询模块】:

用户根据界面的提示选择查询方式,并根据进一步的提示进行相关输入,程序根据用户输入的信息通过for循环找到与之相对应的信息,并输出相关信息。

【流程图】:

根据提示输入查询方式

按警察ID查询

按司机姓名查询

按车牌号查询

通过循环找到与之对应的信息,并将之输出

voidchaxun()

inti,w,x,flag;

charv[8];

//驾驶员名字

请输入你想查询的信息:

1-按车牌号查询\n"

2-按司机姓名查询\n"

3-按警察ID查询\n"

x);

flag=0;

//查找成功的标志,查找成功FLAG=1

if(x==3)

请输入要查询的警察ID:

=1)break;

if(dan[i].id==w)

flag=1;

break;

if(flag==0)

找不到此处罚单信息!

elseif(x==2)

请输入要查询的司机姓名:

v);

if(strcmp(dan[i].name,v)==0)//使用此函数时必须包含string.h

elseif(x==1)

请输入要查询的车牌号:

if(dan[i].num==w)

elseprintf("

输入错误!

信息统计模块:

用户根据提示输入驾驶员姓名和一个时间段,程序将对储存在文件中的信息逐个进行检验看其是否与输入的信息相对应,若相对应,就会将其输出,并使统计变量加一,最终输出此驾驶员在此时间段内总共有多少罚单。

输入驾驶员姓名

输入要统计的时间段

通过循环将文件中的每一个信息与输入条件对比,判断是否满足。

输出满足条件的罚单号,并每输出一个罚单号使统计变量加一。

输出驾驶员此段时间罚单总数

voidtongji()

{inta1,b1,c1;

//分别用来表示起始时间的年、月、日

inta2,b2,c2;

//分别用来表示截止时间的年、月、日

intt;

//用来统计驾驶员在此时间段的罚单个数

//要对其进行统计的驾驶员姓名

请输入要统计的时间段(以年/月/日的形式表示日期):

请输入起始日期:

a1,&

b1,&

c1);

截止时间日期:

a2,&

b2,&

c2);

if(strcmp(v,dan[i].name)==0)

if(dan[i].date.year>

a1&

&

dan[i].date.year<

a2)

{printf("

%d\n"

dan[i].num);

t++;

elseif(dan[i].date.year>

dan[i].date.year==a2)

if(dan[i].date.month<

b2)

elseif(dan[i].date.month==b2&

dan[i].date.day<

=c2)

elseif(dan[i].date.year==a1&

if(dan[i].date.month>

b1)

elseif(dan[i].date.month==b1&

dan[i].date.day==c2)

b1&

dan[i].date.month<

elseif(dan[i].date.month>

dan[i].date.month==b2&

b2&

dan[i].date.day>

dan[i].date.month==b2)

if(dan[i].date.day>

=c1&

}//此处for循环的作用是:

将文件中的罚单信息与输入的驾驶员姓名和时间段进行比较,如果吻合就输出罚单信息,直到将所有满足条件的信息全部输出

从%d/%d/%d到%d/%d/%d这段时间内司机"

a1,b1,c1,a2,b2,c2);

puts(v);

共有罚单数目是:

t);

【信息输出模块】:

由于程序中有多处都需要用到信息输出功能,为了使程序简洁明了,将信息输出拿出来,作为一个单独的模块供其它地方调用。

voidprntf(inti)

处罚单号:

车牌号码:

dan[i].chepai);

司机姓名:

puts(dan[i].name);

警察ID:

dan[i].id);

处罚时间:

dan[i].date.year,dan[i].date.month,dan[i].date.day);

---------------------------------\n"

第五部分:

程序设计数据、运行结果

程序主界面:

为用户提供输入操作的提示,输入相应的数字可以进入相应的下级菜单。

选择信息输入模块后的执行结果。

选择信息浏览模块后的显示结果。

选择信息查询模块后并进行相关输入显示的结果。

选择信息统计模块后并进行相关输入得到的结果。

选择信息删除模块后,删除相关信息后显示的结果。

第六部分:

附录(源代码)

#include<

stdio.h>

string.h>

intNUM=0;

structcfd

intnum;

intchepai;

charname[8];

longintid;

structtime{intyear;

intmonth;

intday;

}date;

}dan[1000];

printf("

%d%d%d"

for(i=0;

}

voidshanchu()

inti;

intc;

intw;

fp=fopen("

for(i=0;

i++)

{

if(w==dan[i].num)//查找要删除的罚单号码

c=i;

}

if(i!

=c)

fwrite(&

NUM--;

for(i=0;

i++)fread(&

voidliulan()

{

printf("

prntf(i);

voidchaxun()

inti,w,x,flag;

FILE*fp;

charv[8];

scanf("

flag=0;

if(x==3)

{

scanf("

fp=fopen("

for(i=0;

{

if(fread(&

if(dan[i].id==w)

{

prntf(i);

flag=1;

break;

}

}

if(flag==0)

printf("

fclose(fp);

}

elseif(x==2)

if(strcmp(dan[i].name,v)==0)

}

elseif(x==1)

{

if(dan[i].num==w)

elseprintf("

}

voidtongji()

charv[8];

if(strcmp(v,dan[i].name)==0)

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2