完整版C语言交通处罚单管理系统Word文档下载推荐.docx

上传人:b****6 文档编号:20881784 上传时间:2023-01-26 格式:DOCX 页数:25 大小:574.09KB
下载 相关 举报
完整版C语言交通处罚单管理系统Word文档下载推荐.docx_第1页
第1页 / 共25页
完整版C语言交通处罚单管理系统Word文档下载推荐.docx_第2页
第2页 / 共25页
完整版C语言交通处罚单管理系统Word文档下载推荐.docx_第3页
第3页 / 共25页
完整版C语言交通处罚单管理系统Word文档下载推荐.docx_第4页
第4页 / 共25页
完整版C语言交通处罚单管理系统Word文档下载推荐.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

完整版C语言交通处罚单管理系统Word文档下载推荐.docx

《完整版C语言交通处罚单管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整版C语言交通处罚单管理系统Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。

完整版C语言交通处罚单管理系统Word文档下载推荐.docx

二、问题分析

(一)需求分析

1.交通处罚单信息用文件储存,提供文件的输入输出操作;

2.要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;

3.要车辆、驾驶员和开单交警查询,则要提供查找操作;

4.另外提供系统操作和键盘式选择菜单以实现功能选择。

(二)该问题可以分为以下几个模块

三、程序流程图

【信息输入模块】

N

Y

YN

【删除罚单模块】

【信息查询模块】

输入驾驶员姓名

四、程序代码

#include<

stdio.h>

string.h>

stdlib.h>

#defineN100

structPlist//处罚单

{

charvno[20];

//车牌号

chardname[20];

//驾驶员姓名

charpname[20];

//交警姓名

charpno[20];

//交警编号

charno[20];

//处罚单编号

chardate[20];

//处罚日期

}list[N];

//处罚单数组

voidinput();

//输入模块

voiddele();

//删除模块

voidbrowse();

//浏览模块

voidsearch();

//查询模块

voidcount();

//统计模块

voidmenu();

//主菜单

voidvno_search();

//按车牌号查询

voiddna_search();

//按驾驶员姓名查询

voidpna_search();

//按开单交警姓名查询

main()

menu();

getchar();

}

voidmenu()

intn;

intr;

do

{

system("

cls"

);

printf("

\n\t\t\t\t交通处罚单管理系统\n"

·

"

菜单:

1-信息录入2-信息删除3-信息浏览4-信息查询5-信息统计6-退出系统\n"

请从输入数字选择相应的功能:

scanf("

%d"

&

n);

if(n<

1||n>

6)

r=1;

getchar();

}

elser=0;

}while(r==1);

switch(n)

case1:

input();

break;

case2:

dele();

case3:

browse();

case4:

search();

case5:

count();

case6:

exit(0);

}

voidinput()

FILE*fp;

intnum;

inti,j;

if((fp=fopen("

list.txt"

"

r+"

))==NULL)

w"

文件打开或创建失败!

\n"

printf("

\npressentertoreturnmenu\n"

menu();

\n请输入处罚单数量:

i);

\n\n"

for(j=0;

j<

i;

j++)

输入第%d张处罚单的:

j+1);

\n车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如20110601)\n"

\n注意:

中间用空格隔开!

%s%s%s%s%s%s"

list[j].vno,&

list[j].dname,&

list[j].pname,&

list[j].pno,&

list[j].no,&

list[j].date);

fprintf(fp,"

\n%s\t%s\t%s\t%s\t%s\t%s"

list[j].vno,list[j].dname,list[j].pname,list[j].pno,list[j].no,list[j].date);

fclose(fp);

\n保存成功!

!

feof(fp);

j++)//读取文件

fscanf(fp,"

num=j+i;

if(num>

N)

\n结构体数组数的N太小,请先修改N的值\n"

\n车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如20110601)\n"

voiddele()

{

intj;

intf=-1;

FILE*fp1,*fp2;

chars1[20];

if((fp1=fopen("

r"

cannotopenfile\n"

feof(fp1);

fscanf(fp1,"

num=j;

fclose(fp1);

请输入要删除的处罚单的编号\n"

%s"

s1);

num;

if(strcmp(s1,list[j].no)==0)

f=j;

if(f<

num-1)

{

for(j=f;

num-1;

strcpy(list[j].vno,list[j+1].vno);

strcpy(list[j].dname,list[j+1].dname);

strcpy(list[j].pname,list[j+1].pname);

strcpy(list[j].pno,list[j+1].pno);

strcpy(list[j].no,list[j+1].no);

strcpy(list[j].date,list[j].date);

}

}

if((fp2=fopen("

文件打不开!

for(j=0;

j++)//保存文件

fprintf(fp2,"

}

fclose(fp2);

\n删除成功!

if(f<

0)

\n没有找到该学号的记录:

voidbrowse()

\n已添加%d条记录\n\n"

num);

车牌号驾驶员姓名交警姓名交警编号处罚单编号处罚日期\n"

j++)//输出

voidsearch()

\n请选择查询类型:

\n\t1-按车牌号2-按驾驶员姓名3:

按开单交警姓名4-返回主菜单\n"

\n请输入数字选择:

4)

vno_search();

case2:

dna_search();

case3:

pna_search();

case4:

menu();

voidvno_search()

\n请输入车牌号:

no);

\n罚单的信息为:

if(strcmp(no,list[j].vno)==0)

\n没有找到该班号的记录!

\npressentertoreturnsubmenu\n"

search();

voiddna_search()

charname[20];

\n请输入驾驶员的姓名:

name);

if(strcmp(name,list[j].dname)==0)

voidpna_search()

\n请输入开单交警的姓名:

if(strcmp(name,list[j].pname)==0)

voidcount()

//所有罚单单数

inttotal=0;

//某驾驶员的罚单数

chartime1[20];

chartime2[20];

\n请根据提示输入驾驶员的姓名和一个时间段,统计某个驾驶员在某段时间内的处罚单数目和罚单号\n"

\n\n请输入驾驶员的姓名:

\n请输入一个较早的时间:

time1);

\n请输入一个最近的时间:

time2);

if((strcmp(list[j].date,time1)>

=0)&

&

(strcmp(list[j].date,time2)<

=0))

total++;

\n罚单号:

%s\n"

list[j].no);

\n没有找到记录!

\n罚单总数为:

%d\n"

total);

五、运行结果(截图)

程序主界面:

信息录入:

信息录入后查看到的结果

【信息查询】

【查询结果】

【信息统计结果】

【选择信息删除模块后的结果】

六、课程设计过程问题讨论

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

当前位置:首页 > 医药卫生 > 药学

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

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