教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

C++程序设计实验指导(2)

来源:网络收集 时间:2026-09-24
导读: 2.进阶部分 (1)设计一个程序,通过重载求两个数中最大数的函数max(),分别实现求两个实数和两个整数及两个字符的最大者。 (2)编程程序求下式值,其中ni用函数来实现,且设参数n的默认值为2: 123410n 1,2,3 n n

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

C++程序设计实验指导(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/137219.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)