77范文网 - 专业文章范例文档资料分享平台

实验4 构造类型、指针何引用

来源:网络收集 时间:2018-12-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验内容

(1)程序:采用插入排序的方法,输入10个整数按升序排列后输出。要求编写一个通用的插入排序函数,它带有3个参数:第1个参数是含有个元素的数组,这个元素已按升序排序;第2个参数给出当前数组中元素个数;第3个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数,要求每一行输出5个元素。

(2)程序Ex_Student:有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩。数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数来实现,例如(设学生数据结构体类型名为STUDENT):

STUDENTInputDataO; //输入学生数据,返回此结构体类型数据 void CalAverage(STUDENT*data,int nNum); //计算总平均分 void PrintData(STUDENT*data,int nNum); //将学生数据输出

实验准备和说明

(1) 在学习完第一章内容之后进行本次实验。 (2) 编写本次上机说需要的程序。

实验步骤

1.创建工作文件夹

打开计算机,在“D:\\Visual C++程序\\LiNing”文件夹中创建一个新的子文件夹“实验4”

2.输入并运行程序Ex_Sort.cpp

输入并运行程序Ex_Sort.cpp的具体步骤如下。 (1)启动VisualC++6.0.

(2)单击标准工具栏上的 “New Text File”按钮 ,在新打开的文档窗口中输入下列程序代码:

#inclde

viod InsertSort(int data[],int&n,int a) \\\\行参n为引用,以便能返回修改后的n值 { int i;

for(i=0;i

if(a<=data[i])break;

{

if(a<= =n)data[n]=a; }

if(i==n)data[n]=a;

else {

for(int j=n;j>i;i--)

data[j]=data[j-1];

data[i]=a; }

n++; \\\\插入后,数组元素个数增加一个

}

void Print(int data[],int n) {

for(int i=0;i

cout<

if((i+1)%5==0)cout<

}

cout<

void main() {

int data[10],nNum=0,m; for(int i=0;i<10,i++) {

cout<<”输入第”<>m;

insertSort(data,nNum,m); }

print(data,nNum); }

代码中,插入排序函数InsertSort最需要考虑的是当一个整数a插入到数组大的data (设数组元素个数为n)中时满足下列几个条件

①要按升序确定该元素a要插入的位置;

②当插入的位置i为最后的n时,直接令data [n] =a时。此时数组元素的个数为n+1; ③当插入的位置i不是最后和n时,则该位置的后面元素要依次后移一个位置,然后令data [i]

=a,数组元素为n+1。

(3 )单击标准工具栏Save按钮,弹出“保存为”文件对话框。将文件定位到“D?\\VisualC + + 程序\\LingMing \\实验4”,文件名为ExSort .cpp.

(4 )编译运行后。输入下列进行测试,看看结果是否正确,并分析函数 InsertSort。 25 78 90 12 10 100 33 44 22 55

想一想 若用简单链表实现Ex-Sort的功能,则应如何编程?

3.输入并运行程序Ex?Student.cpp

输入并运行程序Ex?Student.cpp的具体步骤如下。 (1 )选择“文件” →“关闭工作区”,关闭原来的项目。

(2 )单击标准工具栏上的“New Text Fil”的按钮,在心打开的文档窗口中输入下列程序代码? #include〈iostream.h〉

structSTUDENT ??定义结构类型

{

char name[8]; //姓名 char id[10]; //学号

int score[3]; //3门课的成绩 double ave; //平均分 };

STUENT Inputdata() // 输入 {

STUDENT sut

cout<<“姓名:”; cin>>sut.nane; cout<<“学号:”; cin>>stu.id; int avtResult=0; cout<<“三门成绩:”;

cin>>stu.score[0]>>stu.score[1]>>stu.score[2]; return sut; }

void CalAverage(STUDENT *data,int nNum) {

for(int i=0;i

data[i].ave=(data[i].score[0]+data[i].score[1]+data[i].score[0]/3.0;

}

void PrintDATA(STUDENT *data,int nNum) {

cout<<”\\n学号\\t姓名\\t成绩1\\t成绩2\\t成绩3\\t平均分\\n”; for (int i=0; i

cout<

cout<<”\\t”<

void main() {

const int stuNum=5; STUDENT stu[stuNum=5]; for (int i=0;i

cout<<”输入第” <

CalAverage(,stuNum); //计算平均分 printData(stu,stuNum); //输入学生数据 }

(3)单击标准工具栏的Save 按钮,弹出“保存为“文件对话框,将文件保存为Ex-Student.cpp。 (4) 编译运行并测试。

4.退出 Visual C++ 6.0

5.写出实验报告

结合思考与练习题,写出实验报告。

思考与练习

(1)在Ex-Student程序中,若学生的人数不定,则程序应如何修改?

(2)在Ex-Student程序中,若有一个函数SortPrintData用于对学生数据按平均分

进行排序并输入,则该函数应如何实现?

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验4 构造类型、指针何引用在线全文阅读。

实验4 构造类型、指针何引用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/383695.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: