C语言课堂设计报告-违规记分管理程序.doc_第1页
C语言课堂设计报告-违规记分管理程序.doc_第2页
C语言课堂设计报告-违规记分管理程序.doc_第3页
C语言课堂设计报告-违规记分管理程序.doc_第4页
C语言课堂设计报告-违规记分管理程序.doc_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

c语言课堂设计报告 违规记分管理程序一、程序设计题目及要求【题目描述】请设计一个驾驶员违规记分管理程序。驾驶员信息包括:驾驶员编号、姓名、性别、身份证号、准驾车型、违规时间(含年、月、日)、违规地点、违规行为、处罚金额、违规次数、累积扣分(假设每次扣2分)、是否缴款等。该程序应该具有下列基本功能:(1) 录入全部驾驶员的信息,驾驶员编号按顺序生成;(2) 显示全部驾驶员的信息;(3) 添加一个驾驶员的信息;(4) 给定驾驶员编号,修改此编号的驾驶员信息,要求有修改确认; (5) 给定驾驶员姓名,删除此驾驶员的信息,要求有删除确认;(6) 给定驾驶员姓名,显示该驾驶员的违规信息、累积扣分以及是否缴款; (7) 给定一个日期(含年、月、日),显示该日违规的驾驶员姓名;(8) 给定一个值,显示违规累积扣分超过该值的驾驶员信息;(9) 统计某一时间段内所有驾驶员的总罚金数量。(10) 按累计扣分对驾驶员信息排序。(11)自己提供一些按各类信息进行排序、统计的功能(自己发挥)。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后(若需要,还可显示子菜单),根据应用程序的提示信息,从键盘输入相应的信息。要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。 (3)输出的结果要清晰美观,以表格形式上下对齐。【提示】使用结构类型和一维数组,用来保存软件信息。二、应用程序简介1应用程序功能此程序功能包括输入,输出,添加信息,查找信息,和删除等等、1、应用程序功能: 此应用程序主要实现对参赛歌手信息的输入、输出;评委打分;添加歌手信息;对歌手信息的修改、删除等等。2、应用程序执行环境:此应用程序在wintc2.0的环境下运行。启动时只需打开工作空间,执行“dale.exe ”文件。3、程序内容说明:程序界面采取光标和键盘操作,无需采用鼠标操作。如需退出该程序,请在主界面输入“0”退出。4、操作说明:输入的内容请按程序界面要求操作,请不要输入特殊符号,不得私自修改程序所在目录下信息文件。5、 在运行过程中,无特殊指令要求。三、程序设计文档内容1该程序包含main以及17个子程序:如下,menu,password,input,output,add,change,delete,browse,searchdate,searchtotalscore,sort,search0fen,search12fen,searchtype,searchplace,searchaction,searchfine:这些分别实现菜单,司机信息的输入,司机信息的输出,添加司机的信息,改变司机的信息,删除部分司机的信息,浏览的功能,按日期查找,按总分查找,分类,按0,12分查找,按类型查找,按地点查找,按行为查找,按罚款查找。2程序流程图 mainpassword input outputaddchangedeletebrowsesearchdatesearchtotalscoresortsearch0fensearch12fen searchtypesearchplacesearchactionsearchfen3程序源文件#include#include#include#define n 7typedef struct int year; int month; int day; date;typedef struct driver int no; char name20; char sex7; char id20; char type10; date time; char place100; char action100; float fine; int times; int totalscore; char yn10; dri;void password();void menu();void input(dri d);void output(dri d);void add(dri d);void change(dri d);void delete(dri d);void browse(dri d);void searchdate(dri d);void searchtotalscore(dri d);void sort(dri d);void search0fen(dri d);void search12fen(dri d);void searchtype(dri d);void searchplace(dri d);void searchaction(dri d);void searchfine(dri d);main() dri dn+1; int choice; password(); do menu(); printf(choice:); scanf(%d,&choice); switch(choice) case 1: input(d);break; case 2: output(d);break; case 3: add(d);break; case 4: change(d);break; case 5: delete(d);break; case 6: browse(d);break; case 7: searchdate(d);break; case 8: searchtotalscore(d);break; case 9: sort(d);break; case 10: search0fen(d);break; case 11: search12fen(d);break; case 12: searchtype(d);break; case 13: searchplace(d);break; case 14: searchaction(d);break; case 15: searchfine(d);break; clrscr(); while(choice!=0); printf(thank youn); void menu() printf(n= menu =n); printf( 1 .input informationn); printf( 2 .show all informationn); printf( 3 .add a new informationn); printf( 4 .change an informationn); printf( 5 .delete an informationn); printf( 6 .view a by daten); printf( 7 .search informationn); printf( 8 .search by zongfenn); printf( 9 .range by zongfenn); printf( 10 .search 0 fenn); printf( 11 .search 12 fenn); printf( 12 .search by carn); printf( 13 .search by placen); printf( 14 .search by behaviourn); printf( 15 .search drivers who havent paid the finen); printf( 0 .exitn);void password() char password=liule0; char enter100; while(1) printf(enter the password(5 wei):); gets(enter); if(strcmp(enter,password)=0) printf(succeedn); system (pause); break; else printf(errorn); clrscr();void input(dri d) int i; char temp10=0; printf(nenter informations(name sex id type year month day place action fine times totalscore pay)n); for(i=0;in;i+) di.no=i+1; printf(input the name:); scanf(%s,); printf(input the sex:); scanf(%s,di.sex); printf(input the id:); scanf(%s,di.id); printf(input the type:); scanf(%s,di.type); printf(input the date:); scanf(%d%d%d,&di.time.year,&di.time.month,&di.time.day); printf(input the place:); scanf(%s,di.place); printf(input the action:); scanf(%s,di.action); printf(input the punishment record :); scanf(%f%d%d,&di.fine,&di.times,&di.totalscore); printf(input pay whether or not:); scanf(%s,di.yn); printf(anymore driver data?(y/n):); return; dn.no=n+1; strcpy(dn.name,temp); strcpy(dn.sex,temp); strcpy(dn.id,temp); strcpy(dn.type,temp); dn.time.year=0; dn.time.month=0; dn.time.day=0; strcpy(dn.place,temp); strcpy(dn.action,temp); dn.fine=0; dn.times=0; dn.totalscore=0; strcpy(dn.yn,temp);void output(dri d) int i; printf(nno name sex identification type times scoren); for(i=0;in+1;i+) printf(n%2d%5s%4s%20s%6s%6d%7d, di.no,,di.sex,di.id,di.type, di.times,di.totalscore); printf(npress 1 to continue); scanf(%d,&i);void add(dri d) printf(nenter a new information(name sex id vehicle type time place action fine times totalscore pay):n); scanf(%s,dn.name); scanf(%s,dn.sex); scanf(%s,dn.id); scanf(%s,dn.type); scanf(%d%d%d,&dn.time.year,&dn.time.month,&dn.time.day); scanf(%s,dn.place); scanf(%s,dn.action); scanf(%f%d%d,&dn.fine,&dn.times,&dn.totalscore); scanf(%s,dn.yn);void change(dri d) int n; dri temp; char choice10; do printf(nenter a drivers number:); scanf(%d,&n); while(nn+1); printf(n%2d %s %s %s %s %d/%d/%d %s %s %f %d %d %s, dn-1.no,,dn-1.sex,dn-1.id,dn-1.type, dn-1.time.year,dn-1.time.month,dn-1.time.day, dn-1.place,dn-1.action,dn-1.fine,dn-1.times,dn-1.totalscore,dn-1.yn); printf(nenter the new information(name sex id type time place action fine times totalscore payn); scanf(%s,); scanf(%s,temp.sex); scanf(%s,temp.id); scanf(%s,temp.type); scanf(%d%d%d,&temp.time.year,&temp.time.month,&temp.time.day); scanf(%s,temp.place); scanf(%s,temp.action); scanf(%f%d%d,&temp.fine,&temp.times,&temp.totalscore); scanf(%s,temp.yn); temp.no=n; printf(ndo you really want to change information?(y/n)n); scanf(%s,choice); if(stricmp(choice,y)=0) dn-1=temp; printf(change successfully!); printf(n%2d %s %s %s %s %d/%d/%d %s %s %f %d %d %s, dn-1.no,,dn-1.sex,dn-1.id,dn-1.type, dn-1.time.year,dn-1.time.month,dn-1.time.day, dn-1.place,dn-1.action,dn-1.fine,dn-1.times,dn-1.totalscore,dn-1.yn); printf(npress 1 to continue); scanf(%d,&n); void delete(dri d) char a10; char choice10; char temp10=0; int i; printf(nenter a drivers name:); scanf(%s,a); printf(ndo you really want to delete the information?(y/n); scanf(%s,choice); if(stricmp(choice,y)=0) for(i=0;in+1;i+) if(stricmp(a,)=0) strcpy(,temp); strcpy(di.sex,temp); strcpy(di.id,temp); strcpy(di.type,temp); di.time.year=0; di.time.month=0; di.time.day=0; strcpy(di.place,temp); strcpy(di.action,temp); di.fine=0; di.times=0; di.totalscore=0; strcpy(di.yn,temp); void browse(dri d) char a10; int i; printf(nenter a drivers name:); scanf(%s,a); for(i=0;in+1;i+) if(stricmp(a,)=0) printf(nname time place action totalscore pay); printf(n%s %d/%d/%d %s %s %d %s,, di.time.year,di.time.month,di.time.day, di.place,di.action,di.totalscore,di.yn); printf(npress 1 to continue); scanf(%d,&i);void searchdate(dri d) date a; int i; printf(nenter a date(year month day):n); scanf(%d%d%d,&a.year,&a.month,&a.day); printf(nthe drivers name:); for(i=0;in+1;i+) if(di.time.year=a.year&di.time.month=a.month&di.time.day=a.day) printf( %s ,); printf(npress 1 to continue); scanf(%d,&i);void searchtotalscore(dri d) int a,i; printf(nenter a totalscore:); scanf(%d,&a); printf(nno. total score name sex id type); for(i=0;ia) printf(n%d %d %s %s %s %s,di.no,di.totalscore,,di.sex,di.id,di.type); printf(npress 1 to continue); scanf(%d,&i);void sort(dri d) int i,j,min,temp; int an+1; dri bn+1; char name10; for(i=0;in+1;i+) ai=di.totalscore; strcpy(,); for(i=0;in;i+) min=i; for(j=i+1;jn+1;j+) if(ajamin) min=j; if(min!=i) temp=ai; ai=amin; amin=temp; strcpy(name,); strcpy(,); strcpy(,name); printf(ntotalscore name); for(i=0;in+1;i+) printf(n%d %s,ai,); printf(npress 1 to continue); scanf(%d,&i);void search0fen(dri d) int i; printf(nno. name ); for(i=0;in+1;i+) if(di.totalscore=0) printf(n%2d %s ,di.no,); printf(npress 1 to continue); scanf(%d,&i);void search12fen(dri d) int i; printf(nno. name ); for(i=0;in+1;i+) if(di.totalscore=12) printf(n%2d %s ,di.no,); printf(npress 1 to continue); scanf(%d,&i);void searchtype(dri d) int i; char a10; printf(nenter a type:); scanf(%s,a); printf(

温馨提示

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

评论

0/150

提交评论