C++程序设计实验指导(2)
2.进阶部分
(1)设计一个程序,通过重载求两个数中最大数的函数max(),分别实现求两个实数和两个整数及两个字符的最大者。
(2)编程程序求下式值,其中ni用函数来实现,且设参数n的默认值为2:
123410n 1,2,3 n n n n n
(3)编写程序用递归法将一个整数n转换成字符串。如输入1234,应输出字符串“1234”。n的位数不确定,可以是任意位数的整数。
(4)将打印九九乘法表改用函数调用的形式,适当取函数名,分别调用三种函数以输出不同格式。
实验5 数组
实验目的
掌握数组和字符串的基本操作方法。
掌握常用的几种遍历数组的方法。
掌握常用的排序方法。
实验学时
本次实验需要6个学时。
实验要求
在学完教材第7章内容后进行本次实验。
根据实验内容的相应描述和要求,自行设计并调试代码。
实验内容
1.基础实验
(1)一个包含10个元素的数组,已按升序排序,输入一个任意的整数,将该整数插入数组中,使数组元素仍保持升序排列。
要求编写一个通用的插入排序函数InsertSort,它带有三个参数,第一个参数是含有n个元素的数组,这n个元素已按升序排序;第二个参数给出当前数组中元素的个数;第三个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数Print,要求每一行输出5个元素。
(2)编程求下列两个矩阵的加法(结果矩阵的元素值是这两个矩阵相应元素之和)。要求:定义函数MatAdd用于求矩阵的加法,函数Show用于输出矩阵。
12 1 578 210 2 24 103 111
(3)要求设计一个函数void strcpy(char a[],char b[]),将b中的字符串复制到数组a中(要求不使用C++的库函数strcpy())。编写完整的程序并测试。
2.进阶实验
(1)输入10个数到一维数组中,用冒泡排序法将其按从大到小的次序排序后输出。
要求:分别用三个函数实现数据的输入、排序及输出。
(2)输入一个5*5的整数矩阵,求出两条对角线元素值之和。
(3)编写一个函数,统计一条英文句子中字母的个数,在主程序中实现输入、输出。
(4)编写程序实现下述功能:由17人围成一个圈,编号1~17,从第1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下1个人,求此人的编号。
实验6 指针和引用
实验目的
学习数组定义、初始化、赋值、使用的方法。
学习给函数传递数组的方法。
声明和操作指针和引用。
学习用指针和引用给函数传递参数。
学习调试方法。
实验学时
本次实验需要6个学时。
实验要求
在学完教材第8,9章内容后进行本次实验。
根据实验内容的相应描述和要求,自行设计并调试代码。
实验内容
1.基础部分
(1)编写程序实现两个字符串比较的自定义版(教材8.5)。
(2)编写程序实现字符串数组的排序。用指针数组作为函数mySort形参,实现字符串数组的排序。函数mySort还有一个形参n,用来指定字符串数组的大小。
(3)编制程序,将输入的一行字符加密和解密。加密时,每个字符依次反复加上“4962873”中的数字,如果范围超过ASCII码的032(空格)~122( z ),则进行模运算。解密与加密的顺序相反。编制加密和解密函数,打印各个过程的结果。
(4)编写程序实现数据交换。分别用指针和引用作为函数mySwap的形参,并通过重载分别实现int、double型变量值的交换。
(5)字符串交换
编写程序,交换两个不同长度的字符串,分别打印之。
要求:用函数调用的方式来实现。主函数中定义两个字符串,然后调用交换函数。教材9.3
2.进阶部分
(1)编写程序实现下述功能:由17人围成一个圈,编号1~17,从第1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下1个人,求此人的编号。(要求用new和delete来分配、释放所需内存空间)。
(2)设计一个函数,形参是引用类型,要求输入三个整数,按从小到大排序后输出。编程完整的程序并测试。
实验7 类和对象
实验目的
学习定义类的方法。
学习构造函数、拷贝构造函数的定义使用方法。
学习对象的使用方法。
领会面向对象程序设计的基本方法。
实验学时
本次实验需要6个学时。
实验要求
在学完教材第11、12、13、14章内容后进行本次实验。
根据实验内容的相应描述和要求,自行设计并调试代码。
实验内容
1. 基础部分
(1)一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。
分析:可以定义一个类:圆。
数据成员:圆的半径;
函数成员:计算周长与面积;
(2)创建一个Employee类,该类中有字符数组,表示姓名,街道地址、市、省和邮政编码。Employee中包含构造函数、change_name()和display()函数,构造函数初始化每个数据成员,change_name函数用于修改姓名,display函数显示完整的对象数据。其中的数据成员是私有类型,成员函数是共有类型。编写一个可运行的完整程序,构造Employee类对象调用其成员函数。
2.进阶部分
(1)定义日期类型Date。
要求:包含年月日数据成员;提供默认构造函数、带年月日参数的构造函数、和拷贝构造函数;定义set成员函数可以设置日期;日期加一天操作;定义intput成员函数,输入日期信息,输入格式为“YYYY-MM-DD”;定义print成员函数输出对象的日期。编写一个可运行的完整程序,构造3个日期类型的对象,并输出相应的日期信息。
(2)编写一个程序,统计学生成绩,其功能包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对前70%的学生定为合格(pass),后30%的学生定为不合格(fail)。
提示:设计一个类Student,包含学生的姓名和成绩等数据,以及SetName()、SetDeg()、GetName()和GetDeg()4个成员函数。设计一个类Compute,包含两个私有数据成员,即学生人数ns和Student类的对象数组na[],另有3个公有成员函数GetData()、Sort()和Disp(),它们分别用于获取数据、按成绩排序和输出数据。
实验8 继承和派生
实验目的
学习根据现有类建立新类的方法。
理解继承的含义,掌握派生类的定义方法和实现;
理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;
理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员;
了解虚基类的用法。
实验学时
本次实验需要6个学时。
实验要求
在学完教材第16、17章内容后进行本次实验。
根据实验内容的相应描述和要求,自行设计并调试代码。
实验内容
1.基础部分
1、编写一个程序Ex_Student,以实现一个班级学生的学期成绩管理。个人信息类Cperson的数据成员有姓名、年龄、性别;课程类CCourse的 …… 此处隐藏:2681字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




