2024级通信工程专业面向对象课程设计要求与指导.docx

上传人:王** 文档编号:1182908 上传时间:2024-04-21 格式:DOCX 页数:33 大小:284.86KB
下载 相关 举报
2024级通信工程专业面向对象课程设计要求与指导.docx_第1页
第1页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第2页
第2页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第3页
第3页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第4页
第4页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第5页
第5页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第6页
第6页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第7页
第7页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第8页
第8页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第9页
第9页 / 共33页
2024级通信工程专业面向对象课程设计要求与指导.docx_第10页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《2024级通信工程专业面向对象课程设计要求与指导.docx》由会员分享,可在线阅读,更多相关《2024级通信工程专业面向对象课程设计要求与指导.docx(33页珍藏版)》请在优知文库上搜索。

1、2024级面对对象课程设计要求与指导专业:通信工程指导老师:任世卿,刘洋,马玉峰,李晓静一、课程设计的目的面对对象课程设计是通信工程专业特别重要的实践性环节之一,是学完面对对象程序设计课程后的一次全面的综合练习。本课程设计主要在于巩固学生对面对对象程序设计的基础理论的理解,驾驭面对对象程序设计开发的基本方法,进一步提高学生综合运用所学学问的实力。二、课程设计的要求及内容(一)课程设计的基本要求以MiCroSoftVisualC+6.0作为集成开发环境,完成面对对象课程设计。要求每人完成一个题目,题目由指导老师指派,学生与题目之间一一对应(即两个学生的题目不能重复),学生进行程序分析、设计、编程

2、与调试、功能测试,并最终完成课程设计报告。其中每个题目必需采纳类与对象进行编程,每个题目的程序必需用两种工程实现,一种是Win32ConsoleApplication,输入输出采纳传统DOS的字符式交互界面;另一种是MFCAppWizarcKexe),输入输出采纳基于WindoWS的图形式交互界面。(二)各题目具体要求1 .分数类的设计与实现建立用于完成分数形式运算的类RationalNumbero编写一个测试该类的程序。用整数变量表示类的私有数据(即分子和分母)。给类供应一个能够对所声明的对象初始化的构造函数。为了能够在不供应初始化值的状况下也能对对象初始化,构造函数中应当包含默认的值。构造

3、函数还应当以最简分数的形式存储数据,即2/4应当在对象中存储成分子为1、分母为2的形式。公有成员函数应当有以下功能:(1)(4)两个有理数相加, 两个有理数相减, 两个有理数相乘, 两个有理数相除,以最简形式保存结果; 以最简形式保存结果; 以最简形式保存结果; 以最简形式保存结果;(5) 以a/b的形式输出有理数(a是分子,b是分母);(6) 以浮点形式输出有理数。2 .一维数组类模板的设计与实现建立一维数组数据结构的模板类,使一维数组中的数据元素可以是char,int,float等多种数据类型,类中的成员函数主要包括:(1) 排序函数,能够对数组元素进行升序排列;(2) 查找函数,能够在输

4、入待查元素后,输出其在数组中的下标;(3) 构造函数,初始化输入数组元素,这里要求数组元素的个数n是一个变量;(4) 析构函数,释放数组元素所占用的堆内存;(5) Set函数,可以为指定的数组元素赋值;(6) Get函数,可以读取指定数组元素的值;(7) Print函数,可以输出数组元素的值。(8) 编写一个测试该模板类的程序。3 .向量类的设计与实现编写一个实现n维向量各种操作的类,功能包括:(1) 构造函数实现n维向量的初始化构造,这里n可变;(2) 析构函数实现向量动态内存的释放;(3) 拷贝构造函数实现向量的拷贝构造;(4) 重载赋值运算符=实现两个向量之间的赋值;(5) 编写成员函数

5、求两个向量的内积;(6)编写成员函数求两个向量的外积;(7) 编写成员函数求两个向量的和;(8) 编写成员函数求两个向量的差;(9) 编写成员函数推断两个向量之间的线性相关性。(10)编写一个主函数测试多项式类的上述功能。4 .多项式类的设计与实现开发多项式类Polynomial,多项式的每一项用链表的结点表示,每项包含一个系数和一个指数。例如:2x的指数为4,系数为2。请开发一个完整的POIynonlial类,包括构造函数、析构函数以及“get”函数(读取值)和“set”函数(设置值)。该类还要供应以下重载的运算符:(1) 重载加法运算符+,将两个多项式相加。(2) 重载加法运算符一,将两个

6、多项式相减。(3) 重载赋值运算符=,将一个多项式赋给另外一个多项式。(4) 重载加法运算符*,将两个多项式相乘。(5) 编写一个主函数测试多项式类的上述功能。5 .基于成员函数的方阵类设计与实现设计一个能够实现nXn矩阵操作的类,这里的n可变,主要功能包括:(1) 运用构造函数完成方阵的初始化赋值;(2) 运用析构函数完成矩阵动态内存的释放;(3) 运用函数实现两个矩阵的和;(4) 运用函数实现两个矩阵的差;(5) 运用函数实现两个矩阵的积;(6) 运用函数实现矩阵的转置;(7) 运用函数求矩阵中的最大值;(8) 运用函数求矩阵中的最小值。(9) 编写一个主函数测试上述功能。6 .基于运算符

7、重载的方阵类设计与实现设计一个能够实现nXn矩阵操作的类,这里的n可变,主要功能包括:(1) 运用构造函数完成方阵的初始化赋值;(2) 运用析构函数完成矩阵动态内存的释放;(3) 重载加法运算符+,实现两个矩阵的和;(4) 重载加法运算符一,实现两个矩阵的差;(5) 重载加法运算符*,实现两个矩阵的积;(6) 重载加法运算符二,实现两个矩阵之间的赋值;(7) 运用拷贝构造函数完成方阵的拷贝构造;(8) 重载加法运算符实现矩阵依据行列的格式输出;(9) 编写一个主函数测试上述功能。7 .复数类的设计与实现设计一个第数类,复数类的数据成员是real和imag,它们的数据类型是double,分别表示

8、复数的实部和虚部,要求如下:(1)编写一个带有缺省参数的构造函数,默认值为(0,0),实现一个复数的构造。(2) 编写一个拷贝构造函数,实现一个复数的拷贝构造。(3) 编写一个析构函数,在函数中输出(real,imag)被析构,例如:假如复数的实部为1,虚部为2,则被析构时程序输出:“(1,2)被析构(4) 重载运算符“+”为复数类的成员函数,其功能是返回两个复数的相加的结果。(5) 重载运算符“一”为复数类的成员函数,其功能是返回两个复数的相减的结果。(6) 重载运算符为复数类的友元函数,其功能是返回两个复数的相乘的结果。(7) 重载运算符“/”为复数类的友元函数,其功能是返回两个复数的相除

9、的结果。(8) 重载单目运算符“一”为复数类的友元函数,其功能是返回当前复数的相反数。(9) 重载运算符“”为复数类的友元函数,其功能是依据以格式(real,imag)(10)输入复数。例如:假如复数的实部为L虚部为2,则输入的格式是“(1,2)”。(三)重载运算符“”为复数类的友元函数,其功能是依据以格式(real,imag)(12)输出复数。例如:假如复数的实部为L虚部为2,则输出的结果是“(1,2)”。(13)以上函数在类的内部写出函数原型,在类的外部写出函数实现代码,最终编写一个主函数main测试以上的函数功能。8 .单链表类的设计与实现编写一个实现学生信息单链表各种操作的类,学生信息

10、包括学号、姓名和成果,类实现以下功能:(1) 初始化单链表为空表;(2) 实现单链表的插入操作的成员函数;(3) 实现单链表的删除操作的成员函数;(4) 实现单链表的查找操作的成员函数(给定学号,查找其学号、姓名和成果);(5) 实现求单链表长度的成员函数;(6) 实现建立单链表的成员函数,单链表节点的个数不确定。(7) 编写一个主函数测试上述功能。9 .大整数类的设计与实现计算机中表示整数的位数是有限的,设计并实现一个能够进行随意长度整数精确计算的类,完成以下功能:(1) 用构造函数实现大整数的构造。(2) 重载“+”运算符,实现两个大整数的相加运算;(3) 重载“一”运算符,实现两个大整数

11、的相减运算;(4) 重载运算符,实现两个大整数的相乘运算;(5) 重载运算符,实现大整数的输出。提示:长整数用一维字符型数组来存储,数组的每一个元素依次存储长整数的一位数字。设有k位长整数m,用数组a口存储:m=ak*10(k-l)+ak-l*10(k-2)+.+a2*10l+al*100并用a0存储长整数m的位数,即aO=k.10 .小型人员信息管理系统的设计与实现某小型公司主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在,须要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。人员编号基数为1000,每输入一个人员信息编号依次加Io程序要有对全部人员提升级别

12、的功能。本例中为简洁起见,全部人员的初始级别均为1级,然后进行升级,经理升为4级,兼职技术人员和销售经理升为3级,推销员认为1级。月薪计算方法是:经理拿固定月薪8000元;兼职技术人员按每小时100元领取月薪;兼职推销员的月薪按该推销员当月销售额的4%提成;销售经理即拿固定月薪也领取销售提成,固定月薪为5000元,销售提成为所管辖部门当月销售总额的千分之五。要求为每一类人员单独建立文件,并在每个文件中手工录入一些人员基本信息,并依据这些基本信息计算职工的月薪,并将计算结果保存入相应的磁盘文件中。要求编写程序实现上述功能,并且可以通过实例演示上述功能。11 .高校老师工资的计算与存储某高校的老师

13、的职称等级确定其工资等级,老师共有四种职称等级:助教,讲师,副教授,教授,其月薪分别为:助教900元/月,讲师100O元/月,副教授1300元/月,教授1600元/月。编写一个计算老师工资的程序,要求如下:(1)建立一个抽象基类TeaCher,其数据成员有:老师姓名name,老师职称POSition,老师工资Sala”;成员函数有:纯虚函数CalCSalary()计算老师工资,纯虚函数ShoW()输出老师的姓名、职称和工资。(2)分别从抽象基类TeaCher中派生出四个具体类Assistant,Lecture,AssociateProfessor,Professor,分别表示助教,讲师,副教授

14、,教授。在每一个类中实现三个成员函数,构造函数为老师初始化姓名和职称;CalCSaIary()函数计算老师工资;ShoW()输出老师的姓名、类别和工资,其中输出格式为:姓名:name,职称:position,工资:SaIary元(3)老师的姓名和职称信息包含在磁盘文件teacher,txt中,要求建立teacher,txt文本文件,并输入如下信息:王刚助教李铭讲师,张莉副教授赵蒙教授程序从Teacher.txt文件中读取上述信息,作为工资计算依据。(4)编写一个主函数main测试以上各类,要求用一个基类的指针分别指向派生类对象分别计算每一个人的工资,并将输出结果保存到TeaCher.txt文件

15、中。例如输出如下结果:王刚助教900李铭讲师1000张莉副教授1300赵蒙教授160012 .小型老师与干部管理信息系统的设计与实现分别定义TeaCher(老师)类和Cadre(干部)类,采纳多重继承方式由这两个类派生出新类TeaCheJCadre(老师兼干部)。要求:(1) 在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。(2) 在TeaCher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在TeChearCadre类中还包含数据成员WageS(工资)。(3) 对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。(4) 在类体中声明成员函数,在类外定义成员函数。(5) 在派生类TeaCherCadre的成员函数ShOW中调用TeaCher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用CoUt语句输出职务与工资。(6) 人员的基本信息分别存储在磁盘文件Teacher.txt,Cadre.txt和TeaCherCadre.txt文件中,TeaCher.txt的格式是:(姓名、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 课程设计

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!