c语言交通处罚单管理程序试验报告和源代码_第1页
c语言交通处罚单管理程序试验报告和源代码_第2页
c语言交通处罚单管理程序试验报告和源代码_第3页
c语言交通处罚单管理程序试验报告和源代码_第4页
c语言交通处罚单管理程序试验报告和源代码_第5页
已阅读5页,还剩30页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计 课程设计材料 学生姓名:朱明杰学号:031410627系(院): 自动化学院 设计题目: 完成日期: 交通处罚单管理系统 2015年5月 课程设计目的3 课程设计内容3 总体设计 3 详细设计 4 运行结果 8 程序调试 10 可编辑范木 11 编程体会 一、课程设计目的 1. 通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合 理的模块化结构。 2. 通过课程设计,进一步掌握C有并重要的数据结构。掌握并熟练运用指针、链表、结构 体、文件等数据结构。 3. 通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。 4. 通过课程设计,培养

2、C语言知识运用和自学能力,真正的把课堂上获得的知识运用起 来,培养自己对程序编写的兴趣,并能独立设计和实现一个中小型系统。 5通过课程设计,加强了自己的程序分析能力。 6.通过课程设计,完成了交通处罚单管理系统,很多功能还待完善。 课程设计内容 用C语言编写软件完成以下任务: 1交通处罚单基本信息输入(数据包括处罚单号码,车牌号码,姓名,开单警察的信息ID,处 罚时间等),信息保存在data.txt文件中, 2交通处罚单基本信息浏览。将文件内所有的交通处罚单信息全部输出展现出来。 3交通处罚单基本信息查询。可以查询特定的交通处罚单信息。 4交通处罚单基本信息统计。 可以查询某一个时间段的所有的

3、交通处罚单信息。 5交通处罚单基本信息删除。 删除不需要的交通处罚单信息。 a、 总体设计 本系统的功能模块如图1所示,主要有以下模块: (1)交通处罚单基本信息输入:构造函数int input ();对产生新的交通处罚单的信息进行输 入。 (2)交通处罚单基本信息输出:构造函数void display (),全部输出已被录入交通处罚单的 所有信息。 可编辑范木 3) 4) 5) 交通处罚单基本信息删 除:姓名的记录C 交通处罚单基本信息排 排序。 交通处罚单基本信息查 士 沐 单是否存在,若存在, 信息保存到文件。 构造函数int delete。,经确认后调用delete函数删除 该 构造函

4、数void sort。,对文件中所有的交通处罚单进行 构造函数intquery(),通过输入书 判断此交通处罚 立 则删除该交通处罚单所有信然后再把剩下的交通处罚单 系统功能模块图 交通处罚单管理系统 信息信息信息信息信息 输入查找 浏览删除统计 图_ 四、详细设计 结构体定义如下:#define N 500 struct chufadan ( int num; int chepai; /* 处罚 单号码 */ char name10; int /* 车 牌号码 */ id;/*驾驶员名字*/ int year; int month; /* 开单警察的信息 ID*/ 可编辑范木 int day

5、; chufadan /*处罚时间为年月 日排列*/ /*dan500中每个数组元素对应一个处罚单信息*/ )信息输入函 图2信息录入功能流程图 可编辑范木 三)信息删除函 数: 图3信息删除功能流程 图 可编辑范木 三)信息查询函数: 按牛牌V; 结束 打开文件查询处罚单信息 选择查询处罚单方法 按驾驶员姓名 图4信息查询功能流程图 四)统计功能函数: 输入驾驶员名字与时间段 按文件每一个信息与输 入条件对比 可编辑范木 五)浏览功能函数: 打开文件 五、运行结果 主菜单界面 图5信息统计功能流程图 开始 逐条输出交通处罚单佶 图6信息浏览功能流程图 自智心 兰筐 第计 单单单据 書曇瓠 7

6、 罚 的?E 嬰交交处 可编辑范木 输入建立模块 查询模块 可编辑范木 浏览模块 图10 统计模块 图11 删除模块 图2 六、程序调试 自从把整体的c语言处罚单管理系统编成以后,就开始进行调试。调试的过程中不知道修 改了多少次源代码,为了能让交通处罚单管理系统在输入任何代码的情况下都能正常使用,不会 出错,反复的修改,看书,查资料,询问同学调试之后,终于运行成功。主要克服了以下问题: (1) 怎么样把交通处罚单数据输入文件中。 (2) 通过主函数把其他的函数连接起来,形成一个完整的有序的程序。 可编辑范木 (3)难度最大的是统计模块,算法十分复杂。 七、编程体会 老师布置完程序设计任务的第二

7、天,我就开始寻找题目准备入手,见到交通处罚单管理系 统这个课题以后,我对此很感兴趣。于是,当天下午开始做准备工作,重新把C语言复习一遍, 开始编程。起初是挺困难的,偌大的一个程序,我之前从未编过,无从下手,然后,我通过查 资料,了解其大概模型,首先是把管理系统所含有的功能各自分成几个模块,建立一个主函 数,把主函数和其他数个函数连接起来。我想好了做输入、查询、浏览、删除、统计这五个功 能,先把主函数完成,另外设计一个主界面。一开始真的困难重重,虽然C语言 复习过了,但是看书看懂了和真正的运用学到的知识写程序是完全不同的,不断的对照例题,不 断的尝试与修改。当我把所有的功能完成以后,已经花了将近

8、五天的时间,结果,编程程序检 查我的源代码时候,有超过一百个错误。我顿时绝望了。我自己做的程序,我很想把它做好, 我一个一个的检查,发现原来是我的结构体没有设置好,导致系统无法识别后面的源代码。对 照书本上结构体例题把结构体给完成,剩下的便是一些小毛病。陆陆续续的修改了几天,最后 一刻,发现程序能够运行了,我心情顿时兴奋澎湃了! 源代码 #includevstdio.h #include #includevctype.h #includevstringh #define NUM 150 typedef struct 8); return c0; int InputfTraffic trafli

9、st,int n) ( int ij; for(i=0;i+) return(n+l; void Display (Traffic traflist,int n) int i,num=0; getcharO; printf(”司机姓名车牌号交警姓名罚单编号罚单的年罚单的 月罚单的日n”); for(i=0;in;i+) num+; printf(u%8s%8d%8s%8d%8d%8d%8dn,traflisti.driver/traflisti.car/trafli st i .police,traflisti .num,traflist i .year,traflisti .month,tr

10、aflist i.date; if(num%10=0) 可编辑范木 system(npause; system(ucls; int Delete(Traffic traflist,int n,char *name) int ij; for(i=0;in;i+) if(strcmp(traflisti.driver/name)=O) printf(确定要删除吗?1删除,否则放弃); scanf(”cT: strcpy(traflisti.driver,traflisti+l.driver; strcpy(traflistipolice,traflisti+l .police); traflist

11、i.car=traflisti+l.car; traflisti.car=traflisti+l.num; traflist i .year=traflist i+1 .year; traflisti.month=traflisti+l.month; tr afli st i .date=tr afli st i+1 .date; n-=l; printff删除成功!”); 可编辑范木 break; printfC放弃操作!); return n; int Delete_a_record(Traffic traflist,int n) char name20; printff请输入要删除的名字

12、:nn); scanf(M%sn,name); n=Delete(traflist/n,name); return n; void Sort_by_Name(Traffic traflistJnt n) int ijt; Traffic sp; for(i=0;in;i+) t=i; for(j=i+l;jO) t=j; if(t!二 i) strcpy(sp.driver,traflistt .driver); strcpy(sp.police,traflistt.police; sp.car=traflistt.car; sp.num=traflistt.num; sp.year=traf

13、listt .year; sp.month=traflistt .month; sp.date=traflistt .date; strcpy(traflistt .driver,traflisti .driver); strcpy(traflistt.police/traflisti.police); traflistt .car=traflisti .car; traflistt .num=traflisti .num; traflistt .year=traflist i .year; traflistt .month=traflisti.month; traflistt.date=tr

14、aflisti.date; strcpyftraflistf.driversp.driver); strcpy(traflisti.police,sp.police); traflisti.car=sp.car; traflisti.num=sp.num; 可编辑范木 traflisti.year=sp.year; traflisti.month=sp.month; tr afli s t i . date=s p. date; int Insert(Traffic trafListJnt n,Traffic *s2) trafListn=*s2; n+=l; Sort_by_Name(tra

15、fList,n; return n; int Insert_a_record(Traffic trafList,int n) Traffic s2二OOOQOQO; printf(“请输入你想要插入的司机姓名: scanf(%s,s2.driver; printff请输入车号:,J; scanf(n%dr 可编辑范木 printf(”请输入开罚单的交警姓名 scanf(u%s,s2.police); printff请输入罚单编号门; scanf(u%d, printf(请输入开罚单的年门; scanf(%d, printf(请输入开罚单的月门; scanf(%d, printf(请输入开罚单的

16、日门; scanf(%d, n=Insert(trafList,n/ printf(nsuccess!n; return n; int Query(Traffic traflist,int n,char *name) int i; for(i=0;in;i+) if(strcmp(traflisti.driver,name)=O) return i; 可编辑范木 return (-1); void Query_a_record(Traffic traflist,int n) int i; char name20; printf(请输入带查找人得姓名:nJ; scanf(%s,name; i=Q

17、uery(traflist/n/name); printf(没有找到!); else printff查找成功!该司机的罚单信息如下:n”); printf(”司机姓名车牌号交警姓名罚单编号罚单的年罚 单的月罚单的日n); printf(%st %dt traflistti.drive r,traflisti.car); printf(M%st %dt M,traflisti.police,traflisti.num); printf(%dt %dt %dnM,traflisti.year,traflisti.month,traflist i.date); 可编辑范木 int AddfromTe

18、xtfTraffic traflistjnt n,char * filename) FILE *fp; Traffic spNUM; int ij; printff请输入文件名!); scanf(,r%su,filename; if(fp二fopen(filename,F)二二NULL) printff文件打开失败!nJ; exit ; fscanf(fp,”cT: for(i 二 0;ivj;i+) fscanf(fpsf: fscanf(fpdt: fscanf (fp/l%st, fscanf(fp/%dtn, fscanf(fp/,%dtn, fscanf(fp,”df: fscanf(fp/%dn, f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论