




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(O玉加ty衣遂/ 7AIY1MN IIBffVERHITY OF TECSNQLQY程序设计课程设计报告学院:软件学院专业:软件工程班级:1217班学号:201200xxxx201200xxxx201200xxxx201200xxxx姓名:XXXX 、XXXXXXXX 、XXXX指导教师:张辉时 间:2014年6月1目录一.交通咨询系统1. 问题描述2. 设计需求及分析3. 设计功能的实现3. 1算法思想描述3. 2概要设计3. 3详细设计4. 实例测试及运行结果5. 实现提示二停车场管理系统1. 问题描述2. 设计需求及分析3. 设计功能的实现4. 实例测试及运行结果5. 实现提示三学生管
2、理系统1. 问题描述2. 设计需求及分析3. 设计功能的实现4. 实例测试及运行结果5. 实现提示21. 交通咨询系统专业:软件工程班级:软件12xx姓名:卫込学号:201200xxxx完成日期:2014. 6. 261. 问题描述设计一个交通咨询系统,能让旅客咨询从任一个城市定点到另一个城市定点之间的最 短路径或最低花费或最少时间等问题。对于不同的咨询要求、可输入城市间的路程或 所需时间或所需花费。设计要求:1. 建立交通网络网的存储结构。2. 总体设计要画流程图。3. 提供程序测试方案。4. 界面友好。2. 设计需求及分析根据要求,需要在系统中建立无向图。系统应该有高度灵活性,可以由用户根
3、据 当前交通网络图输入初始数据,并且可以更改。系统根据用户的输入建立无向图的结 构,并通过狄克斯特拉算法和弗洛伊德算法实现要求,并提供两种功能供用户选择。3. 设计功能的实现3.1算法思想描述首先总体的思想步骤是:(图1-1)狄克斯特拉算法的具体流程图如下:(图2)#弗洛伊德算法的具体流程图如下:(图 1-3)3.2概要设计系统应该分为三个部分,一是建立交通网络图的存储结构;二是解决单源最短路径问 题;最后再实现两个城市顶点之间的最短路径问题。1、建立图的存储结构:无向图首先定义交通图的存储结构。邻接矩阵是表示图形中顶点之间相邻关系的矩阵。设G二(V, E)產興有蒂华嗣翩倉7;喷馬的怨矩阵是具
4、有如下定义的n阶方阵。Ar;门_0或OO,当不满足上述条件时。#一个图的邻接矩阵表示是唯一的。图的邻接矩阵表示,除了需要用一个 二维数组存储顶点之间相邻关系的邻接矩阵外,通常还需要使用一个具有n 个元素的一维数组来存储顶点信息,其中下标为i的元素存储顶点vi的信息2、单源最短路径:狄克斯特拉算法初始化S和D,置空最短路径终点集,置初始的最短路径值; Svl=TRUE; Dvl=O; S集初始时只有源点,源点到源点的距离为0; while (S集中顶点数vn)开始循环,每次求得5到某个v顶点的最短路径,并加v到S集中;Sv二 TRUE;更新当前最短路径及距离;3、任意一对顶点间最短路径:弗洛伊德
5、算法假设订山为从徒叮的只以集合中的节点为中间节点的最短路径的长度。1. 若最短路径经过点k,则= 臥却7 +2. 若最短路径不经过点k,则因此,最短路径耳席=3.3详细设计3程序源代码如下:#include#include#define Num 300定义常量 Num#define Maxint 32767enum booleanFALSEJRUE;定义布尔类型typedef char VertexType;typedef int Adjmatrix;typedef structVertexType vexsNum;Adjmatrix arcsNumNum;MGraph;int DlNum,P
6、lNum;int DNumNum,PNumNum;void CreateMGraph(MGraph *G?int njnt e);/构建城市的无向图的声明void Dijkstra(MGraph *GJnt vljnt n); 狄克斯特拉算法的声明void main() MGraph *G;定义无向图Gint n,e,v,w,k;int m=l;G=(MGraph *)malloc(sizeof(MGraph);prints欢迎使用【交通咨询系统】!本系统约定:2记一个城市为一个 点,点用从1开始按顺序的编号表示,两个城市的连线为一条边;n2程序 要求输入的文本都是按回车进行确认;n3.程序输
7、入输出均不带单位,单位 默认为“公里”。nn);printfC系统需要知道地图的结构,请输入顶点个数和边数,用号隔 开:n);scanf(%d,%d,&n,&e);CreateMGraph(G,n,e);调用CreateMGraph有向图函数while(m!=0)弗洛伊德算法的声明void Floyd(MGraph *G,int n);G-arcsij=O;printf(:n);printf(请输入数字:n);printf(O :退出n);printf(l:求一个城市到其他所有城市的最短路径n);printf(2 :求任意的两个城市之间的最短路径n);scanf(%d,&m);if(m=2)F
8、loyd(G,n);printff请输入起点和终点,用号隔开:n);scanf(%d,%d,&v,&w);k=Pvw;if(k=O)printf(n输出的结果:n顶点d到01无路径!n,v,w);elseprintf(n输出的结果:n从顶点d到(1的最短路径是:d,v,w,v);while(k!=w)printf(f %d,k);k=Pkw;printf(f %d,w);printf(n路径长度:%dn,Dvw);elseifm=l)printf(请输入起点编号:n);scanf(%d,&v);Dijkstra(G,v,n);printf(程序已结束!谢谢您的使用! n);void Creat
9、eMGraph(MGraph *G,int n,int e)构建城市的无向图int i,j,k,w;for(i=l;ivexsi=(char)i;for(i=l;i=n;i+)for(j=l;jarcsij=Maxint; 距离初始化printf(n请输入d条边的两端点序号和长度,用号隔开n例如:1号城市到2号城市的长度为3,则输入1,2,3): n,e);for(k=l;karcsij=w;G-arcsji=w;printf(n地图的结构建立成功!n);建立城市之间的距离void Dijkstra(MGraph *G,int vl,int n)意一个城市的距离int D2Num,P2Num;
10、enum boolean SNum;for (v=l;varcsvlv;if(D2vMaxint)P2v=vl;狄克斯特拉算法求一个城市到任s置空距离初始化/路径初始化elseP2v=0;P2vl=0;Svl=TRUE;源点VI放入s中for(i=2;in;i+)min=Maxint;for(w=l;w=n;w+)v=w;min=D2w;Sv=TRUE;for(w=l;warcsvwarcsvw;P2w=v;printf(n 输出的结果:n);printf(路径长度路径n);输出最短路径if(i=j)for(i=l;i=n;i+)printf( %5d,D2i);printf(%10d,i);
11、 v=P2i;while(v!=O)printf(%d,v); v=P2v;printfCXn);void FloydfMGraph *G,int n)用弗洛伊德算法求任意两顶点最短距离int i,j,k;定义三个变量for(i=l;i=n;i+)for(j=l;jarcsij!=Maxint)距离初始化Pij=j;路径初始化elsePij=O;Dij=G-arcsij;for(k=l;k=n;k+)以k为源点循环求出所有顶点的最短路径for(i=l;i=n;i+)i为已知最短路径的顶点for(j=l;j=n;j+)/j为未知最短路径的顶点 if(Dik+DkjDiUJ)Dij=Dik+Dkj
12、;PiU=Pik;834. 实例测试及运行结果同长度),交通网络图如下图所示:(打开本系统,界面如图:(图5)假如某交通网络上有4个城市(序号为34), 4个城市之中有5条道路(不欢尊使用上交通咨询系统】L杰系绣约定 丄.i己二-2 欄3 槿F:Desktop算法与芟溜结供或、交逵咨询系统52严匣为三壬点L宫用从X笄始冷喷序的编号表示,两个城市的连线为一条边; M轉护豔藏懿里”.I系统需要知道地图的结构,请输入顶点个数和边数,用“号隔开:输入4,5之后按下键盘上的回车键:(图1-6)两个城市的连线为一条边;弟用謠腮):用个畫 使_俸 迎记霜 欠 X 12 3统,1 询殳不 咨_的均 舅入岀 刘
13、市】!本系统约霍:宜甩从我转颇序的编号表示, 是按回车迸卷,单盂默曲“公里”。系统需要知道地图的结构,请输入顶点个数和边数,用”号隔开:4,5两至 的帀 边城 条号5 1入:主冃知2根据交通网络图输入线路数据后按回车:(图7)F:Desktop算法前据暂須叭交連辭磔Vig.exe号,的“.页缈统书进默系Ifl车位本从回单用按,I占苜再-E统,鳖si询叟不咨一的均嚼入出交市驀LfA用个壽使一 一迎记覆欢2. .两个城市的连线为一条边系统需要知道地图的结构,请输入顶点个数和边数,用,号隔开:4,5勰1.2.51,4,92.4.72.3.63.4.8亠山师地图的结构建立成功!选择1回车后,再输入城市
14、2,求得出的结果如下:(图8)选择2后,要计算1到3的最短距离和路径,输入匕3,得到结果,并与输入3丄的输 出结果作对比如下:(图9)| F:Deskto p交通咨询票5请输4幣字:0 -退岀:棗曲熬牘瓣蠶路径2请输入起点和终点,用号隔开:3SSlSfe 最巒 gg*2F路径娱蘆:11;请输4翠字:報眦瞬轍路径0 :嚳人J揉蛊feg般瞒凝雒 K青输入起点和终点,用号隔开: ma鸚鬻翻最覆路g|= 3七F路115. 实现提示在我对作品完成了最后的调试和运行之后,紧张的一个星期的课程设计终于暂时 告一段落。这个课程设计的课题虽然总体来说难度不大,可以找到很多例子供参考。 但是课程设计是个锻炼自己的
15、极好机会,缺失的知识现在得补上!并且设计的过程是 发现自身知识空点的最好的机会,以往不会遇到的情况,在实践练习中一一浮出水 面,面对着它们,虽然短短两个星期,但是也经历了很多挫折,有过气馁,但是真正 的迈过去以后才感觉到畅快和欣喜,所以遇到的问题,我想到的放弃念头很快被打 消,坚持到了作品完成。课程设计具的实践意义,正如军事锻炼是对我们精神意志的磨练,它是对我们的 一次考核和知识补充,对未来工作的演习。2. 停车场管理系统专业:软件工程 班级:软件12xx姓名:XXX学号:201200XXXX完成日期:2014. 6. 261-问题描述设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供
16、汽车进出。汽 车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先 到达的第一辆车停放在停车场的最北端)若停车场内已停满n辆汽车,则后来的汽车 只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停 车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开 出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必 须按它停留的时间长短交纳费用。2. 设计需求及分析说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模 块之间的层次(调用)关系。实现设计中定义的所有数据类型,对每个操作写出伪 码算法;对主程
17、序和其他模块也写出伪码算法(伪码算法的详细程度为按照伪码算 法可以在计算机键盘直接输入高级程序设计语言程序);画出函数的调用关系图。3. 设计功能的实现(用C或C+描述)以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进 行模拟管理。每一组输入数据包括三个数据项:汽车到达或离去信息、汽车牌照 号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆 到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停 车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实 现,队列以链表结构实现。#include tcc. h#i
18、ncludeincludestring. hid#include#includedefine MAX 10#define price 0. 05typedef struet timeint hour;int min;time;typedef struet carnodechar num10;time reach;time leave;carnode;typedef struet carstackcarnode *stackMAX+l:int top;carstack;typedef struet qnodecarnode *data;struet qnode *next;qnode;typed
19、ef struet nodeqnode *head;qnode *rear;linkqueue;void initstack(carstack *s)int i;s-top=0;for(i=0;istacks-top=NULL;int initqueue(linkqueue *Q)Q-head=(qnode*)malloc (sizeof (qnode); if(Q-head!=NULL)Q-head-next二NULL;Q-rear=Q-head;return 1;elsereturn -1;int arrival(carstack*enter, linkqueue *w)/车卩辆?到? 达
20、?carnode *p;qnode *t;p=(carnode*)malloc (sizeof(carnode);printf Cn请?您U输?入?车u 牌?号?:毗);scanf(%s, &p-num);if(enter-toptop+;printf CAn该?车 U 停 ? 在的?位?置?:毗%d 号?,ent er-top);printf (n请?您 U 输?入? 车u到?达?的?时骸?间?:毗);scanf (%d:%d, & (p-reach. hour), & ( p-reach. min);enter-stackenter-top=p;return 1;elseprintf C对
21、?不?起e, ?停?车u场?已?满U请?您U停?在11便?道台?上?! ?);t二(qnode*)malloc(sizeof(qnode);t-data二p;t-next=NULL; w-rear-next二t; w-rear=t;return 1;void print(carnode *p, int room)/汽?车U离?站?时骸?缴0费?显?示?printf Cn车卩辆?离?开a的?时骸?间?:毗);scanf(%d:%d, &p-leave. hour, &p- leave, min);printf (n离?开a车 u辆?的?车 U 牌?号?为a:%s, p-num);printf C
22、n其?到?达?时 骸?间?为a:卩比02d:%02d, p-reach. hour, p-rea ch. min);printf Cn其?离?开a时 骸?间?为a:卩比02d:%02d, p-leave. hour, p-lea ve. min);printf (n应呱缴。费?用?为a:毗. 2f元a, (p-leave. hour-p-reach. hour) *60+(p-leave. min-p-reach. min)* price);free(p);void leave(carstack*enter, carstack *temp, linkqueue *w)/车u辆?离?开aint
23、room;carnode *p,*t;IQqnode *q;if (enter-top0)/有甌车 Uwhile (1)printf (n 请?您 U 输?入?车u在il停?车u场?上?的?位? 置?:);scanf(%d, &(room);if(room=l&roomtop)break;while (en ter-to proom) /位? 置?不?在U栈?顶的?汽?车U出?栈?temp_top+;temp-stacktemp-top=enter -stackenter-top;enter-stackenter-top=NUL L;enter-top;p=enter-stackenter-t
24、op;enter-stackenter-top=NUL L;enter-top;while (temp-top=l) /当獭?暂Y时骸?存?储疽?汽?车u的?栈?结d构1 中D有甌汽?车u时骸?enter-top+;enter-stackenter-top二tem p-stacktemp-top;temp-stacktemp-top=NULL; temp-top;print(p, room);/判D断?便?道台?上?是?否?有甌车卩及。停?车卩场?上?是? 否?已?满dif(w-head!=w-rear)&enter -tophead-next;t=q-data;enter-top+;prin
25、tf (n请?便?道台?上?的?%s号?车u进?入?第台?d位?置?。 , t-num, enter-top);printf (n 请?输?入?现?在。的?时骸?间?:毗);scanf (%d:%d, & (t-reach. hour), &(t-reach. min);w-head-next二q-next; if(q=w-rear)w-rear=w-head;enter-stackenter-top二t; free(q);elseprintf (n便?道台?里?没?有甌车u ! ?);elseprintfCn?前 停?车u场?里?没?有甌停?放?的?车u );显?示?停?车卩场?的?信?息C
26、void listl (carstack *s)int i;if (s-top0)printf CAn停?车 u场?:毗);printf (n停 ?车 u 位?置?t到?达?时骸?间?壮车U牌?号?);for (i=l:itop;i+)printf( %dt, i);printf (z,%02d:%02d, s-stacki-reach. hour, s-stac ki-reach. min);printf(t%s, s-stacki-n um);elseprintfCn对?不?起e, ?暂Y无T停?车卩场?里?的?信?息。! ?);/显?示?便?道台?的?void list2(linkque
27、ue *w)qnode *p;p=w-head-next;if(w-head!=w-rear)printf (n等台?待鄒车u辆?的?号?码?为a:毗);printf (n*wh订e(p!=NULL)puts (p-data-num);p=p-next;printf (n*elsebreak;printfCAn便?道台?里?没? 有f瓦车u ! ?);void list(carstack s, linkqueue w)int flag, tag;flag=l;while(flag)printf(n请?选?择?:毗 );printf(nttl、 C 停 ? 车卩场?信?息Cntt2. C便?道台
28、? 信?息0 ntt3. C返刁?回?主一菜? 单蹋);while (1)scanf(%d, &flag);if(flag=l|flag C 车 11 辆?出?站?登?记?n);printf(,zt3 C 停 ?车卩场?情。况?显?示?n);printf (z,t4 C 退?出?系u 统?n);*n);printf C请?选?择?项? 目?:毗“);scanf (%d, &a);while (b)if(a=l| |a=2| |a=3| |a=4)break;elseprintf CAn 错洙?误6! ?退?出?系卩统?n);b=0;break;switch(a)case1:arrival(&e
29、nter, &wait);break;case2:leave(&enter, &temp, &wait); break;case3:list(enter, wait);break;case 4:exit (0);defauIt:break;4. 实例测试及运行结果使用VS2010运行代码调试成功之后,界面成功跳转出来如下:(图2J)按1,进行车辆进站登记,登记工3辆车的数据,如下:(图22) DiXdesktopXiiSi-l-XfpbXiXtccXDebugXtcc.exe1&欢迎使用停车场管理系纟充&请选擇工页目:WACX234&次迎使用停车场管理系纟充XR青选擇工页目:丄聲记 贅记然后按
30、3,查看停车场停车信息,以下为3辆车的数据:(图23)$ D:desktop课程设计停车场首理匕停牟场营理tccDebugtcc.exe1234青选择项目:场情况显示请选扌圣:3、Mi丄、2、1请选择:到达时间车牌号09:00晋 AUL234 2晋QD344509:15晋QB2345309=23、iilK丄、2、之后按2,对3辆车进行了出站登记,一下为一辆车的出站信息:(图24)3辆车全部出站登记之后再查看停车场信息,提示“暂无停车场里的信息!”O:乙esktop课程停停牟境営理tuuDebugtuuexe卜=最后,按4退出系统,测试完毕。(图25)5. 实现提示使用说明:使用该程序的具体步骤
31、在上一项中已有说明。需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也 用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽 车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。以上要求已完成,以下为调试结果:(图26)S| C:Windowssystem32cmd.exeQ C:Windowssystem32cmd.exe皿欢迎使用停车场管理系统&碱迎使用停车场管理系做&12 3 4一TM 记记5Z|HHH 进出场糸HHH $SIHHH3请选择顶目门12 3息单心菜 场常壬 车道回翳车辆的号軌算首務資祈样豪黃韓*)(煦祥播資胃(祥*kx祥“資存務資胃
32、務*AAAA(图 2-7)停车场已经停满,便道上有一辆暂停的,有一辆汽车出站之后,便道上的车自动停到 了第三位置上。之后再次查看停车信息如下:(图28)&欢迎使用惇车场管理系纟充Z坂憧况显示卩靑选扌睪项目 2谶您输入车在停车场上的位 = 1 车辆离幵的时间,09:40M离丑日寸|可为z 09 =40应缴费用为:X-507E请更道上的aaz 号车进入第3位置。1请揄入现在的时间:09=50Sfl C:Windowssystem32cmd.exe&欢迎使用停车场管理系统立繫堤况显示请选择项目3.请选择: 场位择 宇选 崖丁请到达时间09:20C 2车牌号09:30AAAA1(?此时便道上的车已停到
33、3号车位上,查看停车场信息也可查到。(图2-9)3. 学生管理系统专业:软件工程 班级:软件12xx姓名:竺冬学号:201200xxxx完成日期:2014. 6. 261. 问题描述大学里有各种类型的学生,校方需要对这些学生的信息进行计算机管理。所开 发的软件应包括各类学生的添加、修改、删除和查找等功能。考虑到软件的可重用 性、可扩展性和可维护性,决定采用面向对象的程序设计方法来开发系统。学生信 息需要以文件方式保存到计算机硬盘中。另外,系统的用户界面应该尽可能友好, 方便用户使用。2. 设计需求及分析(1)使用C+语言开发,充分利用面向对象程序设计的类、对象、继承、封装和多 态性等(2)概念
34、来设计和实现该管理系统。(3)设计一个Person (人员)类,考虑到通用性,只抽象出所有类型人员都具有的属 性:name (姓名),id (身份证号),gender (性别),birthday (出生日期)等 等。其中出生日期为内嵌子对象,是一个Date (日期)类型,Date类具有属 性:year(年),month (月),day (日)。用成员函数实现对人员信息的录入和显 示等必要功能操作。(4)从Person类派生出Student (学生)类,添加属性:studentNo (学号), schoolName (学校),classin (班级)。从 Person 类派生出 Teacher
35、(教师)类, 添加属性:teacherNo (教师编号),schoolName (学校),department (部门)。(5)从Student类中派生出UnderGraduate (本科生)类,添加属性:major (专业)。 从Student类中派生出GraduateC研究生)类,添加属性:directionC研究方向), adviserName (导师姓名)。(6)从Graduate类和Teacher类派生出TA (助教博士生)类。(7)写程序测试上述各类,看能否正常运行。(8)构建必要的辅助类,实现对本科生、研究生和助教博士生的添加、修改、删除、查询管理。根据需要定义类的构造函数、析构
36、函数、拷贝构造函数、成员函数。必要时重 载函数。(10) 要求将Person类设置为虚基类,以消除其派生类成员访问的二义性问题(注 意在虚基类各级派生类的构造函数实现时调用虚基类的构造函数)。(11) 要求在Person类中定义虚函数displayDetails (),用于显示当前对象的信息; 同时定义虚函数inputData(),用于从键盘获取当前对象的信息。Person类所有 派生类也要定义同名虚函数,使程序可以实现动态多态性。(12) 用菜单方式设计主控模块程序。(13) 对程序源代码要给出各部分的详细注释,这也是该题目的考核重点之一。(14) 用UML语言描述系统用到的类及其关系。3.
37、 设计功能的实现(用C或C+描述)功能模块说明(1) 本科生管理:数据添加模块、数据修改删除模块、数据查询模块;(2) 研究生管理:数据添加模块、数据修改删除模块、数据查询模块;(3) 助教博士生管理:数据添加模块、数据修改删除模块、数据查询模块;(4) 用户离开模块;cout*|*|欢迎您使用学生管理系统代码段:1主程序(放在“源.cpp”中)#include # include #include date.h#include persion.h#include student.h#include teacher.h#inelude ”undergraduate.h#include grad
38、uate.h#include ta.h#inelude ”undergraduateManager.h#inelude graduateManager.h#include TAManager.husing namespace std;void main(int argc, char *argv) int choiceN;UndergraduateManager unMan;GraduateMa nager grMa n;TAManager taMan;cout* * *e ndlcout* * *e nd 卜doH endl;cout n nttl:本科生管理”; cout ntt2:研究生管
39、理”; cout nntt3.助教博士生管理”; cout n tt 0:离开cout endl;coutH endl;cout ”请选择: endl;cin choiceN;switch(choiceN)case 1:unMan .dataMa nage(); break;case 2:grMa n.dataMa nage();break;case 3:taMa n.dataMa nage();break;default:break;while(choiceN!=0);cout*,2ffl)*“endl;cout*|*|感谢使用学生管理系统|*|*endl;cout*a”vvendl;2日期
40、类(放在“date.h”中)#ifndef DATE_H#define DATE_H# include using namespace std;class Dateprivate:int year;int mon th;int day;public:Date()year = 0;month = 0;day = 0;Date(i nt yy,int mm,i nt dd)year= yy;month = mm;day = dd;Date(Date& d)year = d.year;month = d.month;day = d.day;Date()void setYear(int yy) yea
41、r = yy;void setMonth(int mm) month = mm;void setDay(int dd) day = dd;int getYear()return year;int getMonth()return month;int getDay()return day;void inputDate()cout ”年:cin year;cout 月:cin month;cout H:cin day;void displayDate() cout year month day endl;;#endif/DATE_H3.Person 类(放在 “persion.h” 中)#ifnd
42、ef PERSON_H#define PERSON_H#include #include # include #include date.husing namespace std;class Pers onprotected:char name20;/M 名char id18; 身份证号chargender2;/ 性别Date birthday;/出生日期public:Pers on();Pers on (char* sn ame, char* sid, char* sge nder,i ntyy,int mm ,int dd);Person()void setName(char* sname
43、)strcpy( names name);char* getName()return name;void setld(char* sid)strcpy(id,sid);char* getld()return id;void setGender(char* sgender)strcpy(ge nder,sge nder);char* getGender()return gender;void setBirthday(Date d)birthday = d;Date getBirthday()return birthday;virtual void inputData();/输入数据virtual
44、 void displayDetails();显示数据;Pers on:Pers on()strcpy(name,NA);strcpy(gender,男);strcpy(id,OOO);注意:这里没有给birthday赋值,系统会调用其默认构造函数也可以/Date d(1980,l,l);/birthday = d;Person:Person(char* sname, char* sid, char* sgender,intyy,int mm ,int dd):birthday(yy,mm,dd)strcpy(name,sname);strcpy(id,sid);strcpy(gender,s
45、gender);void Person:inputData()cout 姓名:;cin name;cout 身份证号:;cin id ;2dcout 性别:;cin gender;cout 出生日期: endl;char* getTeacherNo()return teacherNo;void Teacher:displayDetails()birthday.i nputDate();Person:displayDetails();void setSchoolName(char* sschool)cout ”教师编号: teacherNo endl;cout 学校: schoolName en
46、dl;void Person:displayDetails()strcpy(schoolName,sschool);Xcout ”部门: department endl;icout ”姓名:name endl;jchar* getSchoolName()i# endif/TEZCHER_Hcout 身份证号:id endl;5.Student 类(放在 “student.h” 中)cout ”性别:genderendl;return schoolName;#ifndef STUDENT_Hcout H出生日期:“;#define STUDENT_Hbirthday.displayDate();void setDepartment(char* sdepartment)# include # include #endif/PERSON_Hstrcpy(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤气生产自动化水平提升考核试卷
- 智能电网与电网运行效率评估考核试卷
- 企业文化建设与组织内部沟通机制考核试卷
- 卫生器具产品创新与儿童使用安全性研究考核试卷
- 成本管理在公共设施维修保养中的应用策略考核试卷
- 鸡西辅警考试题库
- 极地资源在军事领域的开发利用
- 公司工作总结集合13篇
- 低碳绿色演讲稿
- 机器人与自动化对人力资源的影响
- 2025年云南省中考历史试卷真题(含答案解析)
- 安全文明施工专项方案及保证措施
- 清华大学五道口金融学院.清华金融评论-2025中国保险竞争力研究报告
- 圆桶养殖水质管理制度
- 2025-2030中国软磁材料行业市场发展分析及竞争格局与投资策略研究报告
- 经营管理岗考试题及答案
- 厂区外租户管理制度
- 独龙族女装设计
- 房屋转租定金合同协议书
- 2025年海上风力发电场运维设备维护与技术创新发展趋势报告
- (高清版)DB13(J)∕T 295-2019 既有住宅建筑综合改造技术规程
评论
0/150
提交评论