面向对象程序设计课程设计指导
《面向对象程序设计》课程设计教学大纲设计

《⾯向对象程序设计》课程设计教学⼤纲设计《⾯向对象程序设计》课程设计教学⼤纲适⽤专业:计算机科学与技术课程周数:2周⼀、⼤纲说明本⼤纲根据计算机科学与技术专业⼈才培养⽅案制订。
(⼀)课程设计性质课程设计是学⽣对课程所学知识的综合运⽤,它与课堂听讲、上机实验、课外练习、⾃学研究相辅相成,构成⼀个完整的课程教学体系。
(⼆)主要先修课程和后续课程1.先修课程:《C语⾔程序设计》2.后续课程:《Java程序设计》、《软件⼯程》⼆、课程设计⽬的及基本要求本课程全⾯系统的学习⾯向对象程序设计的基本概念,基本语法和编程⽅法。
正确理解掌握C++⾯向对象程序设计的基本特性:类,对象,继承与派⽣,多态,虚函数,模板,流类库等。
遵循软件过程的各个环节进⾏系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品,了解当前常⽤的软件开发⼯具(Visual C++),要求熟练掌握基于Win32 Console Application的程序设计,培养解决实际问题的能⼒。
三、课程设计容及安排1、有理数运算问题描述:有理数是⼀个可以化为⼀个分数的数,例如2/3,533/920,-12/49都是有理数,⽽就为⽆理数。
在C++中,并没有预先定义有理数,需要时可以定义⼀个有理数类,将有理数的分⼦和分母分别存放在两个整型变量中。
对有理数的各种操作都可以⽤重载运算符来实现。
基本要求:定义并实现⼀个有理数类,通过重载运算符+、-、*、/对有理数进⾏算术运算,通过重载运算符==实现判定两个有理数是否相等。
写⼀个优化函数,它的作⽤是使有理数约去公分母,也即是使保存的有理数分⼦和分母之间没有公约数(除去1以外)。
此外,还要定义⼀个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。
测试数据:在应⽤程序中,创建若⼲有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进⾏各类运算,输出运算结果,检验其正确性。
实现提⽰:设有两个有理数a/b和c/d,则有:(1)有理数相加分⼦=a*d+b*c;分母=b*d(2)有理数相减分⼦=a*d-b*c;分母=b*d(3)有理数相乘分⼦=a*c;分母=b*d(4)有理数相除分⼦=a*d;分母=b*c优化函数在创建有理数对象时应执⾏,在执⾏其它各种运算之后也需执⾏它,这样可保证所存储的有理数随时都是最优的。
c++课程设计报告书

河南城建学院《面向对象程序设计》课程设计报告书设计题目:企业人事管理系统指导老师:崔雪冰蔡照鹏张妍琰学生学号:*****************同组人员:于文文、梁泽玉、宋应取时间:2011年12月28日目录第1章选题 (2)1.1题目背景 (2)1.2系统实现的具体分工 (2)1.2.1 标题 (2)1.2.2题目要求 (2)1.3开发环境 (2)2.1实现功能 (3)2.2概要设计(涉及类的框图) (3)2.3界面设计 (4)第3章系统实现 (5)3.1涉及知识点 (5)3.2系统运行(主要运行界面抓图) (5)3.3源程序代码 (8)第4章结束语(心得体会) (19)第1章选题1.1 题目背景企业人事管理系统是企业管理中的一个重要内容,随着时代的进步,企业人员数量也不断增加、分工的不断细化、各个行业间联系的不断密切,对人事管理的要求也不断提高。
早期的人工方式的管理系统已不适合现代企业的公司的发展,实现企业人事管理的系统化、规范化、自动化,是现代企业管理的首选。
1.2系统实现的具体分工系统分为职工类、职工数据类、权限设置类以及主函数等几大模块,其中职工类实现对公司职工个人基本信息的描述,职工数据类实现公司对职工的维护,权限设置类实现对使用者的操作权限设置功能,main() 函数实现对程序主界面的引导。
1.2.1 标题企业人事管理系统1.2.2 题目要求设计一个小型人事管理系统,假设公司只有经理、业务经理、普通职工,需要描述他们的信息,如职工编号、姓名、电话、住址等信息,且需要设置系统操作权限,实现界面的转换,增、删、查、改、显示功能。
1.3开发环境Visual C++ 6.0机型:方正电脑处理器名称:Intel(R)Core(TM)********************硬盘驱动器:WDC WD1600AAJS-22WAAO系统内存:金士顿内存2GB显示卡:NVIDIA GeFORCE 9400 GT显示器:方正科技FG981-W9操作系统:Microsoft Windows XP Professional第2章设计内容2.1实现功能系统主要包括企业系统管理人员对企业职工信息的增、删、查、改等功能和普通职工对职工信息的查看功能。
面向对象程序设计(C++课程设计报告)

(2)问题描述:
使用MFC,应用MFC中已有函数以及画图类完成一个划线程序,使得能用鼠标在MFC视图中划出一道可以自定义线的格式的线,然后完成拾取、保存以及读取工作。
(3)问题分析:
该题目需要我们在熟练运用MFC的基础上,对MFC中函数进行掌握,并学会划线类地应用。首先需要我们完成划线操作利用buttondown和buttonup两个消息响应函数,然后将所有的线的属性放入vector容器中,实现线的存储,利用两边之和约等于第三边完成线的选取工作,再利用文本输入输出流完成保存和读取。
void CHuaxianView::OnMenuitem32771()
{
// TODO: Add your command handler code here
dialog a;
a.DoModal();
m_b=a.m_b;
m_r =a.m_r;
m_w =a.m_w;
m_y =a.m_y;
}
在ChuaxianView类的OnLButtonDown()函数中完成记录起始点的工作:
// TODO: add draw code for native data here
for(int i = 0; i < m_vLines.size() ;i++)
m_vLines[i].Draw(pDC);//将容器中所有线进行重绘
}
在ChuaxianView类的对话框函数中完成数据输入与更新:
void CHuaxianView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
《 面向对象程序设计》课程设计实验报告

《面向对象程序设计》课程设计实验报告指导教师小组成员:专业班级: 2010级计算机科学与技术专业开设时间:2011-2012(一)目录1.任务1 (2)1.1 任务介绍 (2)1.2 小组成员任务分配 (2)1.3.1设计思想及主要流程图 (2)1.3.1主要程序清单 (2)1.3.1 运行结果及分析 (4)1.3.2设计思想及主要流程图 (2)1.3.2主要程序清单 (2)1.3.2 运行结果及分析 (4)1.3.3设计思想及主要流程图 (2)1.3.3主要程序清单 (2)1.3.3 运行结果及分析 (4)2.任务2 (2)2.1 任务介绍 (2)2.2 小组成员任务分配 (2)2.3设计思想及主要流程图 (2)2.3主要程序清单 (2)2.3 运行结果及分析 (4)3收获、体会和建议 (4)任务1.按照要求设计类 1.根据输出设计类设计类就是根据数据封装的要求,抽象出适合的类。
有如下测试程序和测试程序的输出结果,要求设计类Welcome 。
void main() { Welcome we; Welcome you(we); you.Display();you.Set(“Thank you.”);cout<<you.Get()<<endl; you.talk(); you.Display();}测试程序的输出结果如右: 设计类Welcome 的原则 1)在头文件Cpp1.h 中声明类 2)在Cpp1.cpp 中实现类3)使用内联函数定义Display()函数2.使用类改写程序编写一个求方程02=++c bx ax 的根的程序,用三个函数分别求当ac b 42+大于零、等于零和小于零时方程的根。
要求从主函数输入a 、b 、c 的值并输出结果。
使用面向过程的解法一般是把变量设为double 型,适用库函数cmath 进行计算。
请注意:使用面向对象的方法解决这个问题,首先要从解一元二次方程出发,抽象一个代表一元二次方程的类。
2024年C++面向对象程序设计教案(含多款)

C++面向对象程序设计教案(含多款)C++面向对象程序设计教案一、教学目标1.理解面向对象程序设计的基本概念,包括类、对象、继承、多态等。
2.掌握C++面向对象程序设计的基本语法和编程技巧。
3.能够运用面向对象的思想进行程序设计,解决实际问题。
二、教学内容1.面向对象程序设计的基本概念(1)类与对象类是对具有相同属性和行为的一组对象的抽象描述。
对象是类的实例,具有类定义的属性和行为。
(2)继承继承是面向对象程序设计的一个重要特性,用于表示类之间的层次关系。
子类可以继承父类的属性和行为,并在此基础上添加新的属性和行为。
(3)多态多态是指同一个操作作用于不同的对象时,可以有不同的解释和行为。
多态分为编译时多态和运行时多态。
2.C++面向对象程序设计的基本语法(1)类的定义与实现类定义包括类名、属性(成员变量)和方法(成员函数)。
类实现包括成员函数的定义。
(2)构造函数与析构函数构造函数用于创建对象时初始化成员变量,析构函数用于对象销毁时释放资源。
(3)继承与派生继承使用关键字class和public、protected、private访问限定符。
派生类可以添加新的成员变量和方法,也可以重写父类的方法。
(4)多态的实现多态可以通过虚函数、抽象类和接口实现。
虚函数使用关键字virtual声明,抽象类包含至少一个纯虚函数,接口是一种特殊的抽象类,只包含纯虚函数。
3.面向对象程序设计实例(1)设计一个简单的银行账户管理系统,包括账户类、储蓄账户类和信用卡账户类。
(2)设计一个图形类库,包括点、线、矩形和圆形等基本图形类。
三、教学方法1.讲授法:讲解面向对象程序设计的基本概念、语法和编程技巧。
2.案例分析法:通过分析实际案例,让学生理解面向对象程序设计的应用。
3.实践法:让学生动手编写代码,加深对面向对象程序设计的理解。
4.讨论法:组织学生讨论面向对象程序设计在实际项目中的应用。
四、教学评价1.课后作业:布置课后作业,检查学生对课堂知识的掌握程度。
Java语言与面向对象程序设计课程设计

Java语言与面向对象程序设计课程设计近年来,Java语言已经成为了企业级应用开发的首选编程语言之一。
而面向对象程序设计则已成为了Java编程的重要思想和核心思路。
本次课程设计将围绕Java语言和面向对象程序设计展开,帮助学生了解Java编程的基础知识和实践技巧,以及面向对象程序设计的基本概念和方法。
课程设计背景在当前的信息社会中,软件开发已成为了一项企业竞争的关键因素。
面向对象程序设计是现代软件开发中应用最广泛的编程范式之一,其核心思想是把现实世界中的事物视为对象,通过对象之间的交互来实现复杂系统的设计和实现。
Java语言作为一种跨平台的编程语言,在企业级应用中得到了广泛的应用,其强大的面向对象编程特性也成为了Java编程的重要优势。
课程目标本次课程设计的主要目标是帮助学生掌握Java语言和面向对象程序设计的基本原理和实践技巧。
具体目标包括:•掌握Java语言的基本语法和程序结构;•熟悉Java编程环境和开发工具;•理解面向对象编程的基本概念和原则;•掌握Java中面向对象编程的相关技术和思想;•实现一个基于Java的简单应用程序,综合应用所学知识。
课程内容本次课程设计主要包括以下内容:•Java基本语法和程序结构;•面向对象编程概念和原则;•Java编程环境和开发工具的使用;•继承、多态、抽象类和接口等面向对象编程的相关技术和思想;•Java中常用的标准类库和工具。
课程安排本次课程设计按照如下安排进行:第一周•介绍Java语言和面向对象程序设计的概念;•熟悉Java编程环境和开发工具;•学习Java基本语法和程序结构。
第二周•学习Java中的数组、字符串和输入输出;•掌握Java中的分支和循环语句;•实现一个简单的命令行程序。
第三周•学习Java中的面向对象编程概念和原则;•了解类、对象、方法和属性的概念;•学习如何定义和使用类。
第四周•学习Java中的继承和多态;•熟悉抽象类和接口的概念;•实现一个基于继承和多态的简单程序。
面向对象程序设计课程设计

面向对象程序设计课程设计本课程设计是在学习面向对象程序设计之后的实践教学环节。
该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。
要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。
学生通过课程设计在下述各方面得到锻炼:1、能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。
2、提高程序设计和调试能力。
学生通过上机实习,验证自己设计的算法和程序的正确性。
学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。
课程设计内容1、了解并掌握中小型综合应用程序的一般设计方法,具备初步的独立分析和设计能力;2、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;5、课题的代码要求达到一定工作量,并具有一定的深度和难度;6、根据课题程序的分析和设计过程,撰写课程设计报告。
课程设计要求课程设计结束应提交程序源代码、课程设计报告的电子稿和打印稿,以作为整个课程设计评分的书面依据和存档材料。
课程设计报告以规定的格式书写、打印并装订,排版及图、表要清楚、工整。
课程设计报告的内容如下:1.封面:题目、班级、学号、姓名、指导教师和完成日期。
2.正文包括以下内容:1、根据实现的功能,划分出合理的对象类,明确对象类间的关系。
2、为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。
同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。
3、编程简练,程序功能齐全,能正确运行。
4、说明书、流程图要清楚,规范。
5、总结和体会:程序编写和调试过程中遇到了哪些问题,是如何解决的,以及对设计与实现过程的回顾和分析;经验和体会等。
c面向对象程序课程设计

c面向对象程序课程设计一、教学目标本节课的教学目标是让同学们掌握C面向对象程序的基本概念和语法,包括类、对象、继承、多态等核心概念。
通过学习,同学们能够熟练使用C++编写简单的面向对象程序,培养编程思维和解决问题的能力。
同时,在学习过程中,培养同学们的团队合作意识和自主学习能力。
二、教学内容本节课的教学内容主要包括以下几个部分:1.面向对象程序概述:介绍面向对象程序的基本概念,如类、对象、封装、继承、多态等。
2.类和对象:讲解如何定义一个类,如何创建和使用对象,以及构造函数和析构函数的概念。
3.继承:介绍继承的概念和实现方式,以及继承的好处和注意事项。
4.多态:讲解多态的概念、实现方式以及多态的好处。
5.面向对象程序设计实例:通过实例讲解如何运用面向对象程序设计的方法解决实际问题。
三、教学方法为了更好地实现教学目标,本节课采用以下几种教学方法:1.讲授法:讲解面向对象程序的基本概念、语法和实例。
2.讨论法:同学们进行小组讨论,分享学习心得和解决问题的方法。
3.案例分析法:分析实际编程案例,让同学们更好地理解面向对象程序设计的方法。
4.实验法:安排课后的编程实践,让同学们动手编写面向对象的程序,巩固所学知识。
四、教学资源为了支持本节课的教学内容和教学方法的实施,准备以下教学资源:1.教材:《C++面向对象程序设计》等相关教材。
2.参考书:提供一些关于C++面向对象程序设计的参考书籍,供同学们课后自主学习。
3.多媒体资料:制作精美的PPT,直观地展示面向对象程序设计的相关概念和实例。
4.实验设备:提供计算机和编程环境,让同学们能够进行实际的编程练习。
五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价同学们的学习成果。
评估方式包括:1.平时表现:考察同学们在课堂上的参与程度、提问回答、小组讨论等,占总评的20%。
2.作业:布置与课程内容相关的编程作业,让同学们巩固所学知识,占总评的30%。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计课程设计》指导书2 周)适用专业:苏州理工学院计算机科学与技术专业江苏科技大学苏州理工学院2018年8 月课程设计目的《面向对象程序设计课程设计》的目的是通过综合性程序设计训练,使学生进一步巩固对计算机程序设计语言 (C++) 基本语法、基本算法的理解,加深对面向对象程序设计的理解,并将课本上的理论知识的实际应用有机的结合起来,锻炼学生的分析问题、解决问题的能力,为学习后续课程和实际编程打下良好的基础。
二、课程设计要求利用所学的面向对象程序设计的编程知识和技巧,独立完成具有一定难度的程序设计题,养成良好的编程习惯,掌握基本程序设计的理念、方法,熟练运用程序调试的技巧,提高基本的程序开发能力。
1.学生必须独立完成本指导书中附录一中的所有编程题。
2.遵守机房管理制度和实验操作规则3.上机者在上机规定的时间内,不得从事与本课程设计无关的内容4.独立完成课题,严禁抄袭他人成果5.按时提交报告三、时间安排2018年9月2日~2018年9月 13日。
四、实验设备和开发工具1.计算机计算机应具有较好的性能和稳定性。
2.操作系统操作系统采用 Windows 2000 、 Windows XP 、 Windows 2003 server 等。
3.开发工具VC五、考核要求1.上机考核:在规定的时间内完成 1~2 题进行编程,占总成绩的 60% 。
2.课程设计报告:选附录中的一半题写成报告,格式要求见附录二,占总成绩的20%。
3.平时表现:占总成绩的 20。
附录一:课程设计内容【排序、数组操作】1.[题目]对一个 5 位数的任意整数,求出其降序数。
例如:整数是 82319,则其降序数是 98321。
算法提示:将整数的各位数分解到一维整型数组 a 中,再将 a 数组中的元素按降序排序,最后输出 a 数组元素值。
试建立一个类 NUM ,用于完成该功能。
具体要求如下:(1)私有数据成员 int n 。
存放 5 位数的整数。
int a[5] 。
存放其元素的降序排列值。
(2)公有成员函数NUM ( int x=0) :构造函数,用参数 x 初始化数据成员 n。
void decrease():将n的各位数值分解到 a数组中,并将a数组排成降序。
void show ( ) :屏幕显示原数及其降序数。
(3)在主程序中输入一个5位数的任意整数,然后定义一个 NUM类对象num,用上述输入的数初始化num,然后完成对该类的测试。
运行结果:输入一个五位的正整数 :82319n=823199 8 3 2 12.[题目]设有一个包含 size 个数的数列,要求能够把从指定位置 m 开始的 n 个数排成降序,并输出新的完整的数列。
可将数列存放在一维数组中。
例如,原数列有10个数,值为{ 1 , 8, 3, 0, 5, 9, 7, 6, 9, 8 } ,若要求把从第 4个数开始的 5个数排成降序,则得到的新数列为 { 1, 8, 3, 9, 7, 6, 5, 0, 9, 8 }。
试建立一个类 LIST ,完成上述功能。
具体要求如下:(1)私有数据成员int size 。
数列元素个数。
int *arr 。
数列数组的起始指针。
(2)公有成员函数LIST(int a[ ], int len):构造函数,用len初始化size,根据size动态分配数组存储空间, arr 指向该存储空间。
void sortpart (int m, int n) :将数列从第 m 个元素开始的 n 个数排成降序。
注意: 数列中数的序号与其元素的下标不一致。
void output( ) :输出新的完整的数列。
~LIST ():析构函数,释放 arr指向的存储空间。
(3)在主程序中定义数组int a[10]用于存放原始数列,其值为 { 1,8,3,0,5,9,7,6,9,8 }。
定义一个LIST类对象tt,用a数组及数组实际元素的个数初始化该对象,然后把从第 4个数开始的 5个数按逆序排列,完成该类的测试。
3.【题目】求整数x,使y=x2的各位数字为严格递增序列。
如:372=1369中,1、3、6、9是严格递增序列;又如,1、3、6、6、9就不是一个严格递增序列。
试建立一个类RISE,完成求出某范围内,满足条件的所有x及其平方数和x的个数。
具体要求如下:(1)私有数据成员int low,high : x 的取值范围的下限和上限。
int a[100][2] :每行存放满足条件的 x 及其平方数。
int count :满足条件的 x 的个数。
(2)公有成员函数RISE (int lw,int hi) :构造函数,用参数 lw 和 hi 分别初始化 low 和 high 。
缺省的取值范围为 [10,1000] 。
将 count 初始化为 0。
int isrise(int y) :判断 y 的各位数字是否严格递增,若是则返回1,否则返回 0。
void process():求出满足条件的所有x及其平方,并将结果存入数组a,同时统计满足条件的 x 的个数。
void show():输出数组 a及 count。
⑶ 在主函数中完成对该类的测试。
定义一个RISE类的对象v,使用缺省方式初始化该对象,按上述要求处理并输出结果。
程序运行结果应为13 16916 25617 28937 1369116 13456117 13689367 134689count=74.【题目】若数组a中的n个元素已按升序排列,现将一个新数 x插入到数组a中,插入后数组 a 的元素仍然保持升序。
使用的插入排序算法是:从数组 a 的最后一个元素开始,依次向前扫描数组元素,若 a[i]大于x,则将a[i]放入a[i+1](后移一个位置),并继续向前扫描,直到找到某个 a[i]小于或等于x,将x赋值到a[i+1]元素中,此时完成插入排序工作。
编写程序时要考虑初始时,数组是空数组(即数组中没有元素),插入第一个元素时,要做特殊处理。
试建立一个类InsSort,完成插入排序工作。
具体要求如下:(1)私有数据成员int a[100] :存放排好序的整数序列。
int n :数组实际元素个数。
(2)公有成员函数InsSort (int b[ ], int size):构造函数,用参数 b初始化a数组,用参数size初始化n, size 的缺省值是 0。
void insert(int x):将x插入到数组 a中。
void show( ) :输出数组元素个数及数组各元素值。
(3)在主函数中完成对该类的测试。
定义数组int b[100] ,其初值是:{ 1 , 3, 5 } 。
定义一个InsSort 类的对象arr ,用数组 b 及其元素的个数初始化该对象。
定义数组int c[100] ,其初值是: { 0 , 1, 2, 3, 5, 8, 10 } 。
然后循环将数组 c 中的所有元素依次插入到对象arr 的成员数组 a 中。
最后输出对象arr 中的全体数据成员。
程序正确运行后,应输出:number=100, 1, 1, 2, 3, 3, 5, 5, 8, 105.【题目】将两个分别从小到大排列的有序数组a和b复制合并到第3个有序数组c中。
m和n分别是数组a和b的元素个数,结果 c的元素个数为k。
例如a和b数组元素分别为 {1,2, 2, 3, 8}和{3, 4, 7, 8},则结果数组 c 的值是: {1, 2, 2, 3, 3, 4, 7, 8,8} 。
算法是:将 a、b 两个数组看成两个队列,比较队首的两个元素,将较小者放入 c 队列尾部,如果队首的两个元素相等,则先选择 a 队列首部元素加入 c 队列尾部。
循环执行以上过程,直到 a 或 b 队列之一为空,然后将另一个非空队列拷贝到 c 队列尾部。
注意:不允许使用其它算法(如排序算法)。
试建立一个类Com,完成合并工作。
具体要求如下:(1)私有数据成员int m, n, k :分别是 a, b, c 三个数组的元素个数。
int a[100], b[100], c[100]:存放 a, b, c 三个数组的值。
(2)公有成员函数Com(int aa[ ], int m1, int bb[ ], int n1) :构造函数,用参数初始化 a, b 数组及其元素个数。
将 k 初始化为 0。
void combine( ) :完成合并工作。
void show():将a, b,c三个数组输出,每行输出一个数组。
(3) 在主函数中完成对该类的测试。
定义两个数组int x[100], y[100] ,其初值如上。
定义一个Com类的对象c,用x、y数组及其元素的个数初始化该对象,然后调用成员函数进行合并及输出工作。
程序正确的运行结果如下:a: 1, 2, 2, 3, 8b: 3, 4, 7, 8c: 1, 2, 2, 3, 3, 4, 7, 8, 86.[题目]建立一个 array 类。
要求如下:( 1)私有数据成员•int n :存储数组元素个数。
•int a[100]:存放数组元素。
( 2)公有成员函数•构造函数 array(int m,int b[]) :初始化数据成员 n, a。
•void delsame():完成将数组a中相同元素删除工作。
•void print() :将数组以每行 5 个元素的形式输出到屏幕。
( 3)编写一个程序测试该类。
在主函数中定义一个数组 int b[16] , 其初值是{1,2,1,5,3,4,6,3,4,2,7,6,9,8,6,10} 。
定义一个 array 类的对象,用 b 及数组元素个数初始化该对象,则经删除后 a 数组的内容为 {1,2,5,3,4,6,7,9,8,10} 。
7.【题目】设△是集合A上的二元运算,如果对于集合A中的任意元素a和b,都有a△ b=,且c€ A,则称二元运算△对于集合 A是封闭的。
现有一数组a,假定其数组元素构成集合 A。
试建立一个类DATA,判断求余运算“ %”对集合 A是否封闭。
即判断数组中的任意两个元素 a[i]和a[j],当a[j]不等于0时,a[i]除以a[j]所得余数仍然属于集合A。
具体要求如下:( 1 )私有数据成员int *a 。
整数指针,指向动态分配的数组空间int n 。
数组中元素个数( 2)公有成员函数DATA(int t[ ], int n1)。
构造函数,用n1初始化n,并根据n动态生成数组a,用 t数组对a数组初始化。
int belong(int a[ ], int n, int x)。
判断x的值是否在数组 a中,如果在返回1,否则返回0。
void fun()。
判断求余运算%对本对象是否圭寸闭,如果圭寸闭,输出"圭寸闭”。