实验室与设备管理处 |学校首页

实验大纲

您的当前位置: 首页 > 旧站栏目 > 实验教学 > 实验大纲 > 正文

《面向对象程序设计(VC++)》实验教学大纲A

作者:日期:2016-08-09 11:08点击数:

课程编号:04020027                    课程名称:面向对象程序设计(VC++)

总学时:108      总学分:5             实验学时:62       实验学分:2

适应专业:计算机科学与技术、软件工程、网络工程等专业

实验指导书:《Visual C++ 实用教程(第3版)》 第3部分 上机操作指导.

一、本实验课的任务、性质与目的

通过上机实验和课程设计加深对课程知识的理解,提高学生的逻辑思维能力、程序编写调试能力及分析问题与解决问题的能力,培养学生的创新意识和创新能力。

二、实验方式与基本要求

实验方式:本课程的实践教学环节包括上机实验和课程设计两部分。

基本要求:上机实验要根据实验题目,完成实验内容,达到实验目的,编写实验报告。课程设计要求提交课程设计报告,报告内容包括:

需求分析:陈述设计的任务,强调程序要做什么,明确规定:①输入的形式和输入值的范围;②输出的形式;③程序所实现的功能;④测试数据:包括正确的输入输出和错误的输入及其输出。

概要设计:说明采用的数据结构、主程序的流程及各程序模块之间的调用关系。

详细设计:提交带注释的源程序或者用伪代码写出每个操作的算法。

调试分析:①调试中所遇到的问题及解决方法;②算法时空分析;③经验与体会。

用户使用说明:说明如何使用程序,详细列出每一步操作步骤。

测试结果:列出对于给定的输入所产生的输出结果。若可能,测试随输入规模的增长所用算法的实际运行时间的变化。

三、实验项目与内容提要

本课程的实验教学环节包括上机实验和课程设计两部分。

上机实验项目

序号

实验项目名称

内容提要

实验时数

实验类型

实验要求

1

认识VC++开发环境

(1)熟悉VC++6.0的开发环境。(2)操作工具栏和项目工作区窗口。(3)用应用程序向导创建一个控制台应用项目Ex_Hello。(4)输入并执行一个C++程序EX_Sample。

1

2

基本数据类型、表达式和基本语句

(1)测试基本数据类型char、int和short之间的相互转换。(2)测试有自增自减运算符的表达式的结果和运行次序。(3)程序Ex_Prime:输出l~100的素数(用for语句编写)(4)程序Ex_CircleAndBall:设圆半径r=2.5,圆柱h=4,求圆的周长、圆面积、圆球体积、圆柱体积。用cin输入要计算的项目,然后输出计算结果,输入、输出时要有文字提示。

1

3

函数和预处理

(1)程序Ex_AreaFunc:已知三角形的边长a、b、c,求三角形的面积。三角形的三边的边长由cin输入,需要判断这三边是否构成一个三角形,若是,则计算其面积并输出,否则输出“错误:不能构成三角形!”。编写一个完整的程序,其中需要两个函数,一个函数用于判断,另一个函数用于计算三角形面积。(2)在上述内容的基础上,改用带参数的宏编写程序Ex_AreaMacro来求三角形的面积。(3)程序Ex_NumToStr:用递归法将一个整数n转换成字符串,例如输入1234,应输出字符串“1234”。n的位数不确定,可以是任意位数的整数。

2

4

构造类型、指针和引用

(l)程序Ex_Sort:采用插入排序的方法,输入10个整数按升序排序后输出。要求编写一个通用的插入排序函数Insertsort,它带有3个参数:第1个参数是含有n个元素的数组,这n个元素已按升序排序;第2个参数给出当前数组中元素个数;第3个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数Print,要求每一行输出5个元素。(2)程序Ex_Student:有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩、数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数来实现。

1

5

类和对象、继承和派生

程序Ex_Class:定义一个人员类CPerson,包括数据成员:姓名、编号、性别和用于输入、输出的成员函数。在此基础上派生出学生类CStudent(增加成绩)和教师类CTeacher(增加教龄),并实现对学生和教师信息的输入、输出。编写一个完整的测试程序,并将Ex_Class所有的类定义保存在Ex_Class.h,将类的成员函数实现代码保存在Ex_Class.cpp中。

1

6

多态和虚函数、运算符重载

(1)程序Ex_shape:定义一个抽象类CShape,包含纯虚函数Area(用于计算面积)和SetData(用于重设形状大小),然后派生出三角形CTriangle类、矩形CRect类、圆CCircle类,分别求其面积。最后定义一个CArea类,计算这几个形状的面积之和,各形状的数据通过CArea类构造函数或成员函数来设置,编写一个完整的程序。(2)程序Ex_Complex:定义一个复数类CComplex。通过重载运算符“*”和“/”,直接实现两个复数之间的乘除运算。运算符“*”用成员函数实现重载,而运算符“/”用友元函数实现重载。编写一个完整的程序(包括测试运算符的程序部分)。

1

7

输入输出流库

程序Ex_File:用文件来实现一个学生记录的添加、查找等操作。

1

8

MFC基本应用程序的建立

(1)在一个默认的单文档应用程序Ex_SDI中通过映射计时器消息实现这样的功能:无论在EX_SDI应用程序窗口的客户区中单击鼠标左键或右键,都会弹出“消息”对话相,显示鼠标左键或右键的单击次数。(2)使用调试器对上述程序的流程和鼠标单击次数进行调试。

1

9

对话框和按钮控件

设计一个对话框,用于问卷调查,在教材的实例基础上针对“上网”话题再提出一个问题:“你每天上网的平均时间”,该问题的各选答案是“<1小时”、“<2小时”、“<3小时”和“>3小时”。当回答问题后,单击“确定”按钮,弹出“上网问卷调查”对话框,显示用户选择的内容。

1

10

编辑框、列表框和组合框

设计一个学生成绩管理对话框应用程序Ex_Input,单击“添加”按钮后,学生成绩记录添加到列表框中,在列表框中单击学生成绩记录,则记录内容显示在左边的相关控件中,单击“删除”按钮,则删除该记录。需要说明的是。当列表框没有记录或没有选定的记录项,则“删除”按钮是灰显的。

1

11

进展条、滚动条和滑动条

设计一个对话框应用程序Ex_Color,操作滚动条、滑动条和进展条控件可以调整RGB颜色的3个颜色分量:R红色分量)、G(绿色分量)和B(蓝色分量),并根据用户指定的颜色填充控件区域。

1

12

菜单、工具栏和状态栏

创建一个单文档应用程序Ex_SDI,开始运行时主框架窗口的大小为屏幕的1/4大小,并移动到屏幕的右上角。当单击工具栏上的圆圈按钮,该按钮是按下状态,此时在窗口的客户区的光标为一个圆圈,双击鼠标,则状态栏上显示“你在(x,y)处双击鼠标”(x,y为鼠标在客户区的位置)。若再单击工具栏上的圆圈按钮,该按钮呈正常状态,光标变成原来的箭头形,双击鼠标,状态栏上不再显示任何文本。

1

13

框架窗口、文档和视图

创建一个基于CListView视图的单文档应用程序Ex_Student,通过对话框来输入一个学生记录,记录包括学生的姓名、学号和3门成绩。然后将记录内容保存到一个对象数组集合类对象中,最后通过文档序列化将记录保存到一个文件中。当添加记录或打开一个记录文件时,还会将数据显示在文档窗口(即视图)中。

1

14

图形、文本和位图

上机练习教程第7章的例Ex_Draw、Ex_Icon和Ex_Cursor

1

15

ODBC数据库编程

对于大量数据处理,采用数据库更为安全、简便。例如,对于学生成绩管理系统,常常需要处理学生的基本信息、课程成绩以及与学生相关的院系、专业情况等,这些信息用数据库表的形式来描述更为清晰。本次实验按教程练习MFCODBC数据库编程过程。

1

16

ADO数据库编程

创建一个基于CListView视图的单文档应用程序EX_ADO,主要完成下列任务或实现下列功能。(1)用Access创建一个数据库student.mdb,添加数据表student;(2)在主菜单中添加“学生信息(&S)”顶层菜单,在该菜单添加“添加学生(&U)”子菜单。当选择“添加学生(&U)”子菜单后,出现“学生信息”对话框,单击“添加”按钮后,记录添加到student表中,并自动更新列表视图的列表项。(3)在列表视图的列表项中,单击鼠标右键,弹出“学生信息”对话框,单击“修改”按钮,Student表中相关记录被修改,同时更新列表视图的列表项。(4)若当单击列表视图的列表头(标题头)时,使得列表视图按该列的内容对列表项进行从小到大的排序。

1

课程设计题目:四人一组,合作完成下列必做题,可合作完成下列选做题:(共20学时)

题号

项目名称

内容提要

实验类型

实验要求

1

设计学生成绩管理程序

用数据库或数据文件保存学生的基本信息(学号、姓名、性别、生日、专业),课程信息(课程编号、课程名称,课程类型、课时数、学分),学生成绩信息(学号、课程编号,成绩值)。对上述数据能进行添加、删除、修改、查询和排序。能对学生的单科成绩进行统计并形成统计表和统计图。

设计性

选做

2

设计科学计算器

能完成算术运算(加、减、乘、除、括号)和常用函数运算(指数函数、对数函数、三角函数等)。具有10个以上数据寄存器,具有简单的编程能力(记忆和重现计算过程)。

设计性

选做

3

设计一个平面绘图程序

能绘制基本的平面图形(点、直线、椭圆、矩形、圆角矩形、贝赛尔曲线等)、能编辑文字、填充区域。具有颜色控制、字型字体控制和线形控制。能保存和重现矢量图形。

设计性

选做

4

设计一个日历时钟台历

具有年、月、日、时、分、秒、星期的显示和设置功能,能自动与计算机本身的时间系统保持一致。要求时钟具有时针、分针和秒针和数字显示功能。

设计性

选做

5

设计一个字处理程序

具有页面设置功能,能选择不同的字型字体和颜色在页面内编辑文本信息,具有自动换行换页功能,具有行块选中功能,具有插入和删除功能,具有查找和替换的功能,能保存已编辑好的文本,也能打开已存在的文本文件。

设计性

选做

· 实验类型是指:验证性/设计性/综合性实验;实验要求是指:必做性/选做性实验;

四、考核与评分

考核方式:实验考核方式计入平时成绩,平时成绩占总成绩的20%。课程设计根据程序的完成质量和课程设计报告的质量进行评分(满分100分),在总成绩中占20%。


上一条:《嵌入式系统原理与应用》实验教学大纲A

下一条:《人工智能》实验教学大纲B

【关闭】

地址:湖南涉外经济学院实验实训楼

邮编:410205

联系电话:0731-88127114

湘教QS3-200504-000022 湘ICP备14005754号-1  (版权所有 湖南涉外经济学院实验室与设备管理处 www.hieu.edu.cn  )