交通处罚单管理系统_C语言实习报告2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

[年][键入公司名称]user[交通处罚单管理系统][在此处键入文档的摘要。摘要通常是对文档内容的简短总结。在此处键入文档的摘要。摘要通常是对文档内容的简短总结。]中国地质大学(武汉)C语言课程设计论文课程名称:学籍信息管理系统设计教师姓名:顾保磊本科生姓名:072111班吴忠云本科生学号:20111003601本科生专业:机械设计制造及其自动化所在院系:机械与电子信息学院类别:理工类日期:2012-6课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总成绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。目录课程设计评语.........................................目录.......................................................1.课程论文题目...................................2.程序设计思路...................................3.功能模块图.......................................4.数据结构设计...................................5.算法设计...........................................6.程序代码...........................................7.程序运行结果...................................8.编程中遇到的困难及解决方法......9.总结心得及良好建议......................10.致谢.................................................1.题目要求设计“交通处罚单管理系统”,交通处罚单必须涉及到车辆、驾驶员和开单交警的信息,还有交通处罚单号码、处罚时间等信。要求功能:(1)可以输入、删除、浏览交通处罚单信息;(2)可以按车辆、驾驶员和开单交警查询;(3)统计某时间段某个驾驶员的交通处罚单数目及交通处罚单号码。一、需求分析交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。二、总体设计思路整个管理系统被设计为输出模块,信息删除模块,信息浏览模块,信息查询模块和信息统计模块。2.程序设计思路根据题目要求应提供键盘式菜单实现功能选择,还应该提供信息的输入操作,由于在程序中提供查询功能所以应有查找等操作。根据上面的需求分析,可以将这个系统的设计分为1.增添、删除、查询、修改输入模块2.统计、浏览、排序等编辑模块。针对这些模块的设定另外在加入一下退出程序、显示设计者信息、储存在text文件等功能。再按照编程的基本思路进行编程。3.功能模块图4.数据结构设计1.主函数主函数一般设计得比较简洁,只提供输入、处理和输出部分的函数调用。其中各个功能模块用菜单方式选择。[程序]main()/********主函数********/{inta,w;/**变量a保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内**/总体设计输入模块删除模块浏览模块查询模块统计模块do{puts(\n\n*************MENU**********\n\n);puts(\n1.Shurudata);printf(请输入车牌号码:\n);puts(\n2.Shanchudata);puts(\n3.Liulandata);puts(\n4.Chaxundata);puts(\n5.Tongjidata)puts(\n\n\n\n6.Exit);puts(\n\n\\t\t************************\n);printf(choiceyournumber(0-5):[]\b\b);scanf(%d,&n);if(n1||n6){w=1;getchar();}elsew=0;}while(w==1);/***选择功能***/switch(n){case1:shuru();break;/***输入模块***/case2:shanchu();break;/***删除模块***/case3:liulan();break;/***浏览模块***/case4:chaxun();break;/***查询模块***/case5:tongji();break;/***统计模块***/case6:exit(0);/***退出***/}}/**********************主函数************************/main(){menu();}2、各功能模块设计(1)输入模块[分析]单独看各个数据信息,开单日期以及驾驶员姓名为字符型,可以采用字符型数组;处罚单号码、车牌号码以及交警ID为整型,可以采用整型数组。一条记录对应一张交通处罚单,方便交通部门管理。[程序]/****************输入模块***************/voidshuru()/***输入模块***/{FILE*fp;if((fp=fopen(data.txt,w))==NULL){printf(Cannotopenthefile\n);/**若打不开此文件则会退出输入模块**/exit(0);}scanf(%d,&dan[0].chepai);printf(请输入驾驶员姓名:\n);scanf(%s,dan[0].name);printf(请输交警ID:\n);scanf(%d,&dan[0].id);printf(请输入开单日期:\n);scanf(%s,dan[0].time);printf(请输入处罚单号:\n);scanf(%d,&dan[0].num);if(fwrite(&dan[0],sizeof(structcfd),1,fp)!=1)printf(filewriteerror\n);elseprintf(输入信息成功!\n);fclose(fp);}(2)删除模块[分析]该模块的功能需要删除交通处罚单信息,要根据处罚单号、车辆号码、驾驶员姓名、开单时间以及交警ID查找处罚记录并删除。[程序]/*************************删除模块*******************/voidshanchu(){inti,w,v,c;FILE*fp;printf(请输入要删除的处罚单号:);scanf(%d,&w);fp=fopen(data.txt,rb);for(i=0;i1000;i++){if(fread(&dan[i],sizeof(structcfd),1,fp)!=1)break;}v=i;for(i=0;iv;i++){if(w==dan[i].num)c=i;}fclose(fp);fp=fopen(data.txt,wb);for(i=0;iv;i++){if(i!=c)fwrite(&dan[i],sizeof(structcfd),1,fp);}fclose(fp);}(3)浏览模块[分析]该模块的功能是显示所有的处罚信息。[程序]/******************浏览(全部)模块*****************/voidliulan(){inti;FILE*fp;fp=fopen(data.txt,rb);for(i=0;i1000;i++){if(fread(&dan[i],sizeof(structcfd),1,fp)==1){printf(处罚单号:%d\n,dan[i].num);printf(车牌号码:%d\n,dan[i].chepai);printf(司机姓名:);puts(dan[i].name);printf(警察ID:%d\n,dan[i].id);printf(处罚时间:);puts(dan[i].time);printf(---------------------------------\n);}elsebreak;}fclose(fp);}(4)查询模块[分析]该模块的功能是根据输入的处罚单号、车辆号码、驾驶员姓名、开单时间以及交警ID查找相应的记录,方便驾驶员了解自己的处罚情况。[程序]voidchaxun(){inti,w,x,flag;FILE*fp;charv[8];printf(请输入你想查询的信息:\n);printf(1-按车牌号查询\n);/******查询方式*****/printf(2-按司机姓名查询\n);printf(3-按警察ID查询\n);scanf(%d,&x);if(x==3){flag=0;printf(请输入要查询的警察ID:);scanf(%d,&w);fp=fopen(data.txt,rb);for(i=0;i1000;i++){if(fread(&dan[i],sizeof(structcfd),1,fp)!=1)break;if(dan[i].id==w){printf(处罚单号:%d\n,dan[i].num);printf(车牌号码:%d\n,dan[i].chepai);printf(司机姓名:);puts(dan[i].name);printf(警察ID:%d\n,dan[i].id);printf(处罚时间:);puts(dan[i].time);printf(---------------------------------\n);flag=1;break;}}if(flag==0)printf(找不到此处罚单信息!\n);fclose(fp);}elseif(x==2){flag=0;printf(请输入要查询的司机姓名:);scanf(%s,v);fp=fopen(data.txt,rb);for(i=0;i1000;i++){if(fread(&dan[i],sizeof(structcfd),1,fp)!=1)break;if(strcmp(dan[i].name,v)==0){printf(处罚单号:%d\n,dan[i].num);printf(车牌号码:%d\n,dan[i].chepai);printf(司机姓名:);puts(dan[i].name);printf(警察ID:%d\n,dan[i].id);printf(处罚时间:);puts(dan[i].time);printf(---------------------------------\n);flag=1;break;}}if(flag==0)printf(找不到此处罚单信息!\n);fclose(fp);}elseif(x==1){flag=0;printf(请输入要查询的处罚单号:);scanf(%d,&w);fp=fopen(data.txt,rb);for(i=0;i1000;i++){if(fread(&dan[i],sizeof(structcfd),1,fp)!=1)break;if(dan[i].num==w){printf(处罚单号:%d\n,dan[i].num);printf(车牌号码:%d\n,dan[i].chepai);printf(司机姓名:);puts(dan[i].name);printf(警察ID:%d\n,dan[i].id);printf(处罚时间:);puts(dan[i].time);printf(---------------------------------\n);flag=1;break;}}if(flag==0)printf(找不到此处罚单信息!\n);fcl

1 / 50
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功