程序设计实验大纲

发布时间 : 星期六 文章程序设计实验大纲更新完毕开始阅读

实验内容提要:

(1)定义一个类Base,该类含有虚函数display,然后定义它的两个派生类FirstB和SecondB,这两个派生类均含有公有成员函数display,在主程序中,定义指向基类Base的指针变量ptr,并分别定义Base、FirstB、SecondB的对象b1、f1、s1,让ptr分别指向b1、f1、s1的起始地址,然后执行这些对象的成员函数display。

(2)扩充例12-6,从中派生出一个正方形类和圆柱体类,写一个测试程序,输出正方形的面积和圆柱体的体积。

提示:正方形数据成员:一个顶点和边长;圆柱体数据成员:圆和高。 (3)扩充实例编程中的日期类,为Date类增加一个成员函数,可以判断一个日期是否是系统当前日期。从键盘输入你的生日,如果今天是你的生日则显示:“Happy Birthday!”,否则显示“还有xx天是你的生日”或“你的生日已经过去了xx天,明年的生日要再等yy天”。

13.实验项目名称:模板与异常处理程序设计 实验目的:

(1)理解函数模板和类模板的概念。 (2)能够编写包含函数模板和类模板的程序。 (3)正确理解C++的异常处理机制。 (4)学习异常处理的定义和执行过程。 实验内容提要:

(1)编写一个求绝对值的函数模板,并测试。

(2)请将例4-6的冒泡排序法改写成模板函数并编写一个程序进行测试。 (3)例13-6中所定义的通用栈类实际上是不完善的,如无法根据用户需求改变栈的大小,没有提供栈满溢出无法压入和空栈无法弹出提示等,请改进该程序。

(4)C++中的数组类型比较简单,它的下标只能从0开始,没有负数下标,而且没有数组越界检查。请用类模板设计一个newArray类,该类的对象可以是整型、浮点型、字符型等任何元素类型的数组,而且当访问数组成员时,如果下标越界,程序可以报错并终止。如下是一些例子:

newArray A1(3)

//同传统类型的整型数组

//包含5个元素的浮点型数组,其成员为A2[-2], A2[-1], A2[0], A2[1], A2[2] newArray A2(-2, 3) 请编写一个测试程序。

(5)例5-1给出的求阶乘n!的函数,当用户的输入太大时(如50),会出现错误,请编写一个程序,使用异常处理机制来解决这一问题。

14.实验项目名称:标准库和输入输出流 实验目的:

(1)掌握C++语言输入和输出操作的方法; (2)掌握C++的流和流类库的使用方法。 实验内容提要:

(1)编写一个程序,分别用不同的域宽(0~10)打印出整数12345和浮点数1.2345。观察当域宽小于数值的实际需要的域宽时会发生什么情况。

(2)编写一个程序,将华氏温度0度~212度转换为浮点型摄氏温度,浮点数精度为3。转换公式如下:

Celsius = 5.0 / 9.0 * (Fahrenheit-32);

输出用两个右对齐列,摄氏温度前面加上正负号。

(3)编写一个程序,打印出ASCII字符集中码值为33~126的字符的ASCII码表。要求输出十进制值、八进制值、十六进制值以及码值所表示的字符。

(4)修改例14-9的程序,重载>>运算符,使其能够直接使用cin语句输入Date类对象。

(5)编写一个程序,可以读入一个C++语言的源文件,每一行加上行号后保存到另一个后缀为.prn的同名文件中。

15.实验项目名称:综合程序设计 实验目的:

掌握利用所学到的面向对象的程序设计方法,编制含有多个类的程序;掌握根据实际问题和给定的算法,设计类结构并编码实现,解决小型问题。

实验内容提要:编写一个简单电话管理程序。 16.实验项目名称:顺序表的操作 实验目的:

(1)掌握线性表的两种存储结构的C++ 定义:一种是顺序表类;另一种是链表类;

(2)掌握特殊线性表——堆栈的C++ 定义:一种是顺序栈类;另一种是链栈类。

实验内容提要:

(1)将线性表中的数据元素逆转,假设线性表采用顺序表类来存储。 (2)将线性表中的数据元素逆转,假设线性表采用带头结点链表类来存储。 (3)设计一个算法,将一个带头结点的单链表A分解为两个带头结点的单链表B和C,使得B表中含有A表中序号为奇数的元素,而C表中含有A表中序号为偶数的元素,且保持其相对顺序。

五、实验成绩的考核与评定办法

1.实验考核每次依据预习、实验完成情况、实验报告等综合给出实验成绩。未参加实验者或实验成绩不合格者,本课程不予通过。

2.实验和作业题目的数量,每次5-7题。

3.实验成绩、作业成绩等平时成绩占该课程总成绩的30%。 六、使用的主要仪器

1.硬件环境:普通联网的PC机

2.软件环境:VC++ 6.0或者Quincy 2002 七、实验项目的设置及学时分配 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 实 验 项 目 C++集成开发环境的使用 基本数据类型及其运算 选择及循环程序设计 数组与字符串的输入和输出 函数的声明、定义和调用 指针的声明和使用 函数和指针程序设计 结构体的使用 类的基本定义方法和使用 构造函数和数据成员的初始化 从一个类派生另一个类 虚函数的定义和运算符的重载 模板与异常处理程序设计 标准库和输入输出流 综合程序设计(1) 综合程序设计(2) 学时 实验类型 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 32 验证 验证 验证 验证 验证 验证 验证 综合 综合 验证 综合 综合 综合 综合 综合 综合

附:教学实验基本信息汇总表

大纲制定者:杨琦(执笔) 大纲校对者:××× 大纲审定者:××× 大纲批准者:×××

必修或选修 必修 必修 必修 必修 必修 必修 必修 必修 必修 必修 必修 必修 必修 必修 必修 选修 备注 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3 选做3

联系合同范文客服:xxxxx#qq.com(#替换为@)