




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言设计实习报告 勘查技术与工程(基础工程方向) 姓名: 李勇峰 班号: 054081 学号: 20081004133 题目:交通处罚单管理系统 指导教师: 王老师 时间: 2009-2010学年秋 一,题目要求【要求】:交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单的号码,处罚时间等信息。【功能】:(1) 要求可以输入,删除,浏览交通处罚单信息。 (2)可以按车辆,驾驶员和开单交警查询。(3)统计某时间段某个驾驶员的交通处罚数目及交通处罚单号码。 【提示】(1)需求分析:交通处罚单信息用文件存储,提供文件的输输出操作;要求可以输入,输出,删除,浏览交通处罚单信息,因而要提供输入,删除和显示操作;要实现按车辆,驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。 (2)总体设计: 整个管理系统被设计为信息输入模块,信息删除模块,信息浏览模块,信息查询模块,信息统计模块。交通处罚单管理系统 统计输入查找删除退出二,详细设计: 1,处罚单管理系统界面函数 此函数包括的功能是建立新的罚单,按司机姓名查询罚单并浏览相关信息,按交警姓名查询罚单并浏览相关信息,按罚单号查询罚单并浏览相关信息,删除罚单,数据统计和退出处罚单管理系统。void Menu() printf( ); printf( 欢迎来到交通处罚单管理系统! n );printf(*n);; printf( 1. 建立新的罚单 n ); printf( 2. 根据司机姓名查找并浏览相关信息 n ); printf( 3. 根据交通警察姓名查找并浏览相关信息 n ); printf( 4. 根据车牌号码查询并浏览相关信息 n ); printf( 5. 删除处罚单 n ); printf( 6. 数据统计 n ); printf( 0. 退出 n ); printf( *n );2,各功能模块设计(1)创建新的交通处罚单处罚单包含的内容有处罚单号,车牌号,司机姓名,交警姓名,和处罚日期,因此相应的函数也应包含这些内容,在这个函数所控制的操作会依次提示输入以上内容。特别的,罚单号不能有重复,若输入的罚单号有重复,操作界面会提示罚单好重复,请重新输入。创建新的罚单处罚日期交警姓名罚单号车牌号司机姓名PTPR CreatTPR( PTPR pHead ) PTP R pTemp = InitNode();Int iYear, iMon, iDay;printf( 请输入相关信息:n );printf( 处罚单号: );flushall();scanf( %s, pTemp-m_sRecnum );if( SearchNode_1( pHead, pTemp-m_sRecnum ) )printf( 处罚单有重复,请重新输入 );free( pTemp );return pHead;printf( 车牌号码: );flushall();scanf( %s, pTemp-m_sCarid );printf( 司机姓名: );flushall();scanf( %s, pTemp-m_sDriname );printf( 交通警察姓名: );flushall();scanf( %s, pTemp-m_sTPName );printf( 处罚日期: );flushall();scanf( %d %d %d, &iYear, &iMon, &iDay );InitDate( &pTemp-m_CDate, iYear, iMon, iDay );return InsertNode( pHead, pTemp );(2)按司机姓名查询罚单:先输入命令2,再输入待查找司机姓名.在这里函数会在记录在案的处罚单进行循环查找,如果有该司机的罚单记录,就会相应显示在屏幕上。如果没有该司机的处罚记录,就会打印:没有相关信息。其中If(!(i/4) i=0;continue;这一句的作用是因为有时若因为某哪位司机的处罚记录过多以至于屏幕无法在一夜里全部显示时,多的就打印到下页.void SearchByDriName( PTPR pHead )Char name10;Int i = 1, check = 0;if( pHead )printf( 请输入要查询的司机的姓名: );flushall();scanf( %s, name );while( pHead )pHead = SearchNode_2( pHead, name );if( pHead )check+;ShowNode( pHead );printf(n);i+;pHead = pHead-m_pNext;if( !( i % 4 ) ) i = 0;CONTINUE;if( !check ) printf( 没有相关信息!n );Else printf( 目前还没有该处罚单! ); (3)按交警姓名查询罚单:先输入命令3,再输入待查找交警姓名.在这里函数会在记录在案的处罚单进行循环查找,如果有该交警所开的的罚单记录,就会相应显示在屏幕上。如果没有该交警开的处罚记录,就会打印:没有相关信息。其中If(!(i/4) i=0;continue;此句的作用同(2)void SearchByPocName( PTPR pHead )Char name10;Int i = 1, check = 0;if( pHead ) printf( 请输入处罚交警的姓名: );flushall();scanf( %s, name );while( pHead ) pHead = SearchNode_3( pHead, name );if( pHead ) check+;ShowNode( pHead );printf(n);i+;pHead = pHead-m_pNext;if( !( i % 4 ) ) i = 0; CONTINUE;if( !check ) printf( 没有相关信息!n );Else printf( 目前还没有该处罚单! ); (4)按车牌号查询罚单:先输入命令4,再输入待查找车牌号码.在这里函数也会对记录在案的处罚单进行循环查找,如果有该车牌号记录,就会相应显示在屏幕上。如果没有该车牌号的处罚信息,就会打印:没有相关信息。If(!(i/4) i=0;continue;此句的作用同(2)void SearchByCarId( PTPR pHead )char name10;Int i = 1, check = 0;if( pHead ) printf( 请输入要查询的车牌号码: );flushall();scanf( %s, name );while( pHead ) pHead = SearchNode_4( pHead, name );if( pHead ) check+;ShowNode( pHead );printf(n);i+;pHead = pHead-m_pNext;if( !( i % 4 ) ) i = 0;CONTINUE;if( !check ) printf( 没有相关信息!n ); Else printf( 目前还没有该处罚单! );(5)删除罚单操作者先输入删除命令5,在按操作要求输入要删除的处罚单号码,系统浏览处罚单,找到相关信息后,在删除这张处罚信息,再把这个信息的尾地址结到下一个信息的头地址上从而达到删除此信息的作用.PTPR DeleteTPR( PTPR pHead ) char num11;PTPR pTemp, pT;if( pHead ) printf( 请输入要查询的处罚单号: );flushall(); scanf( %s, num );pTemp = SearchNode_1( pHead, num );if( pTemp ) if( pTemp = pHead ) pHead = pHead-m_pNext; else if( !pTemp-m_pNext ) pT = SearchNode_1_rf( pHead, num ); pT-m_pNext = NULL;Else pT = SearchNode_1_rf( pHead, num );pT-m_pNext = pTemp-m_pNext;free( pTemp );printf( 删除成功!n );Else printf( 输入的号码不存在!n ); Else printf( 目前还没有该处罚单! );return pHead;(6)统计此操作会首先提示操作者输入查询的起始时间和结束时间.判断.如是第一个时间大于第二个时间,相应会提示“输入错误”,若输入正确,会提示继续输入待查司机姓名.给i赋初值0.每循环查找到一个记录就给i的值加1.最后在显示屏上显示出i的值.如果查找此段时间内没有该司机罚单信息,则打印“目前还没有该处罚单。void StatisticsTPR( PTPR pHead ) Dated1, d2;charname10;intindex = 0, i = 0; if( pHead ) printf( 请输入起始时间: );flushall();scanf( %d %d %d, &d1.m_iYear, &d1.m_iMonth, &d1.m_iDay );printf( 请输入结束时间: );flushall();scanf( %d %d %d, &d2.m_iYear, &d2.m_iMonth, &d2.m_iDay );if( ComDate( &d1, &d2 ) 0 ) printf( 输入错误!n ); else printf( 输入司机姓名: );flushall();scanf( %s, name );while( pHead ) pHead = SearchNode_2( pHead, name );if( pHead ) if( ComDate( &pHead-m_CDate, &d1 ) 0 & ComDate( &pHead-m_CDate, &d2 ) m_sRecnum );pHead = pHead-m_pNext;if( !( index % 30 ) ) index = 0; CONTINUE;printf( 一共有 %d 条记录n, i );Else printf( 目前还没有该处罚单! ); (7)退出模块: 在这个模块里,输入命令0后,若程序发现文件里有处罚信息,会相应的保存该信息,然后退出程序,若没有信息,则会提示“不能打开文件!”,然后退出程序。void ExitTPRSystem( PTPR pHead ) FILE*out;inti;printf( 保存数据.n );if( ( out = fopen( a.txt, at ) ) = NULL ) printf( 不能打开文件! ); CONTINUE; Else while( pHead ) for( i = 0; i m_sRecnum ); i+ )fputc( pHead-m_sRecnumi, out ); fputc( n, out );for( i = 0; i m_sDriname ); i+ ) fputc( pHead-m_sDrinamei, out ); fputc( n, out );for( i = 0; i m_sCarid ); i+ ) fputc( pHead-m_sCaridi, out ); fputc( n, out );for( i = 0; i m_sTPName ); i+ ) fputc( pHead-m_sTPNamei, out ); fputc( n, out );fputc( pHead-m_CDate.m_iYear, out );fputc( , out );fputc( pHead-m_CDate.m_iMonth, out );fputc( , out );fputc( pHead-m_CDate.m_iDay, out );fputc( n, out );fputc( n, out );pHead = pHead-m_pNext; fclose( out ); DestoryTPR( pHead );printf( 保存成功!n );三,上机操作:1,数据源(1)处罚单号01 车牌号码2001 司机姓名li 警察姓名wang 处罚日期20090901(2)处罚单号02 车牌号码2002 司机姓名zhang 警察姓名li 处罚日期20090902(3)处罚单号03 车牌号码2003 司机姓名ma 警察姓名li 处罚日期20090903(4)处罚单号04 车牌号码2004 司机姓名song 警察姓名chen 处罚日期20090904(5)处罚单号05车牌号码2005 司机姓名chen 警察姓名ren 处罚日期20090905 2, 运行结果 (1)主菜单函数 (2)输入处罚信息 (3)按司机姓名查找并浏览相关处罚信息模块 (4)按交通警察姓名查找并浏览相关信息模块 (5)按车牌号码查询并浏览相关信息模块 (6)删除处罚单模块 (7)数据统计模块 四,C程序实习总结 通过这7天的上机实习,编写运行并运行C程序,让我对C语言又有了进一步的认识并巩固了以前所学,在编写C程序的过程中,得到了老师和同学耐心的指导和帮助,很多问题都是在老师和同学的帮助下我才能够解决的,没有你们的帮助我部可能顺利的完成此次编程.以前对C的概念比较模糊,但是在这次实习中我发现了C在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考专练:书面表达-(含答案)
- 农业大数据时代2025年农产品无损检测技术与物联网的融合报告
- 两江投资面试题库及答案
- 理财会计面试题及答案
- 兰州护士面试题目及答案
- 农业产业强镇建设资金申请项目产业链优化与整合报告
- 库房会计面试题目及答案
- 康宁会计面试题目及答案
- 电子合同签署流程
- 美术馆展览策划活动规划策略总结计划制定
- DZ/T 0263-2014地面核磁共振法找水技术规程
- 2024年四川宏达集团招聘笔试真题
- T/QX 006-2023工业设备水射流清洗质量验收规范
- 水产养殖项目可行性研究报告水产养殖立项报告
- 电信局实习协议书
- 新人教版四年级数学上册第九单元《总复习》核心素养教案
- 电梯维保服务评价与改进措施
- 施工质量标准化手册之桥涵工程
- 医院培训课件:《环境卫生学监测的方法》
- 2025年巷道掘砌工(技师)职业技能鉴定理论考试题库(含答案)
- 小学五爱教育
评论
0/150
提交评论