实验四----《面向对象程序设计C 》综合性实验指导书
面向对象程序设计c实验指导书

实验一熟悉VC++IDE开发环境一、实验目的一、熟悉VC++集成开发环境,熟练把握VC++项目工作区、各类编辑器、菜单栏和工具栏的利用。
二、把握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求一、分析以下程序运行的结果。
程序一:#include <>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}程序二:#include <>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}程序三:#include <>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}程序四:#include <>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}程序五:#include <>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}实验二 C++对C的扩充一、实验目的一、了解在面向对象程序设计进程中C++对C功能的扩充与增强,并擅长在编写程序的进程中应用这些新功能。
《C++面向对象程序设计》_计算机科学与技术_实验四_模板和文件_实验任务书

《C++面向对象程序设计》实验任务书实验四模板和文件By shejz 2016/4/23(一)实验目的1.掌握模板的定义和使用方法;2.理解函数模板、类模板的抽象特性;3.能够根据要求正确定义模板;4.深入理解C++的输入输出的含义及其实现方法;5.掌握标准输入输出流的应用,包括格式输入输出;6.掌握对文件的输入输出操作。
(二)实验内容事先编写好程序,上机调试和运行程序,分析结果。
2.1 类模板将《C++面向对象程序设计(第2版)》第3章例3.14的程序改写为由类声明及类实现的“*.h”头文件和类的使用文件“*.cpp”两个部分组成的程序。
2.2输入输出流输入三角形的三边边长a,b,c,计算三角形的面积的公式是area= s s−a s−b s−c ,s=a+b+c2形成三角形的条件是:a+b>c,b+c>a,c+a>b编写程序,输入三角形的三边边长a,b,c,检查a,b,c是否满足以上条件,如不满足,由cerr输出有关出错信息。
本题是《C++面向对象程序设计(第2版)》第7章习题第1题。
2.3文件操作建立两个磁盘文件file1.dat和file2.dat,编程序实现以下工作:(1)从键盘输入20个整数,分别存放在两个磁盘文件中(每个文件中放10个整数);(2)从file1.dat读入10个数,然后存放到file2.dat文件原有数据的后面;(3)从file2.dat读入20个数,将它们按照从大到小的顺序输出到屏幕并存放到f2.dat(不保留原来的数据)。
本题是参考《C++面向对象程序设计(第2版)》第7章习题第4题改编的。
(三)预习内容《C++面向对象程序设计(第2版)》第3、7章。
(四)实验报告说明本次实验报告试行提交电子版,要求文件名命名规则为:CPP_4_学号_姓名.PDF(转换为PDF格式)。
发送电子邮件到609360949@邮箱。
如:1523023114 张三示例:CPP_4_1523023114_张三.pdf。
《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。
(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。
实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。
要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。
(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。
要求:使用递归函数。
主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。
链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。
程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。
C面向对象程序设计实验指导书(谭浩强)

面向对象程序设计实验指导书江西理工大学电气工程与自动化学院年月目录绪论错误!未指定书签。
写本书的目的错误!未指定书签。
本书的结构安排错误!未指定书签。
如何使用本书错误!未指定书签。
实验一程序的运行环境和运行程序的方法错误!未指定书签。
实验目的错误!未指定书签。
实验内容和步骤错误!未指定书签。
实验二对的扩充错误!未指定书签。
实验目的错误!未指定书签。
实验内容错误!未指定书签。
程序阅读错误!未指定书签。
程序设计错误!未指定书签。
思考题错误!未指定书签。
实验三类和对象(一)错误!未指定书签。
实验目的错误!未指定书签。
实验内容错误!未指定书签。
程序阅读错误!未指定书签。
程序设计错误!未指定书签。
思考题错误!未指定书签。
实验四类和对象(二)错误!未指定书签。
实验目的错误!未指定书签。
程序阅读错误!未指定书签。
程序设计错误!未指定书签。
思考题错误!未指定书签。
实验五运算符重载错误!未指定书签。
实验目的错误!未指定书签。
实验内容错误!未指定书签。
程序阅读错误!未指定书签。
程序设计错误!未指定书签。
思考题错误!未指定书签。
实验六派生与继承错误!未指定书签。
实验目的错误!未指定书签。
实验内容错误!未指定书签。
程序阅读错误!未指定书签。
程序设计错误!未指定书签。
实验七派生与继承—多重派生错误!未指定书签。
实验目的错误!未指定书签。
实验内容错误!未指定书签。
程序阅读错误!未指定书签。
程序设计错误!未指定书签。
思考题错误!未指定书签。
实验八程序、程序和程序错误!未指定书签。
实验内容错误!未指定书签。
实验描述错误!未指定书签。
实验步骤错误!未指定书签。
实验结果分析错误!未指定书签。
思考题错误!未指定书签。
实验九简单单文档程序设计错误!未指定书签。
实验目的错误!未指定书签。
实验内容错误!未指定书签。
实验描述错误!未指定书签。
实验步骤错误!未指定书签。
实验结果错误!未指定书签。
思考题错误!未指定书签。
实验十简单对话框程序设计错误!未指定书签。
面向对象程序设计C__实验指导书

实验1Visual C++6.0开发环境应用入门(3学时)1.实验目的1.了解Visual C++6.0的特点。
1.熟悉Visual C++6.0的开发环境。
2.学习用Visual C++6.0编写标准的C++控制台程序。
2.实验任务使用Visual C++来建立一个非图形化的标准C++程序,编译、运行以下程序:#include<iostream.h>C++简单程序设计(3学时)void main(void){cout<<”Hello! \n”;cout<<”Welcome to c++! \n”;}3.实验步骤1.启动Visual C++6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0”,显示Visual C++6.0开发环境窗口。
2.创建一个项目(1)单击File 菜单中的New选项,显示New(新建)对话框(如图1-1所示)。
(2)单击Project (项目)标签,在Projects 选项卡中,选择Win32 Console Application(Win 32控制台应用程序)。
在Location(位置)文本框中指定一个路径,在Preject Name (项目名称)文本框中为项目输入一个名字lab1_1,单击OK按钮。
(3)在弹出的Win32 Console Application-Step 1 of 1对话框中选择An Empty Project单选项,然后单击Finish(完成)按钮(如图1-2所示)。
(4)最后在New Project Information 对话框中单击OK按钮,完成项目建立。
图1-1New对话框图1-2创建控制台应用程序第一步3.建立C++源程序文件(1)选择菜单命令Project |Add to Project | New, 弹出New对话框。
《面向对象程序设计》实验指导书(新)

《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比:48/16二、适用专业:信息管理与信息系统三、实验目的基本要求能够充分理解面向对象程序设计的思想和应用方法。
能够使用面向对象编程语言进行相应的程序设计和开发。
理解面向对象的基本思想、概念和特性以及面向对象的分析、建模、设计技术与方法。
掌握C++语言基本构成、类与对象、消息传递与函数、函数与运算符重载、继承性、多态性与虚拟函数、数据封装和隐藏及Windows 程序设计基础。
通过实验动手实践,使学生能够掌握面向对象程序设计的特征和基本思想,以及相应的具体实现和Windows程序设计基础知识。
四、实验内容实验一:循环控制(一)实验目的要求:熟悉VC++集成开发环境,学习使用控制台应用程序;创建工程,建立可执行文件并执行,观察结果。
掌握变量的声明和定义方法,掌握循环语句和条件语句的定义、作用和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.编程求1!+2!+3!+4!+…+12!。
2.编程求所有的3位数素数,且该数是对称的。
所谓“对称”是指一个数,倒过来还是该数。
例如,375不是对称数,因为倒过来变成了573。
实验二:递归函数(一)实验目的要求:掌握函数的概念和使用方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.用递归函数来求1!+2!+3!+…+12!。
2.用递归的方法建立一个函数int fibonacci(int n),求Fibonacci数列中第n个数的值。
实验三:用气泡法排序(一)实验目的要求:掌握文件读写的方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。
面向对象程序设计实验指导书

《面向对象C++程序设计》实验指导书计算机科学与技术学院《面向对象C++程序设计》课程组实验指导书目录实验一 C++基础练习 (1)实验二 C++简单程序设计练习 (4)实验三类与对象(一) (9)实验四类与对象(二) (14)实验五派生类与继承 (21)实验六虚函数与多态性 (31)实验七函数模板与类模板 (40)实验八输入输出的格式控制 (44)实验九文件的输入输出 (49)实验十综合练习 (55)实验十一设计时间类——计算程序的运行时间 (68)附录:C++语言上机实验环境介绍 (71)实验一 c++基础练习一、实验性质验证性实验2学时二、实验目的和要求1.掌握c++程序的基本格式与规范,学会编写简单的c++程序。
2.理解c++程序结构的特点。
3.熟悉c++程序基本的输入输出操作。
4.掌握c++数据类型常量和变量以及修饰符的使用方法。
5.掌握函数定义、函数调用和函数说明的方法。
6.熟悉作用域运算符的功能和基本使用方法。
7.掌握c++内存的动态分配与释放方法。
8.理解引用的概念,掌握引用的使用方法。
三、实验内容:1编写一个简单程序,输出“welcome you”,并给程序加一行注释“fisrt c++ program”。
2编写一个完整的包含输入和输出的简单c++程序。
3编写内置函数求解2x^+4x+5的值,x为整数,并用主函数调用该函数。
利用函数重载,重载上面的函数,x为浮点数。
4编写一个程序,对一个整数数组求和,求和的结果使用全局变量sum存储,同时对整数中的奇数求和,结果使用局部变量sum存储,在主程序将两个结果输出。
本题要求体会和理解作用域运算符的概念与基本使用方法。
5编写一个程序动态分配一个浮点空间,输入一个数到该空间中,计算以该数为半径的圆的面积并在屏幕上显示,最后释放该空间,请使用new,delete运算符。
四、实验步骤第一步:根据实验内容编写下面的代码进行调试。
#include <iostream.h>void main(){ // first c++ programcout<<”\n welcome you \n”;}第二步:下面的程序对用户输入的口令进行判断,输出不同的结果。
实验四----《面向对象程序设计C++》综合性实验指导书

《面向对象程序设计C++》综合性实验指导书实验题目:学生选课小系统(实验四)课程名称:面向对象程序设计C++计划学时:4起稿人:邹金安一、实验目的1、理解面向对象程序设计的基本概念(类、对象、成员函数、成员变量);2、掌握面向对象程序设计的基本方法;3、综合复习课程的所有知识点,进一步熟练面向对象程序的开发方法和流程,提高独立分析问题和解决问题的能力,培养实践动手技能。
二、实验任务请设计一个学生选课小系统。
要求:描述课程类和学生类。
用重用类的多文件程序结构形式,编制面向对象应用程序。
学生有名字,学生最多可学五门课程,学生实际学的门数,可以给定学生的名字,可以得到学生的名字,可以得到学生给定课程的成绩,可以得到学生所学课程的平均成绩,可以给学生增加一门课(同时在该课程中增加一个学生)。
课程最多有30个学生,课程有实际学生数,课程有实际学生名单,课程有学分数,课程有每个学生成绩,课程可以得到学分数,课程可以设置学分数,课程可以得到班平均成绩,课程可以得到某个学生成绩。
现有数学课,张三学数学,成绩为3.1分,李四学数学,成绩为4.5分。
求其平均成绩,求张三的数学成绩。
现有物理课,学时数为4,张三学物理,成绩为4分。
求张三所学课程的平均成绩。
三、实验相关理论和原理在以往学习的基础上,对以往所学内容进行整合,综合运用类、对象等面向对象技术,进行管理系统的开发。
面向对象的几个基本概念:1、类与对象类是C++语言封装的基本单位,用来创建对象,它是对象形式的模块,指定代码和数据。
C++使用的规范构建对象,对象是类的实例。
定义一个类时,要声明其包含的数据以及处理这些数据的代码。
数据包含于有类定义的实例变量中,代码则包含于函数中,组成类的代码和数据成为这个类的成员。
2、构造函数构造函数在对象创建是进行初始化,为类定义的实例变量赋初始值,或者执行一个结构完整的对象必须的任何其他启动过程。
3、析构函数析构函数在对象的生命期行将结束的时候,系统自动调用。
【免费下载】面向对象程序设计(C#)实验指导书

} (3) 三目条件运算符:
int b = (a>3)?5:10;
实验要求: 完成计算阶乘的 WPF 程序
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
面向对象程序设计-C++实验指导书

景德镇陶瓷学院信息工程学院计算机专业教研目录前言.................................................................................................... 2第一部分VISUAL C++实验环境介绍 .............................................. 3一、Visual C++简介.................................................................................................................. 3二、常用功能键及其意义......................................................................................................... 4第二部分实验...................................................................................... 5实验一C++认识实验 ............................................................................................................. 6实验目的..................................................................................................................................... 6实验内容..................................................................................................................................... 6前言本书是专业课程《WINDOWS程序设计》的实验指导书,一般人员也可以使用它作为学习windows程序设计的上机指导。
《面向对象程序设计》实训指导书

《面向对象程序设计》实训一、实训目的:1、学生进一步巩固《面向对象程序设计》课程中所学到的知识,熟练掌握C++语言程序设计,增强实际编程能力。
同时,加强对VC++编程环境的使用能力,掌握VC++编程环境中的调试功能。
从而达到用C++语言进行中等难度程序开发的目标。
2、学生掌握面向对象设计开发的基本思想和方法,培养学生在已有的知识基础上进一步获取新知识的能力,提高分析问题和解决问题的能力。
3、培养和提高学生的逻辑思维、抽象思维和统筹规划能力,培养学生独立完成程序设计开发的工作能力。
为今后从事专业性软件开发工作打下基础。
二、实训环境:1、操作系统平台:Windows 98 / Windows 2000 / Windows XP2、软件开发平台:Visual C++ 6.04、其它应用软件:Microsoft Access / SQL Server ,Word等三、实训的基本要求1、实训选题要求实训题目可以是学生自选题目或教师指定题目。
学生自选题目必须写出开题报告,经教师审核通过后方可作为正式选题。
2、课题规模要求(1)题目涉及的自定义基础类应不少于3个、必须有派生类。
(2)题目涉及的主要功能模块应不少于6个。
(3)数据的存储可以使用数组,使用文件,也可以使用数据库。
(4)用户界面最好采用图形界面,界面个数不少于3个。
3、分工与合作要求每个题目由3个学生共同完成,每组的人数视题目规模由教师规定。
每组组员之间必须要有明确的分工,并独立完成各自的设计任务,最后组内联调、共同整理项目文档。
4、所创建的程序名、类名、文件名要求必须加上本人的姓名拼音。
5、实训内容要求在一周内完成。
晚交者扣3~5分,超过截止日期的实训成绩计为零分。
6、实训报告的具体要求请见后面的“实训报告格式要求”。
四、实训内容:实训题目一、模拟银行储蓄存取款系统请实现一个简单的银行储蓄系统,完成活期用户的存款和取款业务。
要求如下:1.实现描述银行的类,记录系统中现有哪些储户(提示:可用数组实现,但须注意判断数组越界的情况),该类中要求包含三个函数:(1)生成新储户的函数(2)按照账户删除储户的函数(3)按照账户查询储户的函数,要求显示查询结果。
C面向对象程序设计实验指导书样本

《面向对象程序设计》实验指导书适用专业:计算机科学与技术信息与计算科学编写者: 面向对象程序设计课程组3月一、基本目的面向对象程序设计是计算机学科的核心课程之一, C++语言程序设计是当前自20世纪80年代以来迅速推广和广泛使用的一种程序设计语言。
经过本课程实验, 使学生掌握基本的面向对象的程序设计方法, 熟练类与对象、继承与派生、多态性、模板、异常处理机制以及I/O流等程序设计能力, 并利用C++语言进行实际问题的程序设计。
二、实验环境建议使用Microsoft Visual C++ 6.0集成开发环境。
三、实验要求1.每人独立完成实验和实验报告。
2.每个实验包括多个实验题目,要求每个实验在规定时间内设计、实现尽量多的题目。
3.程序书写符合程序书写规范。
四、实验内容五、实验报告每人针对每个实验上交一份实验报告, 不接受不完整的实验报告, 或者说明与程序或结果不符合的实验报告。
实验报告主要包括四方面内容:⑴实验设计按照每个实验题目要求, 设计相应的类以及函数的实现方法, 并用适当的方式进行描述。
(2) 程序清单实验实现的源程序, 要求符合代码行首缩进、单句代码换行、标识符命名合理, 并包括必要的注释。
(3)运行结果原始数据, 程序运行结果截图及说明。
(4) 实验总结调试过程及调试中遇到的问题及解决办法;调试程序的收获心得与体会, 分析不足之处。
实验一 C++程序设计基础练习一、实验目的1、学习编写简单的C++程序, 并掌握C++程序的基本格式与规范。
2、理解C++程序结构的特点。
3、学习C++程序基本的输入输出操作。
4、学习数据类型常量和变量以及修饰符的使用。
5、学习基本的函数定义与调用方法。
6、学习作用域运算符的功能与基本使用方法。
7、学习内存的动态分配与释放方法。
8、学习引用的概念, 掌握引用的基本使用方法。
二、试验内容( 一) 程序填空1、输入并运行所给的下述参考程序, 并将程序中的注释部分也输入计算机, 体会和理解程序的基本格式规范。
《面向对象程序设计》实验指导书

实验一Visual C++/C++Builder初识与选择分支程序设计实验目的●了解Visual C++/C++ Builder的集成开发环境●初步掌握在VC++或C++ Builder中开发应用程序的一般步骤●初步掌握程序编辑、调试的基本方法●掌握单分支结构语句:if…●掌握双分支结构语句:if…else…●掌握多分支选择结构语句:switch…case…;实验示例[例1-1]在VC++开发环境中,编写一个计算三角形面积的C++程序,调试运行程序,运行时输入三角形的三条边。
实现步骤:1.启动Visual C++开发环境通过执行菜单“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++6.0”项,启动Visual C++开发环境。
2.编辑程序1)执行VC++菜单“文件”→“新建”项,打开新建对话框;2)在对话框中单击“文件”标签,在弹出的“文件”选项卡中单击“C++ Source File”选项;3)在“目录”文本框中输入或选择存放程序的文件夹,在“文件”文本框中输入程序文件名;4)单击“确定”按钮,系统打开文件编辑窗口,参照如下代码,编写计算三角形面积的源程序:#include <iostream.h>#inclkude <math.h>using namespace std;void main(){double a,b,c,s,area;cout<<”a,b,c? ”;cin>>a>>b>>c; // 键盘输入三角形三条边长s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<”area: ”<<area<<endl;}3.编译和链接程序1)执行VC++菜单“编译”项,屏幕出现“询问是否创建默认项目工作区”对话框;2)单击“是”按钮,出现“询问是否保存文件”对话框;3)单击“是”按钮保存文件后,系统开始对源程序进行编译。
面向对象程序设计(VC)实验指导书

《面向对象程序设计(VC++)》实验指导书XXX编XXXXX学院计算机程序设计时一门实践性很强的课程,因此学时过程中仅仅通过阅读教科书或听课时补可能完全掌握的,学习程序设计的作重要的环节就是多上机实践。
凡是学过程序设计的人,往往都有类似的感觉:教科书上的例题能看懂,上课时老师的例题能听懂,可到了自己编程时却又无从下手。
而老师上课再三强调的问题,学生上机时还是照样会错误百出。
同时,由于学生的实践经验有限,调试程序时找错、改错的过程非常艰难,有时甚至花几个小时都调不同一个程序,不但效率低下,而且容易失去学习的兴趣。
本实验指导书的目的就在于给学生的编程学习提供一些指导,帮助学生快速的完成程序的调试,使学生在实践的过程中少一些曲折,多一点成功的乐趣。
为了满足不同层次的学生的需要,每一部分的实验内容都按由易到难的顺序编排,前面的题目一般都有较详细的指导,后面的提高部分(或选作部分)一般指给出提示,供学习基础较好的学生使用,充分挖掘每个人的潜力。
为了提高实验课的效率,学生需要做到:每次实验之前都要准备好实验内容,包括:明确实验步骤,编写出实验中要调试的程序,编写调时程序时需要的测试数据以及程序应有的运行结果。
实验过程中做好调试记录,包括主要实验步骤、关键代码、测试结果、出现的错误及其原因分析与解决措施。
实验结束后要整理实验内容,编写实验报告,回答实验内容中提出的思考题,并总结实验中用到的主要知识点。
本书中所有的程序都在Windows环境下的V isual C++6.0系统中调试通过。
实验一多态性 (8)实验二函数模板 (9)实验三类模板 (10)实验四输入/输出流 (12)实验五Windows 应用程序 (14)实验六对话框应用程序设计 (17)实验七文本框、按钮、编辑框控件 (20)实验八单选按钮、复选框、分组框控件 (22)实验九列表框、组合框控件 (24)实验十列表控件、树型控件等控件 (27)实验十一单文档应用程序(1) (31)实验十二单文档应用程序(2) (34)实验十三多文档应用程序 (36)实验十四键盘和鼠标的输入处理程序设计 (37)实验十五使用MFC进行数据库编程 (40)综合实训:小商店管理助手 (44)实验一继承与派生(1)一、实验目的1.掌握派生类的定义,理解派生与继承的原理;2.熟悉三种派生方式下派生类对基类成员的继承特点、访问权限。
《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书第一部分实验教学大纲课程名称:面向对象程序设计实验一、课程简介及基本要求面向对象的程序设计是一门实践性很强的课程,每个学生必须完成一定数量的上机作业。
通过上机作业进一步加深对课程基本内容的理解。
同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。
由于学生编程和上机的熟悉程度往往差别较大,本大纲所要求的实验为每个学生必须完成的实验,即最低要求。
其它上机内容由学生在教师指导下自选,内容可以是习题中编写的程序,也可以是学生解决实际问题中所编写的程序。
二、实验课程目的与要求实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
本课程使学生熟悉C++的语法特性,了解C与C++的区别和兼容性;理解面向对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性—类;掌握用C++编写面向对象程序的一般方法;了解VC++编程环境。
三、主要仪器设备PC机器一台。
装有C++builder 或Visual C++或其他的C++编译软件。
四、实验方式与基本要求要求把每次实验的程序文本和运行结果通过邮件方式发送给实验指导老师.五.考核与报告本课程实验考试方式是考查,按一般课程考试方式进行,主要内容包括实验操作和实验报告,实验成绩占该课程形成性考核成绩的30%。
实验报告的规范:实验完成后填写统一的实验报告,给出实验内容题目、年级、姓名、学号、指导教师、完成日期,并详细填写:实验目的、实验程序、实验结果及分析、存在的问题。
实验0、C++开发环境应用(课外实验 2学时)1、实验目的(1)了解C++开发工具的特点(2)熟悉C++开发环境(2)学习用C++编写标准的C++程序2、实验任务使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序:#include <iostream.h>void main(void){cout<<”Hello!\n”;cout<<”Welcome to C++!\n”;}3、实验步骤(1)启动Visual C++开发环境(2)创建一个项目a.单击File菜单中的New选项,显示示新建对话框b.选择Win32 Console Application(VC++)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计C++》综合性实验指导书
实验题目:学生选课小系统(实验四)
课程名称:面向对象程序设计C++
计划学时:4
起稿人:邹金安
一、实验目的
1、理解面向对象程序设计的基本概念(类、对象、成员函数、成员变量);
2、掌握面向对象程序设计的基本方法;
3、综合复习课程的所有知识点,进一步熟练面向对象程序的开发方法和流程,提高独立分析问题和解决问题的能力,培养实践动手技能。
二、实验任务
请设计一个学生选课小系统。
要求:描述课程类和学生类。
用重用类的多文件程序结构形式,编制面向对象应用程序。
学生有名字,学生最多可学五门课程,学生实际学的门数,可以给定学生的名字,可以得到学生的名字,可以得到学生给定课程的成绩,可以得到学生所学课程的平均成绩,可以给学生增加一门课(同时在该课程中增加一个学生)。
课程最多有30个学生,课程有实际学生数,课程有实际学生名单,课程有学分数,课程有每个学生成绩,课程可以得到学分数,课程可以设置学分数,课程可以得到班平均成绩,课程可以得到某个学生成绩。
现有数学课,张三学数学,成绩为3.1分,李四学数学,成绩为4.5分。
求其平均成绩,求张三的数学成绩。
现有物理课,学时数为4,张三学物理,成绩为4分。
求张三所学课程的平均成绩。
三、实验相关理论和原理
在以往学习的基础上,对以往所学内容进行整合,综合运用类、对象等面向对象技术,进行管理系统的开发。
面向对象的几个基本概念:
1、类与对象
类是C++语言封装的基本单位,用来创建对象,它是对象形式的模块,指定代码和数据。
C++使用的规范构建对象,对象是类的实例。
定义一个类时,要声明其包含的数据以及处理这些数据的代码。
数据包含于有类定义的实例变量中,代码则包含于函数中,组成类的代码和数据成为这个类的成员。
2、构造函数
构造函数在对象创建是进行初始化,为类定义的实例变量赋初始值,或者执行一个结构完整的对象必须的任何其他启动过程。
3、析构函数
析构函数在对象的生命期行将结束的时候,系统自动调用。
可以用来进行一些善后处理工作。
四、实验指导
(一)分析题意
1. 学生有名字,学生最多可学五门课程,学生实际学的门数,可以给定学生的名字,可以得到学生的名字,可以得到学生给定课程的成绩,可以得到学生所学课程的平均成绩,可以给学生增加一门课(同时在该课程中增加一个学生)。
根据题目要求可以创建一个Student 类
内有数据成员:
char NAME[12];//姓名
int COURSE_Num;//实际课程数
char COURSE_Name[5][12];//最多5个课程名
float SCORE[5];
和成员函数:
Student(;
void SetName(char na[12];
char* GetName(;
~Student(;
void ADDCourse(char CourseName[12],float score;
//增加某课及其成绩
float GetScore(char* CourseName;//得到某课程的成绩
float GetEverageScore(;//得到所学课程的平均成绩
void Display(;
2. 课程最多有30个学生,课程有实际学生数,课程有实际学生名单,课程有学分数,课程有每个学生成绩,课程可以得到学分数,课程可以设置学分数,课程可以得到班平均成绩,课程可以得到某个学生成绩。
根据题目要求需要创建一个 Course类
内有数据成员:
char COURSE_Name[12];
int MARK;//学分数
int TIMES;//学时数
int STUDENT_Num;//实际学生数
char NAME[30][12];//最多30个学生名
float SCORE[30];//成绩
和成员函数:
Course(;
void SetName(char na[12];
~Course(;
int GetMark(;//得到某课程的学分
void SetMark(int mark;//设置某课程的学分
int GetTime(;//得到某课程的学时
char* GetName(;
void SetTime(int time;//设置某课程的学时
void ADDStudent(char* StudentName,float score;//该课程中增加一个学生
float GetEverageScore(;//得到该课程的平均成绩
float GetScore(char* StudentName;//得到该课程中某学生的成绩
void Display(;
(二)建立好类后,在类外逐一定义好函数
例如:
1 增加学生
void StudentDB::ADDStudent(
{
char name[12];
cout<<"请输入学生姓名 :";cin>>name;cout<
if(top>=maxstudent
{
cout<<"学生数已达到"< 人了! "<
return;
};
for(int i=0;i<=top;i++
if(strcmp(student[i].GetName(,name==0
{cout<<"此学生已存在!"<
top++;
student[top].SetName(name;
return;
}
2 增加课程
void CourseDB::ADDCourse(
{
char name[12];int mark;
cout<<"请输入课程名 :";cin>>name;cout<
cout<<"请输入课程学分 :";cin>>mark;cout< if(top>=maxcourse
{
cout<<"课程数已达到"< 门了! "<
return;
};
for(int i=0;i<=top;i++
if(strcmp(course[i].GetName(,name==0
{cout<<"此门课已存在!"<
top++;
course[top].SetName(name;
course[top].SetMark(mark;
return; }。