实验5 数组1答案

实验5 数组1答案
实验5 数组1答案

实验数组1

实验目的:

1、进一步掌握循环结构的程序设计

2、掌握在循环结构里面使用break、continue

3、掌握一维数组的定义与使用

实验内容:

一、观察下列代码(有语法问题自己解决)

1、利用无限循环输入数据,直到条件满足利用break跳出循环:

#include

using namespace std;

int main( )

{

int x,sum=0;

while(1)

{

cin >> x;

if(x <= 0)

break;

sum += x;

}

return 0;

}

2、利用continue语句实现输出1-100之间的偶数:

#include

using namespace std;

int main()

{

for (int i = 0;i <= 100; i++)

{

if (i % 2 != 0)

continue;

cout << i << ' ';

}

return 0;

}

二、编码训练

1、利用break语句写一程序:循环从键盘输入数据并累加起来,直到输入的数为零时结束循环,打印累加结果。(参考前面第1题)

#include

using namespace std;

int main( )

{

int x,sum=0;

while(1)

{

cin >> x;

sum += x;

if(x == 0) break;

}

cout << "The sum is " << sum << endl;

return 0;

}

2、利用continue语句写一程序:输出1-20之间不能被3整除的数。(参考前面第2题)

#include

using namespace std;

int main()

{

for (int i = 1;i <= 20; i++)

{

if (i % 3 == 0)

continue;

cout << i << ' ';

}

return 0;

}

3、实现求6位学生c++的平均成绩。(参考案例书的P47案例1)

#include

using namespace std;

int main()

{

double score[6];

double avg = 0,sum = 0;

for (int i = 0;i <= 5; i++)

{

cin >> score[i];

sum = sum + score[i];

}

avg = sum/6;

cout << "平均成绩是:" << avg;

return 0;

}

4、利用一维数组编写一个程序:从键盘上输入10个float类型的数据,找出它们的最大值和最小值,并输出(定义两个变量分别保存最大值和最小值)。(参考案例书的P47案例1)#include

using namespace std;

int main()

{

float numb[10];

float min = 0.0,max = 0.0;

int i;

for (i = 0;i <= 9; i++)

{

cin >> numb[i];

}

min = numb[0];

max = numb[0];

for (i = 1;i <= 9; i++)

{

if (numb[i] >= max ) max = numb[i];

if (numb[i] < min ) min = numb[i];

}

cout << "最大值是:" << max << endl;

cout << "最小值是:" << min << endl;

return 0;

}

三、案例训练

1、案例书的P49案例2

2、案例书的P53案例4

3、实现n个数(可以是整数或实数)由大到小进行排序

#include

#include

using namespace std;

int main()

{

const int N = 10;

int a[N] ;

int t = 0;

cout<<"请输入10个数:\n";

for(int i = 0 ; i < N ; i++)

cin>>a[i];

cout<<"\n";

for(int i = 1;i <= N-1;i++)

{

for(int j = 0;j < N-i;j++)

{

if(a[j] < a[j+1])

{ t = a[j];

a[j] = a[j+1];

a[j+1]=t;

}

}

}

cout << "\n排序后为:\n";

for(int i = 0; i < N; i++)

cout << setw(4) << a[i];

cout << "\n";

return 0;

}

4、(谁是小偷)警察局抓了a、b、c、d四名偷窃嫌疑嫌疑犯,其中有一人是小偷。审问中:

a说:“我不是小偷。”

b说:“c是小偷。”

c说:“小偷肯定是d。”

d说:“c冤枉人。”

现在已经知道四个人中有三人说了真话,一人说的是假话。问到底谁是小偷?,

分析:设1表示是小偷,0表示不是小偷,显然a、b、c、d的取值是0或1,可以用四重循环穷举所有可能。条件:(1)四人中只有一个为小偷,即a+b+c+d==1;(2)四人说的话,可以用关系表达式表示,关系表达式的值为1表示说真话,0表示说假话,四个人中三人说了真话,即四个关系表达式的和为3。同时满足这两个条件的即为解。

#include

using namespace std;

int main()

{

int a,b,c,d;

for (a=0; a<=1; a++)

for (b=0; b<=1; b++)

for (c=0; c<=1; c++)

for (d=0;d<=1;d++)

//三人说真话,只有一个人是小偷

if (((a!=1)+(c==1)+(d==1)+(d!=1))==3 && (a+b+c+d==1))

{

if (a==1) cout<<"a是小偷"<

if (b==1) cout<<"b是小偷"<

if (c==1) cout<<"c是小偷"<

if (d==1) cout<<"d是小偷"<

}

}

实验5 类和对象1答案

实验5:Java类与对象 一、实验目的 (1)使用类来封装对象的属性和功能; (2)掌握Java类的定义。 (3)java对象的使用 二、实验任务 (1)按要求编写一个Java程序。 (2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。 三、实验内容 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。 class Student{ long studentID; int classID; String name; String sex; int age; public Student(long studentID,int classID,String name,String sex,int age){ this.studentID=studentID; this.classID=classID; https://www.360docs.net/doc/0310472006.html,=name; this.sex=sex; this.age=age; } public long getStudentID(){ return studentID; } public int getClassID(){

实验5 数组1答案

实验数组1 实验目的: 1、进一步掌握循环结构的程序设计 2、掌握在循环结构里面使用break、continue 3、掌握一维数组的定义与使用 实验内容: 一、观察下列代码(有语法问题自己解决) 1、利用无限循环输入数据,直到条件满足利用break跳出循环: #include using namespace std; int main( ) { int x,sum=0; while(1) { cin >> x; if(x <= 0) break; sum += x; } return 0; } 2、利用continue语句实现输出1-100之间的偶数: #include using namespace std; int main() { for (int i = 0;i <= 100; i++) { if (i % 2 != 0) continue; cout << i << ' '; } return 0; } 二、编码训练 1、利用break语句写一程序:循环从键盘输入数据并累加起来,直到输入的数为零时结束循环,打印累加结果。(参考前面第1题) #include using namespace std; int main( )

{ int x,sum=0; while(1) { cin >> x; sum += x; if(x == 0) break; } cout << "The sum is " << sum << endl; return 0; } 2、利用continue语句写一程序:输出1-20之间不能被3整除的数。(参考前面第2题) #include using namespace std; int main() { for (int i = 1;i <= 20; i++) { if (i % 3 == 0) continue; cout << i << ' '; } return 0; } 3、实现求6位学生c++的平均成绩。(参考案例书的P47案例1) #include using namespace std; int main() { double score[6]; double avg = 0,sum = 0; for (int i = 0;i <= 5; i++) { cin >> score[i]; sum = sum + score[i]; } avg = sum/6; cout << "平均成绩是:" << avg; return 0; } 4、利用一维数组编写一个程序:从键盘上输入10个float类型的数据,找出它们的最大值和最小值,并输出(定义两个变量分别保存最大值和最小值)。(参考案例书的P47案例1)#include using namespace std; int main() { float numb[10]; float min = 0.0,max = 0.0; int i; for (i = 0;i <= 9; i++) { cin >> numb[i]; } min = numb[0]; max = numb[0]; for (i = 1;i <= 9; i++) { if (numb[i] >= max ) max = numb[i];

C++实验报告 类和对象(2)

福建师范大学实验报告 课程:C++ 实验名称:类和对象二第 1页共 5页 系别:实验日期年月日 专业班级:组别_____________ 实验报告日期年月日 姓名:学号:报告退发 ( 订正、重做 ) 同组人_________________________________ 教师审批签字 一、实验题目:实验九类和对象(二) 二、实验环境: 三、实验目的 (1)进一步加深对类和对象的理解。 (2)掌握类的构造函数和折购函数的概念和使用方法。 (3)掌握对对象数组,对象的指针及其使用方法。 (4)掌握友元的概念和使用。 (5)了解类模板的使用方法。 四、实验内容 (1)有以下程序: 1、阅读此程序,分析其执行过程,然后上机运行,对比输出结果。 2、修改上面的程序,增加一个fun函数,改写main函数,在main函数中调用fun函数,在fun函数中使用对象的引用(Student&)作为形参。 (2)商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售

时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。现已知当天3个销售员销售情况为: 销售员号(num)销售件数(quantity)销售单价(price)101 5 23.5 102 12 24.56 103 100 21.5 请编程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。 (3)有以下程序: 请读者分析和运行此程序,注意友元函数Time::display的作用。将程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。 修改后上机调试和运行。

实验:类和对象1

实验一:类和对象 【实验目的】 1.理解对象和类,掌握类的定义及如何创建一个对象; 2.掌握构造方法的运用; 3.掌握方法的定义和参数传递; 4. 掌握类的继承机制。 【实验准备】 一、复习配套教材相关章节的内容; 二、预习本次实验; 【实验内容】 1.编写一个程序,显示水果的定购行情。定义一个带有参数的构造方法,这些参数用于存放产品名,数量和价格。在主程序中输出三种不同的水果。package avage; public class text { String name; int agr; double page; public text(){ } public text(String name,int agr,double page){ https://www.360docs.net/doc/0310472006.html,=name; this.agr=agr; this.page=page; } public void evagre(){ System.out.println("水果名为:"+https://www.360docs.net/doc/0310472006.html,); System.out.println("水果数量:"+this.agr); System.out.println("水果单价:"+this.page); } } public class text1 { /** * @param args

*/ public static void main(String[] args) { // TODO Auto-generated method stub text s=new text(); https://www.360docs.net/doc/0310472006.html,="苹果"; s.agr =10; s.page=1.0; s.evagre(); text c=new text(); https://www.360docs.net/doc/0310472006.html,="香蕉"; s.agr =10; s.page=1.0; s.evagre(); text d=new text(); https://www.360docs.net/doc/0310472006.html,="橘子"; s.agr =10; s.page=1.0; s.evagre(); 2. 编写一个学生类,封装学生的学号、姓名、成绩等信息。再编写一个主类,

实验5-数组答案

VB程序设计实验五 实验目的 ●掌握一维数组和二维数组的操作 ●学习跟数组相关的控件:列表框和组合框 复习 1.列表框 列表框(ListBox)控件允许用户查看和选择列表中的多个元素。 表5-11 列表框的常用属性和事件 2.组合列表框(ComboBox)整合了列表框和文本框的功能,以一个文本框控件(TextBox) 右边加上一个向下箭头的样式显示。有Simple(简单组合框)、DropDown(下拉组合框)和DropDownList(下拉列表框)。其中,Simple选项不显示下拉箭头,而是在控件的旁边显示一个滚动条;DropDown风格(默认值)在单击向下箭头时显示一个下拉列表,且在ComboBox中输入一个值;DropDownList显示一个下拉列表,但不允许用户在ComboBox中输入。 表5-13 组合列表框的常用属性和事件

(1) Items.Count属性:列表框或组合框中项目数量。最后一项的序号为Items.Count-1,该属性只能在程序中设置或引用。 (2) Text属性:被选定的选项的文本内容。该属性只能在程序中设置或引用。 注意:ListBox1.Items(ListBox1.SelectedIndex)等于ListBox1.Text。 (3) Items.Add方法 把一个选项加入列表框,格式:对象.Items.Add(选项);如:ListBox1.Items.Add("周海涛") (4) Insert方法 在指定位置插入一个项目。格式:对象.Items.Insert(序号, 添加项内容) (5)Items.Remove方法 从列表框中删除指定的项。格式:对象. Items.Remove (选项)。 例如:ListBox1.Items.Remove ("华成") (6)Items.RemoveAt方法 格式:对象.RemoveAt(Index) 从列表框中删除指定的项。Index表示被删除项目在列表框中的位置,从0开始。 例如:ListBox1.Items.RemoveAT(4) (7) Items.Clear方法 格式:对象.Items.Clear 用于清除列表框所有项目,例如:ListBox1.Items.Clear 4.单选按钮、复选框和框架 1)单选按钮(RadioButton) 单选按钮以组的形式出现,允许选择其中一项。 ?Text属性:按钮上显示的文本 ?TextAlign属性:文本对齐方式 ?Checked属性:表示单选按钮的状态,True ——被选定,False ——未被选定?Click事件:单击后,使Checked属性为True ?CheckedChanged事件:当某个单选按钮的状态被发生变化,该事件随之被触发。2)复选框(CheckBox) 与RadioButton具有相同属性和事件,之外还有: ?CheckState属性:表示复选框状态,Unchecked——未选定,Checked——被选定,Indeterminate——灰色 3)框架(GroupBox分组框) ?Text属性:标题文本 ?Enabled属性:框架和其中的控件

实验3 类和对象

实验3 类和对象的创建与使用 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第1,3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 public class AccountOperation { public static void main(String [] args) { Account account1=new Account("650101","柳眉","天河学院",800.00); Account account2=new Account("650102","郑杰","天河学院",200.00); account1.transfer(account1,account2,300.0); account1.deposit(300.5); account1.withdraw(200); account1.withdraw(300); account1.query(); System.out.println(account1.toString()); //System.out.println(https://www.360docs.net/doc/0310472006.html,); error!! } } class Account { private String account; private String name; private String address; private double balance;

实验报告_实验3 类与对象

实验报告_实验3 类与对象(学生学号_姓 名) 一、实验目的 1.熟悉类的组成,掌握类的声明方法; 2.理解构造方法的作用,并掌握构造方法的定义; 3.熟练使用访问器和设置器实现信息隐藏和封装; 4.熟悉一般方法、构造方法的重载; 5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式; 7.掌握this关键字的使用以及对象数组的创建和访问; 8.掌握Java包的创建、包成员的各种访问方式; 9.掌握一维数组:声明,创建,初始化,数组元素的访问; 10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。 二、实验内容与步骤 1.请回答下列问题: (1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么? 答:两个PI,floatl类型,静态私有权限 Radius,float;类型,私有权限 (2)类中的“PI”的值可以在程序的方法中更改吗? 答:不可以,因为PI为静态变量 (3)Cirecle类定义了几个方法?它们的访问权限怎样?

答:四个,getRadius(),setRadius(float radius),getPerimeter(),getArea()都是公有权限 2.写出Rectangle类的程序代码: class Rectangle { private float width; private float length; public float getWidth( ) //获取矩形宽度 {return width;} public float getLength( ) //获取矩形长度 {return length;} public float getPerimeter( ) //获取矩形周长 {return 2*(width+length);} public float getArea( ) //获取矩形面积 {return (width*length);} public void setWidth(float w) //设置矩形宽度 {width=w;} public void setLength(float l) //设置矩形长度 {length=l;} } 3.回答下列问题: (1)该程序中有几个类?主类是什么?如果将这两个类放在一个文件中,源程序文件名应是什么?答:两个类:Circle、CircleTest;主类是CircleTest;源程序文件名是CircleTest。

C语言实验五_数组

实验(实训)报告 项目名称实验五数组 所属课程名称 C 语言程序设计 项目类型验证性 实验(实训)日期2011/11.16/11.23/11.30 班级10统计2 学号100112100236 姓名裴晓晓 指导教师刘亚楠 浙江财经学院教务处制

一、实验(实训)概述: 【实验目的】 1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2. 掌握字符数组和字符串函数的使用。 3. 掌握与数组有关的算法(特别是排序算法)。 【实验要求】 1.选择合适的数据类型表达应用要求; 2.正确运用循环结构处理数组问题; 3.输入和输出格式清晰,有提示信息。能对输入数据进行基本的合理性判断。 【基本原理】 见第五章课件和课本内容 【实施环境】(使用的材料、设备、软件) Visual C++ 6.0 二、实验(实训)内容: 第1题 【项目内容】 完成课后第3题。求一个3×3矩阵对角线元素之和。 【方案设计】 提示:请在此粘贴你的完整程序。□ #include using namespace std; int main() {int a[3][3]; int i,j,sum; sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++) {cin>>a[i][j]; if(i==j) sum=sum+a[i][j]; } cout<<"sum="<

【结论】(结果、分析) 提示: 请记录该程序的运行过程:输入输出。比如: 123 456↙(↙表示输入,如果没有输入,则没有这一行) a+b=579 (输出) 并尽可能对程序的执行结果进行分析。□ 4 5 5 6 2 34 7 23 5 66 sum=104 第2题 【项目内容】 完成课后第4题。 提示:自定义数组a的大小和内容。插入一个数number到已排好的数组中,可以有以下两种方法:(1)先从数组前面开始比较number和数组元素a[i]的大小,直到找到待插入的正确位置(即a[i-1] using namespace std; int main() {int a[11]={2,5,8,17,28,39,58,89,100,298},n,i,j; cout<<"a[i]="<

C++语言程序设计实验答案_类与对象

实验04 类与对象(6学时) (第4章类与对象) 一、实验目的 二、实验任务 4_1 声明一个CPU类。 包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 }; frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 4_2 声明一个简单的Computer类。 有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run和stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。 4_3 声明一个表示时间的结构体。 可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

4_4(习题4-10)设计一个用于人事管理的People(人员)类。 考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号),sex(性别)、birthday(出生日期)、id(身份证号)等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现人员信息的录入和显示。要求包括:构造函数和析构函数、内联成员函数、组合。 三、实验步骤 1.(验证)声明一个CPU类,观察构造函数和析构函数的调用顺序。 首先声明枚举类型CPU_Rank,例如enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 },再声明CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,声明成员函数run和stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示顺序。在主程序中声明一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:。(程序见步骤2) ★程序的运行结果: 2.(示例)调试程序文件。 使用调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下: 操作)调试操作步骤如下: (1)单击“调试 | 逐语句”命令,系统进行单步执行状态,程序开始运行,一个DOS 窗口出现,此时Visual Studio中光标停在main()函数的入口处。

实验五 数组的应用(1)

实验五数组的应用(1) 一、实验目的: 1、掌握静态数组的定义和使用方法。 2、用数组解决实际问题。 二、实验准备: 1、计算机基本操作练习。 2、VisualBasic软件使用预习。 3、设计出下面问题的程序。 三、实验步骤及内容: 1、静态数组的声明,语法格式如下: Dim 数组名[(各维下标)] [As 数据类型],… 例如:Dim num(6) As Integer 定义了一个包含()个元素的数组,从()到()。 静态数组的上下标必须是(),如果希望数组下标下界默认从1开始,则可在窗体的“通用|声明”部分使用: ________________________________语句来改变默认值。 2、Array函数的使用。 Dim a() As Variant A = Array(154,135,121) 请说明以上语句的作用,()。 Lbound函数和Ubound函数可以分别返回数组的指示维数的最小、最大可用下标。 3、应用一维静态全局数组求10个100以内的最大值、最小值、平均值和方差。程序运行界面如图所示。

4、利用数组排序。按“生成随机数”按钮,在第一个文本框中生成10个10~99之间的随机数,然后按“按大小排序”按钮,将这10个数按从大到小的顺序排列放在第二个文本框中。设计界面及运行结果如图1和图2 所示:

图1 设计界面 图2 运行界面 要求: 提示: (1)设计窗体,添加控件:两个文本框(Text)、两 个按钮(Command)。 (2)如表1 所示设置窗体控件属性。 (4)自行编辑代码。 窗体通用声明代码如下: Option Base 1 Dim a() As Integer 窗体控件代码自行编辑。 Private Sub Command1_Click()

实验5 类和对象

类和对象 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 2、两游戏角色决斗。(选做) 角色1交手次数+1,生命值-1,经验值+2;角色2交手次数+1,生命值-2,经验值+3。经验值每增加50时,生命值+1;生命值<0判为负。生命值初始为1000,经验值初始为0。给定二个不同的角色,判定交手的胜负关系。 提示: step1:建立角色类,给出相应的成员,并能以生命值、经验值初始化角色对象。 step2:建立fight方法,接收二个角色类型的参数,返回胜者。 step3:初始化二角色,调用fight方法。 3、根据分数录取学生。 设计一个学校类,其中包含成员变量line(录取分数线)和对该变量值进行设置和获取的方法。 编写一个学生类,它的成员变量有考生的name(姓名)、id(考号)、total(综合成绩)、sports(体育成绩)。它还有获取学生的综合成绩和体育成绩的方法。 编写一个录取类,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在96以上并且综合成绩大于300。在该类的main()方法中,建立若干个学生对象,对符合录取条件的学生,输出其信息及“被录取”。 四、实验记录与分析(可自拟或选择) 1、重载的构造方法具有不同个数或不同类型的参数,编译器就可以根据这一点判断出用new 关键字产生对象时,该调用哪个构造方法了。 2、每个对象拥有各自的实例成员变量,而所有对象共享一个类成员变量。 3、实例成员变量通过对象引用,类成员变量通过类或对象名访问。

C语言实验5(结构体)

实验五结构体 一、实验目的 1.掌握结构体类型变量的定义和使用。 2.掌握结构体类型数组的概念和使用。 二、实验内容 编写一个程序实现下面的功能: A.建立一个数组用于存储学生的学号、姓名和三门课程的成绩和平均成绩 B.输入学号后输出该学生的学号、姓名和三门课程的成绩 C.输入学号后删除该学生的数据 D.插入学生的数据 E.输出平均成绩在80分及以上的记录 F.退出 要求用循环语句实现B--E的多次操作 三、实验具体实验程序代码(要有注释)、测试结果(最好截图)和实验总结 1、实验代码 建立一个数组用于存储学生的学号、姓名和三门课程的成绩和平均成绩 输入学号后输出该学生的学号、姓名和三门课程的成绩 um,&stud[i].name,&stud[i].yingyu,&stud[i].shuxue,&stud[i].cc); stud[i].avg=(stud[i].yingyu+stud[i].shuxue+stud[i].cc)/3; } for(i=0;i

实验五类与对象

实验五类和对象(一) 一、目的和要求 1 掌握类和对象的定义和使用方法 2 掌握对象的初始化方法 3 掌握定义构造函数和析构函数的方法 4 掌握静态成员和友元函数的用法。 上机准备 (1)复习教材第五章类与对象的内容 (2)准备本次上机所需的程序。 程序一(test5_2.cpp)的题目为:编写一个程序,采用一个类求n!,并输出5!的值. 程序二(test5_3.dsw))的题目为:建立一个类SUM,求二维数组外围各元素的和,并且屏幕输出数组中各元素及所求之和。具体要求如下: (1)私有数据成员。 ●int array[5][5]:二维整型数组。 ●int s: 数组array各外围元素的和。 (2)公有成员函数。 ●SUM(int d[5][5]):构造函数,初始化成员数据。 ●void process():求二维数组外围各元素的和s. ●void print ()屏幕输出二维数组(每行输出5个元素)及外围元素之和。 (3)在主程序中对该类进行测试。使用如下数据(外围元素指阴影部分元素。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 二、内容与步骤

1.启动Visual C++6.0 2、录入test5_1.cpp源程序。 程序内容如下: #include class T { public: T(int i) { t=i; cout<<"T(int"<

实验五 数组

实验五数组 一、目的和要求 1.掌握一维数组、二维数组、字符数组的定义、初始化赋值、数组元素的引用方法; 2.掌握求最大、小值、平均值、排序的方法以及有序数组的查找、增加、删除的编 程方法; 3.初步掌握字符串处理函数的使用方法以及字符串复制、连接、测长等程序的编写 方法; 4.掌握数组的典型应用。 二、实验设备及分组 1.Windows XP操作系统; 2.Visual C++6.0语言环境; 3.每人一台PC机。 三内容和步骤 (一)验证实验程序 1.应用一维数组,对10个数进行冒泡排序,使其按照从大到小的顺序输出。 分析:n个数冒泡排序的方法是将第一个数与其后面的数逐个进行比较,发现大者进行交换,完成后最大的数就放到了第一个的位置;第二个数与其后面的数逐个进行比较,发现大者进行交换,完成后次大的数就放到了第二个的位置;如此循环,直到第n-1个数与第n 个数进行比较,发现大者进行交换。 解: #include int main() { int a[10]; //A inti,j,t; cout<<"输入数据:"<>n; int a[n]” 观察运行结果?分析原因。 ● 将B 行改为“for(i=1;i<=10;i++)”,观察现象。 2.应用二维数组打印如图5-1所示杨辉三角形。 分析:由杨辉三角形可以看出每行数存在以下规律:每行数据的个数与行序相同;每行的第一个数和最后一个数均为1;中间的数为上一行同一列的数和其前一列的数之和。 解: #include int main() { int y[5][5]; inti,j,n=5; for(i=0;i

Visual C++ 6.0实验五类和对象、继承和派生

上海电力学院 实验报告 课程名称Visual C++ 实验项目类和对象、继承和派生 姓名储昊学号20132234 班级2013112 专业通信工程 同组人姓名指导教师姓名实验日期 实验内容 程序Ex_Class:定义一个人员类CPerson,包括的数据成员有姓名、编号、性别和用于输入/输出的成员函数。在此基础上派生出学生类Cstudent(增加成绩)和教师类Cteacher(增加教龄),并实现对学生和教师信息的输入/输出。编写一个完整的测试程序,并将Ex_Class 所有的类定义保存在Ex_Class.h中,将类的成员函数实现代码保存在Ex_Class.cpp中。 实验准备和说明 (1)在学习完第2章的“继承和派生”内容之后进行本次试验。 (2)编写本次上机所需要的程序。 实验步骤 1.创建工作文件夹 打开计算机,在“D:\Visual C++程序\LiMing\5”文件夹中创建一个新的子文件夹“5”。 2.输入程序Ex_Class.h (1)启动Visual C++6.0。 (2)单击标准工具栏上的“New Test File”按钮,在新打开的文档窗口中输入下列程序代码: #include #include class CPerson { public: CPerson() { strcpy(pName,""); strcpy(pID,""); } CPerson(char*name,char*id,bool isman=1) { Input(name,id,isman);

} void Input(char*name,char*id,bool isman) { setName(name); setID(id); setSex(isman); } void Output() { cout<<"姓名:"<

C++实验二类与对象(附答案)

实验二类与对象 实验目的和要求 1.掌握类、类的数据成员、类的成员函数的定义方式。 2.理解类成员的访问控制方式。 3.掌握对象的定义和操作对象的方法。 4.理解构造函数和析构函数的定义与执行过程。 5.掌握重载构造函数的方法。 6.了解拷贝构造函数的定义方法。 实验容 1.下面程序中有错,在不删除和增加代码行的情况下,改正错误语句,使其正确运行。#include class Aa { public: Aa(int i=0) { a=i; cout<<"Constructor "<

(1) #include class Date { void set_date(); void show_date(); int year; int month; int day; }; Date d; int main() { set_date(); show_date(); } void set_date() { cin>>d.year; cin>>d.month; cin>>d.day; } void show_date() { cout< class A { public: void A(int i=0) { m=i; } void show() { cout<

实验五 -数组

实验五数组 一、实验目的 1.掌握一维数组与二维数组的定义、赋值及输入输出方法。2.掌握字符数组和字符串函数的使用。 3.掌握与数组有关的算法。 二、实验要求 1.熟悉环境; 2.按照编程风格要求正确写源程序 3.能得到正确的程序运行结果 4.本实验要求写实验报告。 三、主要仪器及耗材 计算机及软件 四、基础实验 1. 输入以下程序,查看输出结果。 #include <> void main() { int i,k=5,a[10],p[3]; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k=k+p[i]*2; printf(“%d\n”,k); }

输出:21 2. 输入以下程序,查看输出结果。#include <> void main() { int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; printf("矩阵a为:\n"); for(i=0;i<2;i++) { for(j=0;j<3;j++) { printf("%5d",a[i][j]); b[j][i]=a[i][j]; } printf("\n"); } printf("矩阵b为:\n"); for(i=0;i<3;i++) { for(j=0;j<2;j++) printf("%5d",b[i][j]); printf("\n"); } }

输出:矩阵a为: 1 2 3 4 5 6 矩阵b为: 1 2 2 5 3 6 程序功能:输出一个二行三阶矩阵和一个三阶二行矩阵 3. 程序改错 设有4x4的方阵,其中的元素由键盘输入,求出主对角线上元素之和。 1 #include<> 2 void main() 3 { 4 int a[4][4]; 5 int i,j,sum; 6 printf("please input the numbers:"); 7 for(i=0;i<=4;i++) 8 for(j=0;j<=4;j++) 9 scanf("%d",&a[i][j]); 10 for(i=1;i<4;i++) 11 {for(j=1;j<4;j++) 12 printf("%d",&a[i][j]); 13 printf(“\n”); 14 } 15 printf("\n"); 16 for(i=0;i<4;i++) 17 for(j=0;j<4;j++)

相关文档
最新文档