c++实验指导书 级.docx

上传人:b****7 文档编号:8976216 上传时间:2023-02-02 格式:DOCX 页数:9 大小:30.68KB
下载 相关 举报
c++实验指导书 级.docx_第1页
第1页 / 共9页
c++实验指导书 级.docx_第2页
第2页 / 共9页
c++实验指导书 级.docx_第3页
第3页 / 共9页
c++实验指导书 级.docx_第4页
第4页 / 共9页
c++实验指导书 级.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

c++实验指导书 级.docx

《c++实验指导书 级.docx》由会员分享,可在线阅读,更多相关《c++实验指导书 级.docx(9页珍藏版)》请在冰豆网上搜索。

c++实验指导书 级.docx

c++实验指导书级

实验1选择和循环结构程序设计(2学时)

一、实验目的

1.熟练掌握if语句、switch语句、while语句、dowhile语句和for语句。

2.掌握选择结构和循环结构程序设计。

二、实验内容及步骤

1.判断用户输入正整数n是否为素数,输出判断结果。

2.增加实验1的功能,判断用户输入的正整数n是否为素数,直到用户输入1为止。

1)用while循环读入正整数n

2)对于每个正整数n,采用for循环判断是否为素数。

3)打印输出判断结果

3.编写一个程序实现两个数之间简单的四则运算。

在程序中,提示用户按表达式顺序输入操作数与运算符。

4.增加实验3的功能,是程序运行时,能一次完成多个运算,直至用户输入字符“N”(在程序中,提示用户输入“Y”或“N”以决定是否继续进行四则运算)。

5.编写程序求用户输入的正整数n的阶乘。

6.求

(即求1!

+2!

+…+10!

)。

选做题:

一圆型游泳池如图所示,现在需在其周围建一圆型过道,并在其四周围上栅栏。

栅栏价格为35元/米,过道造价为20元/平方米。

过道宽度为3米,游泳池半径由键盘输入。

要求编程计算并输出过道和栅栏的造价。

游泳池

过道

实验2指针与引用(2学时)

一、实验目的

1.掌握指针的声明、使用和运算;

2.学会数组与指针、函数与指针的使用方法。

3.熟悉引用的声明与特点。

二、实验内容及步骤

1.编写程序:

定义一个变量,一个指针,建立该变量的引用。

对变量进行初始化,并将指针指向该变量,分别通过指针和引用改变该变量的值,并输出结果进行比较分析。

2.编写程序:

任意输入10个整数放于数组中,利用指针访问数组,求出该数组中的最大数max以及最小数min。

3.编写程序:

定义c风格字符串,删掉字符串中的数字字符。

4.编写程序:

定义string类型的字符串,并实现连接、比较、交换功能。

选做题

编写一个类,实现队列(queue)的结构。

实验3函数(2学时)

一、实验目的

1.掌握函数的声明、调用、实参与形参的值传递关系、返回值;

2.理解函数重载,掌握函数重载的方法;

3.理解递归的概念,掌握递归函数的定义与使用;

二、实验内容及步骤

1.定义一个函数,判断三个整形边长能否构成三角形,如果是三角形,则判断它是否是直角三角形。

1)声明函数judge;

2)实现函数judge,根据输入的三个边长判断是否可以构成一个三角形;

3)在main中调用judge;

4)在main中根据judge的返回值判断是否是三角形,如果构成三角形则判断是否为直角三角形,并给出结论。

2.用重载函数实现两个整数和三个整数的排序,按照从小到大的顺序将排序结果输出。

1)声明函数sort为重载函数,并根据参数个数的不同分别进行定义;

2)在main中用cin分别输入两个整数和三个整数;

3)根据参数个数的不同,调用不同的函数,从而实现重载。

3.在主函数中输入一个十进制数,调用转换函数把这个十进制数转换成二、八、十六进制数。

4.在主函数中定义两个变量,调用交换函数实现两个数的交换。

分别用指针和引用作参数来编写交换函数。

(体会引用的作用)

选做题:

设计一个点类Point,再声明一个名为Rectangle的矩形类,其属性为矩形的左下角和右上角两点的坐标,并由成员函数计算矩形的周长及面积。

编程实现求左下角与右上角坐标分别为(2.1,3.2),(5.2,6.3)的矩形周长及面积。

实验4类与对象(4学时)

一、实验目的

1.掌握C++类的概念和基本组成,学会设计类,掌握类对象的声明和使用方法;

2.熟悉各种成员函数包括构造函数、析构函数、内嵌函数的定义与使用;

3.掌握静态数据成员的使用。

二、实验内容及步骤

1.声明一个Circle类,有

1)数据成员Radius(半径)

2)成员函数GetArea()计算圆的面积

3)构造函数Circle(floatradius)进行初始化

4)析构函数

在主函数中创建一个Circle类的对象进行测试(输入一个数值,作为Circle类对象的半径,调用该对象的GetArea()求以该数值为半径的圆的面积)。

2.声明一个tree类,有

1)数据成员ages(树龄)

2)成员函数grow(intyears)对ages加上years

3)成员函数age()显示对象的数据成员ages的值

4)构造函数tree(intn=0)进行初始化

5)析构函数

在主函数中创建一个tree类的对象进行测试(创建一个树龄为18的对象,调用age()显示树龄,之后调用grow(4),生长4年,再显示树龄)。

 

3.人员信息管理系统:

以一个小型公司的人员管理为例,说明类及成员函数的设计。

提示:

1)类的设计:

某小型公司,需要存储雇员的编号、级别、月薪,并显示全部信息。

根据这些需求,设计一个类employee,在该类中,包括的数据成员有:

编号(intindividualEmpNo)

级别(intgrade)

月薪(floataccumPay)

成员函数有:

设置编号(voidsetEmpNo(intsteps)):

编号顺序加1(利用静态变量实现)

提取编号(voidgetEmpNo)

晋升级别(voidpromote(intincrement)):

提升的级别由参数指定

提取级别(intgetGrade)

设置月薪(voidSetAccumPay(floatpa)):

提取月薪(floatGetAccumPay)

构造函数(用于设置数据成员编号、级别和月薪初值)

析构函数

2)整个程序分为两个独立的文档:

employee.h(包含类的定义和类的实现)和employee.cpp(主函数文件)

3)在主函数main()中创建employee类的两个对象,对它们设计编号、级别和月薪,并输出每个雇员的基本信息。

4.设计一个类,用来表示直角坐标系中的任意一条线段,成员函数包括输出线段两个端点的坐标和求该线段的长度,并在main函数中使用这个类。

实验5单继承(2学时)

一、实验目的

1.掌握派生的类别与方式;

2.了解派生类中如何使用基类的成员、基类成员在派生类中的访问控制;

3.掌握继承中构造函数和析构函数的调用过程。

二、实验内容及步骤

1.给出一个Document类,从Document派生出Book类,增加PageCount变量。

在主函数中进行测试,创建Book类对象并进行初始化,输出书名和页数。

设计一个单基继承的类层次程序,利用Person类派生出Student类,增加属性xh(学号),Person类中至少有姓名、年龄等数据成员,成员函数中构造函数对其初始化,析构函数释放相应存储单元,输出函数输出其数据成员的值,其它成员函数根据需要添加,在主函数中进行测试。

2.设计一个人员类person和一个日期类date,由人员类派生出学生类student和教师类professor,学生类和教师类的数据成员birthday为日期类。

在主函数中进行测试。

实验6多继承(2学时)

一、实验目的

1.掌握多基继承的使用,访问方法;

2.理解类层次中访问规则;

3.掌握虚基类的定义及使用。

二、实验内容及步骤

1.定义一个学生类Student和教师类Teacher,学生类有姓名、学号、私有数据成员,教师类有姓名、工作证号、职称、课程、周学时数。

再定义一个助教类TA,继承学生类和教师类,该类可以使用学生类的全部数据成员,以及教师类的课程和周学时数的数据成员。

要求:

每个类提供自定义的构造函数和析构函数,并通过同名函数ShowInfo来显示全部数据成员的值。

2.设计一个虚基类Person,包含姓名和年龄私有数据成员以及相关的成员函数;由它派生出领导类Leader,包含职务和部门私有数据成员以及相关的成员函数;再由Person派生出工程师类Engineer,包含职务和专业私有数据成员以及相关的成员函数;再由Leader和Engineer类派生出主任工程师类Chairman。

并采用相关数据进行测试。

实验7多态与虚函数(2学时)

一、实验目的

1.理解多态的概念

2.掌握如何用虚函数实现运行时多态

3.掌握如何利用抽象类

二、实验内容及步骤

1.设计一个图形类(Shape),由它派生出三角形类(Triangle)、正方形类(Square)、圆形类(Circle),利用虚函数计算图形面积,并在主函数中进行测试。

2.定义一个教师类,由教师类派生出讲师、副教授、教授类。

教师的工资分别由基本工资、课时费和津贴构成。

假设讲师、副教授、教授的基本工资分别为800、900、1000元,课时费分别为每小时40、45、50元,津贴分别为1300、1800、2300。

定义虚函数来计算教师的工资,并通过主函数来进行验证。

 

实验8运算符重载(2学时)

一、实验目的

掌握C++中运算符重载的机制和运算符重载的方式;

二、实验内容及步骤

1.编写一个简单复数类Scomplex,要求用友元函数重载“+”、“-”运算符,用成员函数重载“=”运算符,使之能够实现整数或浮点数和复数的加法和减法,并且进行测试。

2.空间一点p的坐标为(x,y,z),其中x,y,z为整数。

编写点类Point3D,定义空间两点之间的加”+”,减”-”运算为相应三个坐标值分别进行加、减运算,要求实现空间两点之间的加”+”减”-”赋值”=”运算,空间两点间的比较”==”运算。

要求编写Point3D类的声明定义和测试程序。

3.设计一个时间类Time,包括时、分、秒等私有数据成员。

重载“+”和“-”运算符以实现时间的加法和减法运算,并进行测试。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1