1、试验1 选择和循环结构程序设计(2课时)一、试验目标1 熟练掌握if语句、switch语句、while语句、do while语句和for语句。2 掌握选择结构和循环结构程序设计。二、试验内容及步骤1 判定用户输入正整数n是否为素数,输出判定结果。2 增加试验1功效,判定用户输入正整数n是否为素数,直到用户输入1为止。1) 用while循环读入正整数n2) 对于每个正整数n,采取for循环判定是否为素数。3) 打印输出判定结果3 编写一个程序实现两个数之间简单四则运算。在程序中,提醒用户按表示式次序输入操作数和运算符。4 增加试验3功效,是程序运行时,能一次完成多个运算,直至用户输入字符“N”(
2、在程序中,提醒用户输入“Y”或“N”以决定是否继续进行四则运算)。5 编写程序求用户输入正整数n阶乘。6 求!(即求1!+2!+10!)。选做题:一圆型游泳池图所表示,现在需在其周围建一圆型过道,并在其四面围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏造价。游泳池过道试验2 指针和引用(2课时)一、试验目标1 掌握指针申明、使用和运算;2 学会数组和指针、函数和指针使用方法。3 熟悉引用申明和特点。二、试验内容及步骤1 编写程序:定义一个变量,一个指针,建立该变量引用。对变量进行初始化,并将指针指向该变量,分别经过指
3、针和引用改变该变量值,并输出结果进行比较分析。2 编写程序:任意输入10个整数放于数组中,利用指针访问数组,求出该数组中最大数max和最小数min。 3 编写程序:定义c风格字符串,删掉字符串中数字字符。4 编写程序:定义string类型字符串,并实现连接、比较、交换功效。选做题:编写一个类,实现队列(queue)结构。试验3 函 数(2课时)一、试验目标1 掌握函数申明、调用、实参与形参值传输关系、返回值;2 了解函数重载,掌握函数重载方法;3 了解递归概念,掌握递归函数定义和使用;二、试验内容及步骤1. 定义一个函数,判定三个整形边长能否组成三角形,假如是三角形,则判定它是否是直角三角形。
4、1) 申明函数judge;2) 实现函数judge,依据输入三个边长判定是否能够组成一个三角形;3) 在main中调用judge;4) 在main中依据judge返回值判定是否是三角形,假如组成三角形则判定是否为直角三角形,并给出结论。2. 用重载函数实现两个整数和三个整数排序,根据从小到大次序将排序结果输出。1) 申明函数sort为重载函数,并依据参数个数不一样分别进行定义;2) 在main中用cin分别输入两个整数和三个整数;3) 依据参数个数不一样,调用不一样函数,从而实现重载。3. 在主函数中输入一个十进制数,调用转换函数把这个十进制数转换成二、八、十六进制数。4. 在主函数中定义两个
5、变量,调用交换函数实现两个数交换。分别用指针和引用作参数来编写交换函数。(体会引用作用)选做题:设计一个点类Point,再申明一个名为Rectangle矩形类,其属性为矩形左下角和右上角两点坐标,并由组员函数计算矩形周长及面积。编程实现求左下角和右上角坐标分别为(2.1,3.2),(5.2,6.3)矩形周长及面积。试验4 类和对象(4课时)一、试验目标1 掌握C+类概念和基础组成,学会设计类,掌握类对象申明和使用方法;2 熟悉多种组员函数包含结构函数、析构函数、内嵌函数定义和使用;3 掌握静态数据组员使用。二、试验内容及步骤1. 申明一个Circle类,有1) 数据组员Radius(半径)2)
6、 组员函数GetArea()计算圆面积3) 结构函数Circle(float radius)进行初始化4) 析构函数在主函数中创建一个Circle类对象进行测试(输入一个数值,作为Circle类对象半径,调用该对象GetArea()求以该数值为半径圆面积)。2. 申明一个tree类,有1) 数据组员ages(树龄)2) 组员函数grow(int years)对ages加上years3) 组员函数age()显示对象数据组员ages值4) 结构函数tree(int n=0)进行初始化5) 析构函数在主函数中创建一个tree类对象进行测试(创建一个树龄为18对象,调用age()显示树龄,以后调用gr
7、ow(4),生长4年,再显示树龄)。3. 人员信息管理系统:以一个小型企业人员管理为例,说明类及组员函数设计。提醒:1) 类设计:某小型企业,需要存放雇员编号、等级、月薪,并显示全部信息。依据这些需求,设计一个类employee,在该类中,包含数据组员有:编号(int individualEmpNo)等级(int grade)月薪(float accumPay)组员函数有:设置编号(void setEmpNo(int steps)):编号次序加1(利用静态变量实现)提取编号(void getEmpNo)晋升等级(void promote(int increment)):提升等级由参数指定提取等
8、级(int getGrade)设置月薪(void SetAccumPay(float pa):提取月薪(float GetAccumPay)结构函数(用于设置数据组员编号、等级和月薪初值)析构函数2) 整个程序分为两个独立文档:employee.h(包含类定义和类实现)和employee.cpp(主函数文件)3) 在主函数main()中创建employee类两个对象,对它们设计编号、等级和月薪,并输出每个雇员基础信息。选做题:设计一个类,用来表示直角坐标系中任意一条线段,组员函数包含输出线段两个端点坐标和求该线段长度,并在main函数中使用这个类。试验5 单继承(2课时)一、试验目标1掌握派生
9、类别和方法; 2了解派生类中怎样使用基类组员、基类组员在派生类中访问控制; 3. 掌握继承中结构函数和析构函数调用过程。二、试验内容及步骤1. 给出一个Document类,从Document派生出Book类,增加PageCount变量。在主函数中进行测试,创建Book类对象并进行初始化,输出书名和页数。 2. 设计一个单基继承类层次程序,利用Person类派生出Student类,增加属性xh(学号),Person类中最少有姓名、年纪等数据组员,组员函数中结构函数对其初始化,析构函数释放对应存放单元,输出函数输出其数据组员值,其它组员函数依据需要添加,在主函数中进行测试。3. 设计一个人员类pe
10、rson和一个日期类date,由人员类派生出学生类student和老师类professor,学生类和老师类数据组员birthday为日期类。在主函数中进行测试。选做题【场景】l 假设你是一家银行开发人员,要求为帐户类型定义对象,这些帐户是:l 活期帐户(Checking accout)l 储蓄存款帐户(Savings account)活期帐户含有以下特征l 帐户持有者名字只能在创建帐户时指定l 初始余额(opening balance)必需在帐户创建时指定l 帐户创建时必需分配账户id号。活期帐户账户id号范围是从100000到499999,每个活期帐户必需含有唯一帐户id号。本试验不要求检验
11、帐户号上限。活期帐户持有者能够:l 定购支票簿l 检验帐户余额l 往帐户中加钱l 假如活期帐户里资金充足,能够从中取钱储蓄存款帐户含有以下特征l 帐户持有者名字只能在创建帐户时指定l 初始余额必需在帐户创建时指定l 储蓄存款帐户账户id号范围是从500000到999999。本试验不要求检验帐户号上限。l 帐户能够赚取利息。利息取决于帐户余额,假如余额大于1000,利息率是6%,不然是3%。储蓄存款帐户持有者能够:l 检验帐户余额l 往帐户中加钱l 假如活期帐户里资金充足,能够从中取钱试验6 多继承(2课时)一、试验目标1掌握多基继承使用,访问方法;2了解类层次中访问规则;3掌握虚基类定义及使用
12、。二、试验内容及步骤1. 定义一个学生类Student和老师类Teacher,学生类有姓名、学号、私有数据组员,老师类有姓名、工作证号、职称、课程、周课时数。再定义一个助教类TA,继承学生类和老师类,该类能够使用学生类全部数据组员,和老师类课程和周课时数数据组员。要求:每个类提供自定义结构函数和析构函数,并经过同名函数ShowInfo来显示全部数据组员值。2. 设计一个虚基类Person,包含姓名和年纪私有数据组员和相关组员函数;由它派生出领导类Leader,包含职务和部门私有数据组员和相关组员函数;再由Person派生出工程师类Engineer,包含职务和专业私有数据组员和相关组员函数;再由
13、Leader和Engineer类派生出主任工程师类Chairman。并采取相关数据进行测试。试验7 多态和虚函数(2课时)一、试验目标1.了解多态概念2.掌握怎样用虚函数实现运行时多态3.掌握怎样利用抽象类二、试验内容及步骤1. 设计一个图形类(Shape),由它派生出三角形类(Triangle)、正方形类(Square)、圆形类(Circle),利用虚函数计算图形面积,并在主函数中进行测试。2. 定义一个老师类,由老师类派生出讲师、副教授、教授类。老师工资分别由基础工资、课时费和津贴组成。假设讲师、副教授、教授基础工资分别为800、900、1000元,课时费分别为每小时40、45、50元,津
14、贴分别为1300、1800、2300。定义虚函数来计算老师工资,并经过主函数来进行验证。试验8 运算符重载(2课时)一、试验目标掌握C+中运算符重载机制和运算符重载方法;二、试验内容及步骤1. 编写一个简单复数类Scomplex,要求用友元函数重载“+”、“-”运算符,用组员函数重载“=”运算符,使之能够实现整数或浮点数和复数加法和减法,而且进行测试。 2. 空间一点p坐标为(x,y,z),其中x,y,z为整数。编写点类Point3D,定义空间两点之间加”+”,减”-”运算为对应三个坐标值分别进行加、减运算,要求实现空间两点之间加”+”减”-”赋值”=”运算,空间两点间比较”= =”运算。要求编写Point3D类申明定义和测试程序。3. 设计一个时间类Time,包含时、分、秒等私有数据组员。重载“+”和“-”运算符以实现时间加法和减法运算,并进行测试。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100