C语言程序设计之交通处罚单管理系统报告材料内含代码.docx

上传人:b****8 文档编号:9167199 上传时间:2023-05-17 格式:DOCX 页数:22 大小:709.73KB
下载 相关 举报
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第1页
第1页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第2页
第2页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第3页
第3页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第4页
第4页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第5页
第5页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第6页
第6页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第7页
第7页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第8页
第8页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第9页
第9页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第10页
第10页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第11页
第11页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第12页
第12页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第13页
第13页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第14页
第14页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第15页
第15页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第16页
第16页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第17页
第17页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第18页
第18页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第19页
第19页 / 共22页
C语言程序设计之交通处罚单管理系统报告材料内含代码.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计之交通处罚单管理系统报告材料内含代码.docx

《C语言程序设计之交通处罚单管理系统报告材料内含代码.docx》由会员分享,可在线阅读,更多相关《C语言程序设计之交通处罚单管理系统报告材料内含代码.docx(22页珍藏版)》请在冰点文库上搜索。

C语言程序设计之交通处罚单管理系统报告材料内含代码.docx

C语言程序设计之交通处罚单管理系统报告材料内含代码

 

C语言程序设计

 

姓名:

张强强

学号:

20121003695

班序号:

011121

 

前言:

C语言是近年来国内得到迅速推广使用的一种计算机语言。

C语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,无论是计算机专业还是非计算器专业的学生,学习好C语言是非常重要的。

一.交通处罚单管理

要求:

交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单的号码,处罚时间等信息。

功能:

(1) 要求可以输入,删除,浏览交通处罚单信息。

(2)可以按车辆,驾驶员和开单交警进行查询。

(3)统计某时间段某个驾驶员的交通处罚数目及交通处罚单号码。

(一)需求分析

交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入,输出,删除,浏览交通处罚单信息,因而要提供输入,删除和显示操作;要实现按车辆,驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。

(二)总体设计

整个管理系统被设计为信息输入模块,信息删除模块,信息浏览模块,信息查询模块和信息统计模块等。

如下图:

交通处罚单管理

信息输入

信息删除

信息浏览

信息查询

信息统计

按车辆查询

按驾驶员查询

按交警查询

(三)详细设计

1.主函数实现的是显示菜单以及函数调用,其中各功能模块用菜单方式选择。

程序:

intmain()

{

intn;/**变量n保存选择菜单数字**/

printf("\n\n")

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

printf("**\n");

printf("*1.输入2.删除*\n");

printf("**\n");

printf("*3.浏览4.查询*\n");

printf("**\n");

Printf("*5.统计6.退出*\n");

printf("**\n");

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

printf("请选择功能菜单:

[]\b\b");

scanf("%d",&n);

if(n<1||n>7)n=7;

switch(n)/***选择功能***/

{case1:

shuru();liulan();main();break;/***输入模块***/

case2:

shanchu();liulan();main();break;/***删除模块***/

case3:

liulan();main();break;/***浏览模块***/

case4:

chaxun();main();break;/***查询模块***/

case5:

tongji();main();break;/***统计模块***/

case6:

exit(0);break;/***退出***/

case7:

printf("error\n");

}

}

2.信息储存函数。

voidsave()

{FILE*fp;

inti;

if((fp=fopen("fadan.txt","w"))==NULL)

{printf("不能打开");return;}

for(i=0;i

if(fwrite(&TPB[i],sizeof(structtranficpunishbill),1,fp)!

=1)

printf("出错");

fclose(fp);

}

3.信息读取函数。

FILE*fp;

if((fp=fopen("fadan.txt","r"))==NULL)

{

printf("不能打开");

exit(0);

}

for(i=0;i

fscanf(fp,"%s%s%s%s%s",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);

fclose(fp);

4.信息从键盘输入函数。

voidshuru()

{

intj;

printf("请输入数据:

\n");

for(j=0;j

scanf("%s%s%s%s%s",TPB[j].cp,TPB[j].jz,TPB[j].kdjj,

TPB[j].cfd,TPB[j].cfsj);

save();

return0;

}

5.信息显示函数。

voidliulan()

{FILE*fp;

inti,j;

if((fp=fopen("fadan.txt","r+"))==NULL)

{

printf("不能打开");

exit(0);

}

system("cls");

printf("车牌号驾照号开单交警号处罚单号处罚时间\n");

for(i=0,j=0;i

{

fscanf(fp,"%s%s%s%s%s",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);

printf("%3.2s%10.2s%10.2s%12.2s%12.2s",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);

}

}

6.记录删除函数。

voidshanchu()

{FILE*fp;

inti,k,j=-1;

charm[10],d[10],f[10];

if((fp=fopen("fadan.txt","r"))==NULL)//打开文件

{

printf("不能打开");

exit(0);

}

for(i=0;i

fscanf(fp,"%s%s%s%s%s",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);

fclose(fp);//关闭文件

system("cls");

printf("删除模块:

");

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

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

printf("**\n");

printf("**\n");

printf("**\n");

printf("*1.车牌号2.驾照号3.开单交警号*\n");

printf("**\n");

printf("**\n");

printf("**\n");

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

printf("\n\n请输入删除选项:

");

scanf("%d",&k);

if(k==1)

{

printf("请输入车牌号:

");

scanf("%s",m);

for(i=0;i

if(strcmp(m,TPB[i].cp)==0)

j=i;

}

elseif(k==2)

{

printf("请输入驾照号:

");

scanf("%s",d);

for(i=0;i

if(strcmp(d,TPB[i].jz)==0)

j=i;

}

elseif(k==3)

{

printf("请输入开单交警号:

");

scanf("%s",f);

for(i=0;i

if(strcmp(f,TPB[i].kdjj)==0)

j=i;

}

if(j!

=-1)//在结构体中运算

{

for(i=j;i

=-1;i++)

TPB[i]=TPB[i+1];N=N-1;}

elseif(j==-1)

printf("不能打开");

if((fp=fopen("fadan.txt","w"))==NULL)/***打开文件***/

{

printf("不能打开");

exit(0);

}

for(i=0;i

fclose(fp);/***关闭文件***/

}

7.信息查询函数。

voidchaxun()

{inti,k,t=0;

charm[10],d[10],f[10];

FILE*fp;

if((fp=fopen("fadan.txt","r+"))==NULL)//打开文件

{

printf("不能打开");

exit(0);

}

for(i=0;i

{

fscanf(fp,"%s%s%s%s%s",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);}

fclose(fp);//关闭文件

system("cls");

printf("查询模块");

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

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

printf("**\n");

printf("**\n");

printf("**\n");

printf("*1.车牌号2.驾照号3.开单交警号*\n");

printf("**\n");

printf("**\n");

printf("**\n");

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

printf("\n\n请输入查询选项:

");

scanf("%d",&k);

//system("cls");

if(k==1)

{

printf("请输入车牌号:

");

scanf("%s",&m);system("cls");

for(i=0;i

{

if(strcmp(m,TPB[i].cp)==0)

{

printf("车牌号驾照号开单交警号处罚单号处罚时间\n");printf("%5s%10s%13s%11s%12s\n",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);t++;}

elseif(strcmp(d,TPB[i].jz)!

=0)printf("\n");

}

}

elseif(k==2)

{

printf("请输入驾照号:

");

scanf("%s",&d);system("cls");

for(i=0;i

{

if(strcmp(d,TPB[i].jz)==0)

{

printf("车牌号驾照号开单交警号处罚单号处罚时间\n");printf("%5s%10s%13s%11s%12s\n",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);t++;}

elseif(strcmp(d,TPB[i].jz)!

=0)printf("\n");

}

}

elseif(k==3)

{

printf("请输入开单交警号:

");

scanf("%s",&f);system("cls");

for(i=0;i

{

if(strcmp(f,TPB[i].kdjj)==0)

{

printf("车牌号驾照号开单交警号处罚单号处罚时间\n");printf("%5s%10s%13s%11s%12s\n",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);t++;}

elseif(strcmp(f,TPB[i].kdjj)!

=0)printf("\n");

}

}

}

8.信息统计函数。

此函数实现的功能为查询一段时间内某司机违章次数以及罚单号。

voidtongji()

{inti,k,t=0;

charm[10],d[10],f[10];

FILE*fp;

if((fp=fopen("fadan.txt","r+"))==NULL)//打开文件

{

printf("不能打开");

exit(0);

}

for(i=0;i

{

fscanf(fp,"%s%s%s%s%s",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);}

fclose(fp);//关闭文件

system("cls");

printf("统计模块");

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

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

printf("**\n");

printf("**\n");

printf("**\n");

printf("*1.车牌号2.驾照号3.开单交警号*\n");

printf("**\n");

printf("**\n");

printf("**\n");

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

printf("\n\n请输入统计选项:

");

scanf("%d",&k);

//system("cls");

if(k==1)

{

printf("请输入车牌号:

");

scanf("%s",&m);system("cls");

for(i=0;i

{if(strcmp(m,TPB[i].cp)==0)

{printf("车牌号驾照号开单交警号处罚单号处罚时间\n");printf("%5s%10s%13s%11s%12s\n",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);t++;

}elseif(strcmp(d,TPB[i].jz)!

=0)printf("\n");

}printf("\n**********************总罚单数=%d********************\n",t);

}

elseif(k==2)

{

printf("请输入驾照号:

");

scanf("%s",&d);system("cls");

for(i=0;i

{if(strcmp(d,TPB[i].jz)==0)

{printf("车牌号驾照号开单交警号处罚单号处罚时间\n");

printf("%5s%10s%13s%11s%12s\n",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);

t++;

}elseif(strcmp(f,TPB[i].kdjj)!

=0)printf("\n");

}printf("\n**********************总罚单数=%d********************\n",t);

}

elseif(k==3)

{

printf("请输入开单交警号:

");

scanf("%s",&f);system("cls");

for(i=0;i

{if(strcmp(f,TPB[i].kdjj)==0)

{printf("车牌号驾照号开单交警号处罚单号处罚时间\n");

printf("%5s%10s%13s%11s%12s\n",TPB[i].cp,TPB[i].jz,TPB[i].kdjj,TPB[i].cfd,TPB[i].cfsj);

t++;

}elseif(strcmp(f,TPB[i].kdjj)!

=0)printf("\n");

}printf("\n**********************总罚单数=%d********************\n",t);

}

}

(四)上机操作

主菜单界面:

从键盘输入数据:

显示所有信息:

 

删除指定的记录:

 

删除后

 

查询

按车牌号查询:

 

查询结果:

 

按驾照号查询:

 

查询结果:

按开单交警号查询:

 

查询结果:

 

统计一段时间内某辆车违章次数以及罚单号:

 

 

统计结果:

 

总结:

通过C语言程序设计的上机实习,我进一步了解和运用结构化程序设计的思维方法。

C语言二级考试已在眼前了,而这次C语言实习顺利结束真正意义上为C语言二级考试打好了基础。

而且这次实习真正意义上将所学知识运用到了实际中。

在这次实习中,我也学到了动态调试等一些新知识,并且发现任何一处看似不起眼的微小错误很可能导致程序无法运行或是运行结果错误。

我在这次实习中最大的收获就是学会了分析和排除错误,而这恰恰是从书本上学不到的。

想要进一步提高C语言程序设计的水平,还需要不断的努力。

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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