《Av-akyyeC--实习报告.docx》由会员分享,可在线阅读,更多相关《Av-akyyeC--实习报告.docx(21页珍藏版)》请在优知文库上搜索。
1、我们Il打(败)r敌人。我们Il(把敌人)打败了。面对对象程序设计报告课题:向对对象程序设计专业:通信工程班级:姓名:学号:指导老师:设计时间:2010/2011(2)学期第03-04周书目1 .实践课题32 .实践要求33 .设计目的34 .实践内容44.1 必做课题:高校人员类的设计的功能描述以与模块结构4功能模块描述与主要类描述44.1.2程序代码7运用说明和调试结果16必做题小结184.2 选作课题:基于RFID设备的隧道工作人员考勤系统18选做题任务分析18液晶屏功能实现20选做题小结205 .心得体会216 .叁考文献21一 .实践课题:面对对象程序设计二 .实践要求:1.1 .必
2、做课题高校人员类的设计(3月7-8口)基类,person类,相关的属性自己定义派生类,StUdent类,teacher类,相关的属性自己定义Student类和teacher类的属性不相同,利用多态性编辑ShoW函数,可以输出同类正确的信息.编辑界面,功能有(1)输入人员(2)删除人员(3)保存人员(4)查询人员1.2 选作课题(二者必选,六人大组,三人小组,每个同学必需作不同的功能模块,要求选出组长,安排任务,)(3月9-18日)2. 2.1.基于RFID设备的隧道工作人员考勤系统(1)与必做课题结合,将每个卡与人员姓名,工种绑定,进入即可显示人员的相关信息。两台RFID读卡器,从1-2表示进
3、入隧道,从27表示退出隧道,据此,统计当前隧道里面的人员总数与姓名。3. 2.2基于RFlD设备的隧道工作人员考勤系统(2)(1)自学MFC,设计基于MFC设计隧道工作人员考勤系统,具有增、删、改、查询的功能(2)结合小组1同学做的实时考勤系统,设计基于MFC的隧道工作人员考勤系统三,实践目的2通过木次课程设计,使我们在驾驭C+程序设计的基本思想、基本概念和基本方法上,能运用所学的学问对般问题进行分析和程序设计,把C+;程序设计语言作为基本工具运用,为今后在专业课程的学习中,运用计算机解决实际问题打好基础。同时,将理论学问与实践相结合,更加深化的应用c+的学问,也r解和学习MK的界面开发和界面
4、设计。让我们学会创新,能够自主学习新的学问,提高我们的自学实力,也考验我们做事的耐性。四.实践内容:4.1 必做课Ah离校人员类的设计的功能描述以与模块结构4.1.1 功能模块描述与主要类描述模块一:输入人员函数voidinterO/输入函数loop:intintput;8Ul请您选择所要注册的类型Yn”按1”为一般人员“n按2为学生n按3为老师nintput;switch(intput)case1:inlpulperson(intputtime):inIpu11ime+:break;case2:intstudent(intputtime);intputtime+;break;case3:in
5、tteacher(intputtime);intputtime+break;default:CoUtX,t鬼疚,您输入错误,请重新输入endl;goto100pibreak;输入添加指定的人员;模块二:查找人员函数voidfinder()pointl:intrun,fin;charc:fin=O;COUl请您输入要操作的名字n,11:for(run=O;runname)coutshow():fin=l;break;Iocation=run;if(fin=O)cout“愧疚,没有找到该信息nendl;fin=O:CoUt您想接着杳询吗?(yn)c;if(c=,Y,lc=,y,)gotopoint
6、1;查找指定的基本信息;模块三:保存人员信息函数voidsaverO学生信息保存SySIem(cis);Ofstreamfile;file.OPen(D:信息保存Jxl”,ios:out);COUtnnnnnnttt正在保存,请稍等*endl:SySIem(cis):cout,nnnntt数据保存保存胜利!nn”show();file,close();SyStem(pause);保存指定的信息.:模块四:删除人员函数voiddeIelememberOchara;Iocation=O;finderO;CoUl”是否删除该数据(YN)a;if(a=,YIIa=-y,)for(;locationin
7、tputtime;location+)(findlocation=findlocation+l:)CoUt删除胜利endl;intputtime;删除指定的其本信息。模块五:板示函数show。,定义为虚函数实现函数的多态,使在不同类中能够依据变量的多少选择合适的ShOWo函数。virtualvoidshow();voidperson:show()cout姓名:namen年龄agen”性别:genderendl;if(registered=1)voidstudent:show()BerSOn:ShOW();CoUt学号:numendl;voidteacher:show()person:show(
8、);COUt老师职称:*positionendl;本高校人员类的设计采纳了面对对象的程序设计方法。全部的方法均以类为基础。所涉与到的类包括:classPerson般人员类;该类是个基类,设置了属于私有成员的年龄,以与公有成员gender和name,可以给学生和老师类维承。且分别定义了IDO、get_name(),get_ageO和geJgenderO函数。Classstudent学生类:该类多态维承了一般人员类,加入了成员变量num与成员函数get_numO。ClassIeaCher老师类:该类同样多态维承J一股人员类。该类定义了与学生类样的函数,有着同样的功能。加入了成员变量POSitiOn
9、与成员函数get_positionO。程序代码fiincludeSincludefiincludeUSingnamespacestd;intintputtime=O:/输入的次数intregistered=。:/区分注册与查找intIocalion=O;/确定1前位置classpersonprivate:intage:public:stringgender;/1为男O为女stringname;virtualintID();voidget_name();voidget_ageO;voidget_gender():virtualvoidshow();intperson:ID()return0:)v
10、oidperson:get_name()stringn;COUt请您输入姓名n;name=n;voidperson:get_age()inta;COUt”请您输入年龄a;age=a;voidperson:get_gender()stringg;COUlg:gender=g;voidperson:show()couI,姓名Jnamer年龄agen性别:*genderendl;if(registered=1)cout恭喜您胜利完成注册!”endl;classStudentzvirtualpublicperson/学生维承public:intID();stringnum:voidgel_num();
11、voidshowO;intstudent:ID()return1;)voidstudent:gel_num()stringn:CoUx请您输入学号”n;num=n:voidstudent:show()person:show():COUt*学号:numendl;classIeacherrvirtualpublicpersonpublic:intIDO:stringposition;voidget_posilion();voidshow():intteacher:ID()return2;voidteacher:get_position()stringp;cout*i您输入职称p;position=
12、p;voidteacher:showOperson:show();COUt,老师职称:/,positionendl:/留意此处下面变量要为全局变量:personp200;/学校一般人员变量students200;学生变量teachert200j;/老师变量person*finti600:/查找用的指针voidintputperson(intx)px.gelIame();px.get_age();pxgeJgenderO:px.ID();px.show():findx=&px;registered=。:/注册时候显示用的voidintstudent(intx)sx.gel-na11e():sx.get_ageO;sx.get_gender():sx.get_num();sx.IDO:sx.show();findx=&sx:registere(i=O;voidintteacher(intx)tx.get_name():tx.get_age();tx.get_gender();1.x.get_posilion();tx.IDO;lx.show();findx=tx;regis1.ered=O;voidinterO/输入函数loop:intintpt;coulU请您选择所要注册的类型,n按1”为一般人员n