云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 上机

上机

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 16:12:14

实验一 开发环境与简单C++程序

⒈ 从键盘输入一个字符序列,编程统计其中的数字个数和英文字母个数,输入的字符序列以“#”作为结束符。

⒉ 编写一段程序,当用户输入一个6位数据时,程序可以将其分离为单独的数字,分离结果之间用3个空格分开。(应用求模运算符和整型除法)

⒊ 采用指针方法将一个数组中的所有元素颠倒顺序,结果仍然放在原来的数组中,要求使用最少的辅助存储单元。

⒋ 使用结构变量表示每个学生的信息:姓名、学号、三门课的成绩和平均成绩。编写一个冒泡排序函数,根据学生的平均成绩排序。从键盘上输入10个学生的数据,在主函数中调用排序函数输出每个学生的姓名和三门课的成绩以及平均成绩。

⒌ 编写一段程序,确定员工的工资总额。每位员工在一周内工作40小时以内,是按正规工作时间付酬,超出40小时,是正规工作时间报酬的1.5倍。假定已经有了公司员工的花名册、每位员工在上个星期的工作时间以及每位员工的小时报酬。在程序中应将每位员工的信息输入,计算显示员工的应得工资。(练习使用嵌套的if/else语句和switch语句) 实验二 面向过程程序设计综合实验

1. 编程求π值,使用如下公式:π/4=1-1/3+1/5-1/7+?,直到最后一项的绝对值小于

10-6为止。

2. 练习第二次上课的习题2-76、2-79、2-81。

3. 课后习题p67,2-87:采用动态内存分配的方法设计一个学生成绩处理程序,要求

输入任意数量学生的学号、姓名和四门课的成绩,并按平均成绩的高低输出每个学生的姓名和成绩。

4. 设计开发一个学生成绩管理系统。要求具有以下功能:

a) 运行程序后显示以下信息:1、Display all information

2、Add a student 3、Delete a student 4、Quit

b) 按1后进行简单数据处理并输出所有信息,输出的信息包括: 序号、学生姓名、

学号、三门课的成绩、该学生的平均成绩、总成绩;并在最后计算每一门课程的平均成绩。

c) 按2选择增加学生信息,学生数量最多为50,超过之后无法输入。输入信息

包括学生姓名、学号、三门课程成绩(在程序中可以事先初始化几个学生信息)。 d) 按3删除学生信息,根据输入序号删除对应的学生信息,序号从0依次往后排,

当删除中间的学生信息后,将该序号后的学生信息依次往前移。 e) 每次处理完之后继续显示之前的信息,可以再次按键进行操作。 f)

按4退出程序。

实验三 VC++类的定义和使用

1. 设计一个时间类CTime,用于表示时间值(小时、分钟、秒),要求可以初始化时

间值,显示当前时间,并具有将秒数加1的功能。在主函数中声明CTime的对象,并设置其初始时间,然后测试秒数加1的功能(通过一个循环语句将初始时间依次加1秒,并在屏幕输出当前时间)。 2. 练习第二次上课的习题3-46、3-49、3-51。

3. 设计一个学生类CStudent,该类有以下几个私有成员变量:学生姓名、学号和性

别和三门课的成绩。有实现下述功能的成员函数:1)初始化学生姓名、学号、性别和年龄;2)输入三门课的成绩,并计算平均成绩和总成绩;3)输出学生信息。以CStudent类为基础设计开发一个学生成绩管理系统。要求具有以下功能: a) 运行程序后显示以下操作信息:1、Display all information

2、Add a student 3、Delete a student 4、Quit

b) 按1后输出所有学生的所有信息,输出的信息包括: 姓名、学号、性别、和三

门课的成绩、平均成绩和总成绩;并在最后计算每一门课程的平均成绩。 c) 按2选择增加学生信息,学生数量最多为50,超过之后无法输入。姓名、学

号、性别、和三门课的成绩(在程序中可以事先初始化几个学生信息)。 d) 按3删除学生信息,根据输入学号删除对应的学生信息,学号从0依次往后排,

当删除中间的学生信息后,将该序号后的学生信息依次往前移。 e) 每次处理完之后继续显示操作信息,可以再次按键进行操作。 f)

按4退出程序。

实验四 类的继承和派生

1.先定义一个二维点类CPoint,然后派生出一个二维直线类CLine。直线的一个端点用基类的数据,另一个端点用添加的数据;数据要封装为私有属性。此外要求:

1) 用构造函数设置数据成员(即通过构造函数的参数来设置类的数据成员); 2) 用成员函数获取数据成员的值(即通过函数的返回值,或函数的参数返回需要的数

据);

3) 用析构函数显示数据成员(即调用cout在显示屏上输出); 4) 派生出的CLine类的构造函数显式调用基类CPoint的构造函数。 编写主函数完成功能测试。

2.分别定义教师类CTeacher和干部类CCadre,采用多重继承的方式由这两个类派生出新类CTeacherCadre(教师兼干部类)。要求:

1) 在两个基类中都包含姓名、地址、电话等数据成员。

2) 在CTeacher类中还包含数据成员职称title,在CCadre类中还包含数据成员职务

post,在CTeacherCadre类中还包含数据成员工资wage。

3) 对两个基类中的姓名、地址、电话等数据成员用相同的名字,在访问这类数据成员

时,指定作用域。

4) 在类体中声明成员函数,在类外定义成员函数。

5) 在派生类CTeacherCadre的成员函数show中调用CTeacher类中的display函数,输出

姓名、地址、电话,然后再用cout语句输出职务和工资。 编写主函数完成功能测试。

3.某小型公司有四类人员:总经理、技术人员、销售经理、推销员。设计一个基类employee,派生出manager(总经理)、technician(技术人员)、salesmanager(销售经理)、saleman(推销员)。销售经理既是经理又是销售人员,兼具两类人员的特点,因此同时继承manager 和salesman 两个类。要求如下:

1)employee 类:

基本信息:编号、姓名、性别、出生日期、职位、薪水等; 出生日期使用自定义的Date(日期)类;

其中:基本信息为private 属性,成员函数为public 属性;

多个构造函数:缺省构造函数、带参数的构造函数、带默认参数的构造函数; 2)Date 类: 成员变量:年、月、日

成员函数:SetYear(int year)、SetMonth(int month)、SetDay(int day) GetYear()、GetMonth()、GetDay()

3)派生类technician:新增属性:工作时间 4)派生类saleman: 新增属性:销售额、所属部门 5)实现人员信息的录入与显示;

6)计算并显示个人月薪:月薪计算办法:总经理拿固定月薪8000 元,技术人员按每小时25 元领取月薪;推销员的月薪按当月销售额的4%提成;销售经理固定月薪5000元加所管辖部门当月销售总额的5?。

编写主函数完成功能测试。

4.假设图书管的图书包含书名、编号和作者属性,读者包含姓名、ID和借书属性,每位读者最多可以借6本书。编写程序列出某读者的借书情况。

实验五 多态和虚函数的使用

1. 定义一个抽象学生类CStudent,它具有公有成员函数Average(),该函数用于计算

学生的平均分,函数为虚函数;定义一个文科学生类CStudentLiberalArts,它是类CStudent的派生类,并以公有方式派生,它具有的成员有:

1) 保存英语、政治、数学、地理和历史、美术成绩的整形成员变量; 2) 设置上述变量的公有成员函数; 3) 输出上述变量的公有成员函数;

4) 公有的成员函数Average()用于计算学生的平均分;

定义一个理科学生类CStudentScience,它是类CStudent的派生类,并以公有方式派生,它具有的成员为:

1) 保存英语、物理、数学、化学和计算机、程序设计成绩的整形成员变量; 2) 设置上述变量的公有成员函数; 3) 输出上述变量的公有成员函数;

4) 公有的成员函数Average()用于计算学生的平均分; 编写主函数,并测试以下内容:

1) 定义一个CStudent的指针数组pStu,数组长度为4;

2) 动态创建2个文科学生的对象,地址存于pStu数组的0-1个元素内; 3) 动态创建2个理科学生的对象,地址存于pStu数组的2-3个元素内; 4) 利用while循环调用数组里每个元素的计算平均成绩操作; 释放动态分配的空间,确保必要的析构函数能被调用。

2. 创建一个表示形状的抽象类shape,具有求图形面积的函数area( ),以及一个通

用的用以求不同形状的图形面积总和的函数total( )。从shape类派生三角形类(triangle)、矩形类(rectangle)和圆形类(circle),并给出具体的求面积函数。从键盘输入三种不同大小的图形各2个,利用各个图形类的求面积函数计算所有图形面积总和并将结果显示输出。编写主函数完成功能测试。

实验六 函数重载

1. 用函数重载形式求两个整数、两个浮点数的平方。

2. 用函数重载方法求两个整数、两个浮点数、两个字符的最小者。 3. 创建一个类DoubleSubscriptedArray。在构造阶段,该类能够创建一个包含

任意行、任意列的数组。类还提供operator()函数进行双下标运算。例如,在一个名为a的3行5列的二维数组中,可以用a(1,3)访问第一行第三列的元素。函数operator( )应能执行相应的指针运算来访问数组中的元素。。

搜索更多关于: 上机 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验一 开发环境与简单C++程序 ⒈ 从键盘输入一个字符序列,编程统计其中的数字个数和英文字母个数,输入的字符序列以“#”作为结束符。 ⒉ 编写一段程序,当用户输入一个6位数据时,程序可以将其分离为单独的数字,分离结果之间用3个空格分开。(应用求模运算符和整型除法) ⒊ 采用指针方法将一个数组中的所有元素颠倒顺序,结果仍然放在原来的数组中,要求使用最少的辅助存储单元。 ⒋ 使用结构变量表示每个学生的信息:姓名、学号、三门课的成绩和平均成绩。编写一个冒泡排序函数,根据学生的平均成绩排序。从键盘上输入10个学生的数据,在主函数中调用排序函数输出每个学生的姓名和三门课的成绩以及平均成绩。 ⒌ 编写一段程序,确定员工的工资总额。每位员工在一周内工作40小时以内,是按正规工作时间付酬,超出40

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com