- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C语言课程设计报告
题目:交通处罚单管理程序
学号021410219
姓名李林
指导教师张定会
完成日期2015.5.8
一、功能介绍
用结构体数组结构实现简单的交通处罚单管理功能,要求具有以下功能:
(1)可以输入,删除,显示,修改某个驾驶员的交通处罚信息;
(2)可以按驾驶员查询交通处罚单。
程序执行过程为:循环显示主菜单,用户在Giveyouchoice:处输入选项,即按照功能列表输入0~8中的任意一个数字。按回车后,执行相应功能。
各项菜单功能:
(1)InputRecord(输入若干条记录)
从键盘上一次输入一张交通处罚单的信息(一条记录),依次存放到结构体数组里。插入一条记录后,显示提示信息:确认是否输入下一条记录,如确认,继续输入,否则,退出输入功能。
(2)DisplayAllRecord(显示所有记录)
按顺序显示数组中所有记录,每屏显示10条记录。每显示10条,按Enter键继续显示下一屏。
(3)Deletearecord(按姓名查找,删除一条记录)
输入待删除记录的姓名,显示提示信息,让用户再次确认是否要删除。确认后,将该姓名的记录删除。
(4)Sort(排序)
以姓名为序升序排列数组。
(5)InsertaRecord(插入一条记录)
在以姓名为序排列数组中插入一条记录,插入后,数组仍然有序。输出插入成功信息。
(6)Query(查找并显示一个记录)
输入驾驶员姓名,查找包含该驾驶员名字的记录,并显示该驾驶员的所有罚单信息。。
(7)AddRecordsfromaTextFile(从正文文件添加数据到结构体数组中)
用户可提前建立一个正文文件data.txt,存放多个带加入的记录。提示输入正文的文件名,然后从该文件中一次性加入多条处罚单记录。文件data.txt格式如下:
2//表示带添加的记录数//
WangXiao95DingFei0000012013123
LiuLin87CaiMing0000022013124
(8)WritetoaTextFile
将数组中的全部记录写入文件records.txt,要求文件格式和data.txt相同。
(0)Quit(退出交通处罚单管理程序)
二、主要问题及解决方法
在写程序中遇到的问题是:
开始时无法正确完成“确认后再继续”的问题再后来写附加程序对数组自动扩充有些疑惑。面对遇到的问题查阅资料和书籍,一步步的调试,解决了很多问题。对不熟悉的函数不断摸索,试用直到熟练运用,有些语句想不出来就借助流程图去构造。对程序的优化,熟练运用语句,能力的提高让我解决了不少困难
心得体会:
完成之后程序运行时会出现数组输出不正确的现象,不得不对每个函数进行单步调试,解决了很多问题之后,发现编程有时候会犯一些很低级的错误,要认真检查,不遗漏一处语句。有时绞尽脑汁想出一堆语句,其实一两句就能完成。程序优化真的很重要,仍需不断探索前行。
三、算法实现
menu_select()
menu_select()
InputRecor
InputRecord
Displayallrecord
Displayallrecord
DeletearecordDeletearecord
Deletearecord
Deletearecord
Sort
Sort
main()
main()
Sort
Sort
InsertarecordInsertarecord
Insertarecord
Insertarecord
QueryQueryarecord
Query
Queryarecord
InsertarecordAddfromtext
Insertarecord
Addfromtext
WritetoText
WritetoText
Quit
Quit
四、源程序及注释
#includestdio.h
#includestdlib.h
#includectype.h
#includestring.h
typedefstruct//定义一个结构体类型structTraffic//
{
chardriver[10];//司机姓名//
intcar;//驾驶的车牌号//
charpolice[10];//开罚单的交警姓名//
文档评论(0)