交通处罚单管理系统李勇峰_第1页
交通处罚单管理系统李勇峰_第2页
交通处罚单管理系统李勇峰_第3页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言设计实习报告勘查技术与工程(基础工程方向):勇峰班号: 054081学号: 题目:交通处罚单管理系统指导教师:王老师时间:2009-2010 学年秋,题目要求【要求】:交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单的,处罚时间等信息。【功能】:(1)要求可以输入,删除,浏览交通处罚单信息。(2) 可以按车辆,驾驶员和开单交警查询。(3) 统计某时间段某个驾驶员的交通处罚数目及交通处罚单。【提示】(1)需求分析:交通处罚单信息用文件存储 ,提供文件的输 输出操作;要求可以输入,输出,删除,浏览交 通处罚单信息,因而要提供输入,删除和显示 操作;要实现按车辆,驾驶员和开单交警查

2、询 则要提供查找操作;另外提供统计操作和键 盘式选择菜单以实现功能选择。(2) 总体设计:整个管理系统被设计为信息输入模块,信息删 除模块,信息浏览模块,信息查询模块,信息 统计模块。1,处罚单管理系统界面函数此函数包括的功能是建立新的罚单,按司机查询 罚单并浏览相关信息,按交警查询罚单并浏览相关信 息,按罚单号查询罚单并浏览相关信息 ,删除罚单,数 据统计和退出处罚单管理系统。void Menu()printf(");printf("欢迎来到交通处罚单管理系统!n");printf('*n"printf(II1. 建立新的罚单n");

3、printf(" 2.根据司机查找并浏览相关信息n");printf("3.根据父通警察查找并浏览相关信息n");printf("4.根据车牌查询并浏览相关信息n");printf(II5删除处罚单n");printf(II6. 数据统计n");printf(II0. 退出n");printf(H*n");2,各功能模块设计(1) 创建新的交通处罚单处罚单包含的容有处罚单号,车牌号,司机,交警, 和处罚日期,因此相应的函数也应包含这些容,在这个 函数所控制的操作会依次提示输入以上容。特别的,罚

4、单号不能有重复,若输入的罚单号有重复,操作界面会 提示罚单好重复,请重新输入。 PTP R pTemp = In itNode();Int iYear, iMo n, iDay;printf("请输入相关信息:n");printf("处罚单号:");flushall();sea nf( "%s", pTemp->m_sRec num );if( SearchNode_1( pHead, pTemp->m_sRecnum )printf(" 处罚单有重复,请重新输入");free( pTemp );ret

5、ur n pHead;prin tf("车牌:");flushall();sea nf( "%s", pTemp->m_sCarid );prin tf("司机:");flushall();sea nf( "%s", pTemp->m_sDri name );printf("交通警察:");flushall();sea nf( "%s", pTemp->m_sTPName );flushall();seanf( "%d %d %d", &

6、amp;iYear, &iMon, &iDay);In itDate( & pTemp->m_CDate, iYear, iMo n, iDay );retur n In sertNode( pHead, pTemp );(2) 按司机查询罚单:先输入命令2,再输入待查找司机.在这里函数会在 记录在案的处罚单进行循环查找,如果有该司机的罚单记 录,就会相应显示在屏幕上。如果没有该司机的处罚记录, 就会打印:没有相关信息。其中lf(!(i/4)i=0;c on ti nu e;这一句的作用是因为有时若因为某哪位司机的处罚记录 过多以至于屏幕无法在一夜里全部显示时,多

7、的就打印到下页.void SearchByDriName( PTPR pHead )Char n ame10;Int i = 1, check = 0;if( pHead )flushall();sca nf( "%s", n ame );while( pHead )pHead = SearchNode_2( pHead, n ame );if( pHead )check+;ShowNode( pHead );prin tf("n");i+;pHead = pHead->m_pNext;if( !( i % 4 ) ) i = 0;CONTINUE

8、;if( !check ) printf("没有相关信息!n" );Else printf(”目前还没有该处罚单!" ); (3) 按交警查询罚单:先输入命令3,再输入待查找交警.在这里函数会在记 录在案的处罚单进行循环查找,如果有该交警所开的的罚 单记录,就会相应显示在屏幕上。如果没有该交警开的处 罚记录,就会打印:没有相关信息。其中If(!(i/4) i=0;co nti nue;此句的作用同(2)void SearchByPocName( PTPR pHead )Char name10;Int i = 1, check = 0;if( pHead ) pri

9、ntf("请输入处罚交警的:");flushall();sca nf( "%s", n ame );while( pHead ) pHead = SearchNode_3( pHead, n ame );if( pHead ) check+;ShowNode( pHead );prin tf("n");i+;pHead = pHead->m_pNext;if( !( i % 4 ) ) i = 0; CONTINUE;if( !check ) printf("没有相关信息!n" );(4) 按车牌号查询罚单:

10、先输入命令4,再输入待查找车牌.在这里函数也会对 记录在案的处罚单进行循环查找,如果有该车牌号记录, 就会相应显示在屏幕上。如果没有该车牌号的处罚信息, 就会打印:没有相关信息。lf(!(i/4) i=0;continue;此句的作用同(2)void SearchByCarld( PTPR pHead )char n ame10;Int i = 1, check = 0;if( pHead ) printf("请输入要查询的车牌:");flushall();sea nf( "%s", n ame );while( pHead ) pHead = Sear

11、chNode_4( pHead, n ame );if( pHead ) check+;ShowNode( pHead );prin tf("n");i+;pHead = pHead->m_pNext;if( !( i % 4 ) ) i = 0;CONTINUE;if( !check ) printf("没有相关信息!n" ); Else printf(”目前还没有该处罚单!" );(5) 删除罚单操作者先输入删除命令5,在按操作要求输入要删除的处罚单,系统浏览处罚单,找到相关信息后,在删除这 处罚信息,再把这个信息的尾地址结到下一个信

12、息的头地 址上从而达到删除此信息的作用.PTPR DeleteTPR( PTPR pHead ) char num11;PTPR pTemp, pT;if( pHead ) printf("请输入要查询的处罚单号:");flushall();sca nf( "%s", num );pTemp = SearchNode_1( pHead, num );if( pTemp ) if( pTemp= pHead ) pHead = pHead->m_pNext;else if( !pTemp->m_pNext ) pT = SearchNode_1

13、_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(”目前还没有该处罚单!" );retur n pHead;统计此操作会首先提示操作者输入查询的起始时间和结束时 间.判断.如是第一个时间大于第二个时间,相应会提示“输入错误”,若

14、输入正确,会提示继续输入待查司机.给 i赋初值0.每循环查找到一个记录就给i的值加1.最后 在显示屏上显示出i的值.如果查找此段时间没有该司机 罚单信息,则打印“目前还没有该处罚单。void StatisticsTPR( PTPR pHead ) Date d1, d2;charn ame10;i ntindex = 0, i = 0;if( pHead ) printf("请输入起始时间:");flushall();scanf("%d %d %d",&d1.m_iYear, &d1.mMonth,& d1.m_iDay );pr

15、intf("请输入结束时间:");flushall();scanf("%d %d %d",&d2.m_iYear, &d2.mMonth,& d2.m_iDay );if( ComDate( &d1, &d2 ) > 0 ) printf( "输入错误!n" ); elseprintf("输入司机:");flushall();scanf("%s",n ame );while( pHead ) pHead = SearchNode_2( pHead,

16、n ame );if( pHead ) if( ComDate( & pHead->m_CDate, &d1 ) >0 &&ComDate( &pHead->m_CDate&d2 )< 0 ) i+; in dex+;printf("%sn",pHead->m_sRec num );pHead = pHead->m_pNext;if(!( index % 30 ) in dex = 0; CONTINUE;printf(”一共有 %d 条记录 n", i );Else printf

17、(”目前还没有该处罚单!" ); 退出模块:在这个模块里,输入命令0后,若程序发现文件里有处罚信息,会相应的保存该信息,然后退出程序,若没有信息,则会提示“不能打开文件!”,然后退出程序。void ExitTPRSystem( PTPR pHead ) FILE* out; int i;printf("保存数据.n");if( ( out = fopen( "a.txt", "at") ) = NULL ) printf("不能打开文件!" ); CONTINUE; Else while( pHead )

18、 for( i = 0; i < strlen( pHead->m_sRecnum ); i+ )fputc( pHead->m_sRec nu mi, out ); fputc( 'n', out );for( i = 0; i < strlen( pHead->m_sDriname ); i+ ) fputc( pHead->m_sDri namei, out ); fputc( 'n', out );for( i = 0; i < strle n( pHead->m_sCarid ); i+ ) fputc(

19、 pHead->m_sCaridi, out ); fputc( 'n', out );for( i = 0; i < strlen( pHead->m_sTPName ); i+ ) fputc( pHead->m_sTPNamei, out ); fputc( 'n', out );fputc( pHead->m_CDate.m_iYear, out );fputc( ' : out );'n',fputc( pHead->m_CDate.mMon th, out );fputc(''

20、;, out );fputc( pHead->m_CDate.m_iDay, out );fputc( out );fputc( 'n', out );pHead = pHead->m_pNext;fclose( out );DestoryTPR( pHead );printf("保存成功!n");三,上机操作:1数据源(1)处罚单号01车牌2001司机li日期 20090901(2)处罚单号02车牌2002司机zhang日期 20090902(3)处罚单号03车牌2003司机ma日期 20090903(4)处罚单号04车牌2004司机song

21、日期 20090904(5)处罚单号05车牌2005司机chen 期 200909052,运行结果警察wang处罚警察li处罚警察li处罚警察chen 处罚警察ren 处罚日(1)主菜单函数31 r_ 1Tsinn i t tesIQ£nte* * ! * 流十 hiK * E * 愛自心息关息 用口= 口 关費 覗+0 并查并 找名词 查姓查交单宕祭码到沙来的机通鹰诽a蕃司交车处统*建删M很冷-12 3 4 5 6 0旳肌甫请输入您囱操作:(2)输入处罚信息eV "C:匚 SDocm>nrt s and Se+t ingsAdBiizii3t:rat ox7

22、4;Dcliiii(;yDiigf eng. B -卜欢迫系到交通处罚鱼管理系统急宅奨自j 关纂-41VK41 I® *苗-弁 找名询 Is 草名第码 ij姝豔#单 的机适牌gljb 新m交车处统 建删数退血=09 署血2811名20 人人昼口建警日 香渾n诵罚 ,谆.声虹主匸交矗 (3)按司机查找并浏览相关处罚信息模块C: DacuM(m±s and Set±Adainirot桌面Sr®文件夹 DebiU(yDngf one. B息亠=6息关息 亠一戸址_n S 浏疥 并查并 找名询 查姓查 单名蔡码 対机通理讪计 新HJ交牟处统 崖删数-R一 12

23、3 4 5 6 0靑辑入您的撲作:(4)按交通警察查找并浏览相关信息模块>C: D a ciun n± s and SetiFigsVAdaiTiis rator® XSrSlT'fr YDGbuXyDiigf ene. BI息关息 土沮15. 剧相 畀览 i 找名询 i姓查 单茗察码 细机通需计 新F?交车处统 Am 建艰艰喂1IJ数A 12 3 4 5 6 0li “揀交S2"的罚-B2月9 红年 ah名20 -fe - 十您处号茗奮 入入兽弋妲馳匸 書谐机读训i 一 -一lx i 03朋«=初 :26:雄: 兽!I口腥杠通貧 L- -LrnJfv、(5)按车牌查询并浏览相关信息模块十 息 f息关息 僧港口3 K13浏疥Z并杳并 一一按茗询-査姓查 一一单畧需码 一苗机連幕计 一一新司交车处统一一建息关息关藝并査并找茗询一査姓查需码机通曙新司交车处统. 二 X 二 二2 3 4 -LJ t 02 3 4 -LJ t码号 W 二牛 的±- 您罟冇-名菁人人聲口狂警日日5月n9 re年VI9C- _- -K命塔2S;绘-(6)删除处罚单模块占 * Y

温馨提示

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

评论

0/150

提交评论