实验六继承与虚函数_第1页
实验六继承与虚函数_第2页
实验六继承与虚函数_第3页
实验六继承与虚函数_第4页
实验六继承与虚函数_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北地质大学实验报告(学 院)系:商学院专 业:物流管理姓 名:张梦宇班 级:4141040503学 号:414104050316指导教师:张有华2016年 11 月 7 日实验六 继承与虚函数一、目的和要求1 掌握C+关于数组的定义、初始化、赋值和使用的方法。 2 掌握数组作为函数参数的定义、以及函数调用方法。 3 掌握指针的定义、初始化和使用方法。4 掌握指针与数组作为函数参数的函数定义和调用方法。5 掌握用指针和引用给函数传递参数。6 了解类的两种使用方式7 学习从现有类派生出新类的方式8 了解在派生类中如何使用基类的成员9 了解基类成员在派生类中的访问控制10 了解虚函数对多态性的支持

2、二、实验环境硬件环境:计算机(windows xp系统) 软件环境:VC+6.0三、实验内容1. 写一个程序,程序运行时用户输入10个数据,程序运行结束,输出其中的最大值与最小值。(1) 实现要求n 用一个数组存放各个整数;n 在主函数 main()中实现数据的输入和输出操作,并用一个函数实现求数组中元素的最大值与最小值的操作。(2) 实现提示n 可以设计求数组中元素的最大值与最小值操作的函数原型为:void searchMaxMin( int arr, int n, int *mmax, int mmin)。(3) 测试数据输入:30 50 21 39 20输出:max:50 min:202

3、. 编程,用户输入一个帐号,程序检查此帐号是否出现在下面的列表中,如果属于下列列表中的帐号,则输出用户帐号合法信息,否则输出用户帐号不存在。5658845 4520125 7895122 8777541 8451277 1302850 80801524562555 5552012 5050552 7825877 1250255 1005231 65452313852085 7576651 7881200 4581022 (1) 实现要求n 用数组存放所有的帐号;n 在主函数 main()中实现数据的输入和输出操作。(2) 实现提示n(3) 测试数据n 输入:8777541 n 输出:用户帐号合

4、法n 输入:8747541 n 输出:用户帐号不存在3. 数组排序, 从键盘读入若干整数,将它们按由低到高排序输出。(1) 实现要求n 用一个数组存放各个整数;n 在主函数 main()中实现数据的输入和输出操作,并用一个函数实现对数组元素的排序操作。n 排序函数调用另一个函数swap(int *pa, int *pb)实现两个数组元素的交换。(2) 实现提示n 排序使用简单选择排序法、直接插入排序算法或冒泡排序算法均可。(3) 测试数据输入:30 50 21 39 20输出:20 21 30 39 50简单选择排序算法基本思想从 n 个数中选择最小的一个,把它和第一个数组元素交换;从剩下的

5、n-1 个数中选择最小的一个,把它和第二个数组元素交换;依此类推,直到从最后两个元素中选出倒数第二小的元素并把它和倒 数第二个元素交换为止。直接插入排序算法基本思想假设待排序的记录存放在数组R1.n中。初始时,R1自成1个有序区,无序区为R2.n。从i=2起直至i=n为止,依次将Ri插入当前的有序区R1.i-1中,生成含n个记录的有序区。冒泡排序算法基本思想(1)首先将第一个记录的关键字和第二个记录的关键字进行比较,若为“逆序”(即L.r1.key>L.r2.key),则将两个记录交换之,然后比较第二个记录和第三个记录的关键字。依次类推,直至第n-1个记录的关键字和第n个记录的关键字比较

6、过为止。这是第一趟冒泡排序,其结果是使得关键字最大的记录被安置到最后一个记录的位置上; (2)然后进行第二趟冒泡排序,对前面的n-1个记录进行同样的操作,其结果是使关键字次大的记录被安置到第n-1个记录的位置; 一般地,第i趟冒泡排序是从L.r1到L.rn-i+1依次比较相邻两个记录的关键字,并在“逆序”时交换相邻记录,其结果是这n-i+1个记录中关键字最大的记录被交换到第n-i+1的位置上。整个排序过程需要进行K(1k<n)趟冒泡排序,显然,判别冒泡排序结束的条件应该是“在一趟排序过程中没有进行过交换记录的操作”。4. 从键盘读入若干字符串,将它们按由低到高排序输出。排序的规则为:先比

7、较两个字符串的长度,长度短的字符串排在前面,如果长度相等, 则比较字符串的值,按从小到大排序输出。(1) 实现要求n 用一个字符串数组存放各个字符串;n 在主函数 main()中实现数据的输入和输出操作,并用一个函数实现对数组元素的排序操作。(2) 实现提示n 排序使用简单选择排序法、直接插入排序算法或冒泡排序算法均可。(3) 测试数据输入:JanuaryFebruaryMarchAprilMayJuneJulySeptember输出:MayJulyJuneAprilMarchJanuaryFebrurarySeptember5. 编写一个单词转换函数,该函数具有一个char * 参数。函数的

8、功能是参数代表的字符串中每个单词的第一个字母转换成大写字母。(1) 实现要求n 用一个字符数组存放字符串;n 在主函数 main()中实现数据的输入和输出操作,并用一个函数实现对数组元素的排序操作。(2) 实现提示n 在字符串的每一个单词的前面是空格。(3) 测试数据输入:There are 85 students in our classroom.输出:There Are 85 Students In Our Classroom.6. 在主函数中首先输入一个整数到变量n中,然后输入n个整数到数组intArray中,编写一个函数exchange( int arr, int n),此函数对形参a

9、rr中的最大值与最小值分别与数组arr中的最后一个和第一个数对调;设计函数displayArray( int arr, int n)输出形参数组arr中的前n个元素。在主函数中调用exchange(intarray,n),在调用displaye(intarray,n),输出调用exchange(intarray,n)前后的数组。(4) 实现要求n 在主函数 main()中实现数据的输入和输出操作。(5) 实现提示n 用一个整型数组存放输入的整数,此数组空间大小要足够大。(6) 测试数据测试1:输入:1232 5 21 39 20 70 13 1 35 32 16 8输出:1 5 21 39 2

10、0 8 13 32 35 32 16 70测试2:输入:530 50 21 39 20输出:20 30 21 39 507. 有n个人围成一圈,顺序编号1、2、3、n。从第1个人开始1到m重复报数,凡报到m的人退出圈子,问最后留下的人编号是多少。(7) 实现要求n 在主函数 main()中实现数据的输入和输出操作。(8) 实现提示n 使用整型数组表示编号,此数组空间大小要足够大(至少比可能的n要大)。(9) 测试数据测试1:输入:n=5 m=3输出:4测试2:输入:n=8 m=6输出:1测试3:输入:n=6 m=8输出:3四、实验步骤1. 写一个程序,程序运行时用户输入10个数据,程序运行结束

11、,输出其中的最大值与最小值。步骤1 新建项目?步骤2 新建并编辑C+源程序文件步骤3 编译、调试步骤4 运行结果与结果分析2. 编程,用户输入一个帐号,程序检查此帐号是否出现在下面的列表中,如果属于下列列表中的帐号,则输出用户帐号合法信息,否则输出用户帐号不存在。5658845 4520125 7895122 8777541 8451277 1302850 80801524562555 5552012 5050552 7825877 1250255 1005231 65452313852085 7576651 7881200 4581022步骤1 新建项目?步骤2 新建并编辑C+源程序文件步骤

12、3 编译、调试步骤4 运行结果与结果分析3. 数组排序, 从键盘读入若干整数,将它们按由低到高排序输出。步骤1 新建项目?步骤2 新建并编辑C+源程序文件步骤3 编译、调试步骤4 运行结果与结果分析4. 从键盘读入若干字符串,将它们按由低到高排序输出。步骤1 新建项目?步骤2 新建并编辑C+源程序文件步骤3 编译、调试步骤4 运行结果与结果分析5. 编写一个单词转换函数,该函数具有一个char * 参数。函数的功能是参数代表的字符串中每个单词的第一个字母转换成大写字母。步骤1 新建项目?步骤2 新建并编辑C+源程序文件步骤3 编译、调试步骤4 运行结果与结果分析6. 在主函数中首先输入一个整数到变量n中,然后输入n个整数到数组intArray中,编写一个函数exchange( int arr, int n),此函数对形参arr中的最大值与最小值分别与数组arr中的最后一个和第一个数对调;设计函数displayArray( int arr, int n)输出形参数组arr中的前n个元素。在主函数中调用exchange(intarray,n),在调用displaye(intarray,n),输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论