内蒙古科技大学面向对象的程序设计实验7 数组Word格式.docx
《内蒙古科技大学面向对象的程序设计实验7 数组Word格式.docx》由会员分享,可在线阅读,更多相关《内蒙古科技大学面向对象的程序设计实验7 数组Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
班级:
15-软件一班
一、实验目的
1掌握一维数组和二维数组的定义、赋值和输入输出的方法。
2掌握字符数组和字符串函数的使用。
3掌握与数组有关的算法(特别是排序算法)
二、实验环境
编译器:
VisualC++6.0.
操作系统:
Windows7
旗舰版
三、实验内容
二、实验内容
2.1练习
(一):
1.用选择法对10个整数排序,10个整数分别用cin语句输入。
2.编写一程序,将两个字符串连接起来,结果取代第一个字符串,要求用字符数组。
2.2练习
(二):
1.输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。
(要求:
用学生类的对象数组实现)
四、实验过程
练习1
代码区分为声明子函数
子函数功能实现区
以及主函数
选择法排序在循环语句中加入一个标志变量k,首先将k初始化为下标i,在数组下标移动的过程中,对数组[j]与数组[k],作对比,一旦数组[j]大于数组[k]所含值,那么将j赋值给k,一次循环之后将k所对应数组元素值选出,以此类推,进行多次循环之后排序完成
代码运行结果如下图:
实验结果为正确的降序排列
练习2
代码第10行含有两个字符串处理函数
首先使用strcat连接str1和str2,再将连接后的字符串用strcpy复制给str1,从而起到了取代str1的功能
代码运行结果如下
练习3
代码截图如下:
Student类中包含private变量charname[20]intscore和longnum
以及一个静态变量sum作为计数器
一个构造函数起到输入学生信息作用,一个成员函数Find起到筛选不及格学生成绩的作用
主函数创建一个对象数组,通过for循环控制数组下标分别调用Find成员函数
实际代码运行结果如下:
学生成绩的录入:
学生成绩的筛选输出:
实验结果正确
五、实验总结
实验源代码:
练习
(一)
#include<
iostream.h>
#defineN10//只需修改此处即可修改所需数字数量
voidReadnum(intnum[]);
voidPrintnum(intnum[]);
voidNumsort(intnum[]);
voidmain()
{
intnum[N];
Readnum(num);
cout<
<
endl<
"
Printnum:
endl;
Printnum(num);
Numsort:
Numsort(num);
}
voidReadnum(intnum[])//输入数字
Pleaseinput"
N<
numbers:
for(inti=0;
i<
N;
i++)
inputnum["
i+1<
]:
;
cin>
>
num[i];
voidNumsort(intnum[])//数字排序
inti,j,k,temp;
for(i=0;
k=i;
for(j=i+1;
j<
j++)
if(num[k]<
num[j])
k=j;
if(k!
=i)
temp=num[k];
num[k]=num[i];
num[i]=temp;
voidPrintnum(intnum[])//输出数字
num["
num[i]<
练习
(二)
string.h>
charstr1[20],str2[20];
//使用字符数组
Pleaseinputstr1:
"
str1;
Pleaseinputstr2:
str2;
strcpy(str1,strcat(str1,str2));
//连接两个字符串并且取代第一个
str1:
str1<
练习(三)
#defineN10
classStudent
staticintsum;
//静态变量用于计数编号功能
charname[20];
intscore;
longnum;
public:
Student();
voidFindData(inti);
};
intStudent:
:
sum=1;
//默认初始化为1
Student:
Student()//构造函数录入学生信息
请输入第["
sum++<
]个学生的信息"
name:
name;
Studentnum:
num;
score:
score;
voidStudent:
FindData(inti)//成员函数有寻找和输出功能
if(score<
60)
学生["
]:
name<
num<
score<
StudentStu[N];
不及格名单如下:
Stu[i].FindData(i);
六、参考文献
参考的资料:
C++面向对象程序设计