C++实验指导书专.doc_第1页
C++实验指导书专.doc_第2页
C++实验指导书专.doc_第3页
C++实验指导书专.doc_第4页
C++实验指导书专.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+程序设计实验指导书周次日期课 程 教 学 进 度 安 排学时课时累计备注4实验一 Visual C+6.0开发环境应用(1)225实验二 Visual C+6.0开发环境应用(2)246实验三 C+程序设计(1)267实验四 C+程序设计(2)288实验五 类与对象(1)2109实验六 类与对象(2)21210实验七 类与对象(3)21411实验八 继承与多态(1)21612实验九 继承与多态(2)21813实验十 继承与多态(3)220实验一 Visual C+6.0开发环境应用一、实验目的1、 了解和使用VC集成开发环境;2、 熟悉VC环境的基本命令和功能键;3、 熟悉常用的功能菜单命令 ;4、 学习使用VC+环境的帮助 ;5、 学习完整的C+程序开发过程 ;6、 理解简单的C+程序结构 二、实验内容 使用Visual C+ 6.0集成环境来编辑、编译并运行下面简单C+程序:1#include void main()coutThis is a C+ program.n;2#include int max(int,int); /声明自定义函数 void main() /主函数 int a,b,c;coutab;c=max(a,b); /调用max函数,将得到的值赋给C coutmax=cy) z=x;else z=y;return(z); /将z的值返回,通过max带回调用处 三、实验步骤Visual C+ 6.0启动后的用户界面 选择菜单“开始/程序/Microsoft Visual Studio 6.0/Microsoft Visual C+ 6.0”,得到Visual C+ 6.0启动后的用户界面,如图1-1所示。图1-1 Visual C+ 6.0用户界面 1、创建新工程(1)单击菜单“文件/新建”,显示“新建:对话框,如图1-2所示。(2)在此对话框的列表栏中,选择“Win32 Console Application”(Win32控制台应用程序”)。在 “工程”栏中输入一个工程名,如实验一。在位置文本框中选择工程所在的路径,如图中所示H:C+实验实验一。单击“确定”按钮。图1-2 “新建”对话框(3)在强击的“Win32 Consol Application-Step 1 of 1” 对话框中选择An empty project单选项。然后单击“Finish”按钮,如图1-3所示。图1-3 “Win32 Consol Application-Step 1 of 1” 对话框(4)在“新建工程信息”对话框中单击“确认”按钮,完成工程创建过程。2、创建C+源程序文件(1)编辑C+源程序 编辑C+源程序时,选择“文件”菜单项,出现一个下拉式菜单,如图1-4所示,再选择该菜单中的“新建”选项(热键为Ctrl+N)。打开“新建”窗口,在“新建”窗口。 图1-4 “新建”窗口(2) 选择“文件”,在它的下拉列表框中选择“C+ Source File”,如图1-4所示,再按击“确定”,出现编辑屏幕,如图1-5所示。图1-5 “C+”源程序编辑(3)在“C+源程序编辑”窗口下编辑C+源程序。在编辑窗口键入C+源程序。如图1-6所示,键入如下源程序:图1-6 编辑C+源程序3编译连接和运行源程序(1)选择菜单项“编译”,出现“编译”的下拉菜单,在该下拉式菜单中选择“编译 eg1-1.cpp”菜单项,这时系统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在屏幕下方的“编译”窗口中。所显示的错误信息中指出该错误所在行号和该错误的性质。用户可根据这些错误信息进行修改。上述程序的“编译”窗口,如图1-7所示。图1-7 “编辑”窗口(2)编译无错误后,可进行连接生成可执行文件(.exe),这时选择“编译”下拉菜单中的“构件 eg1-1.exe”选项。“编译”窗口出现如图1-8所示的信息说明编译连接成功,并生成以源文件名为名字的可执行文件(eg1-1.exe)。图1-8 编译连接信息(3)执行可执行文件的方法是选择“编译”菜单项中“执行 eg1-1.exe”选项。这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如图1-9所示。图1-9 运行C+程序结果4关闭打开工作区、打开工作区单击菜单“文件/关闭工作区”,关闭工作区。单击菜单“文件/打开工作区”,在强出的对话框中选定“H:C+实验实验一实验一.dsw”,单击“打开”按钮,则可打开工作区,对已建立的工程文件进行修改。5根据实验步骤14,建立、编译并运行实验程序2。6建立、编译并运行教材中的求园面积的例题程序四、实验要求1 复习教材有关内容。2 掌握C控制台程序的开发、调试步骤。3 完成实验日志。实验二 C+程序设计一、 实验目的掌握函数声明、定义和使用的方法掌握函数递归调用的方法二、 实验内容1、编写一个函数,求数列运算中从n个不同的数中取r个数的所有选择的个数,要求如下:1、 主程序中设计一个循环,不断从输入接收n和r的值,计算结果并输出,当用户输入0 0时,程序结束; 2、 能检查输入数据的合法性,要求n=1并且n=r; 3、 能得到正确结果。 输入:5 3输出:10输入:10 20;输出:Input Invalid !;输入:-1 4;输出:Input Invalid!;步骤:1. 利用一个函数fn(int n)计算n!,2. 利用另一个函数Cnr(int n, int r)计算Cnr,在该函数中调用fn(),2、内联函数的使用:拥有两个整型变量i,j,添加3个内联函数 int add()返回两数之和,int dec()返回两数之差,int GetNum()返回私有变量j的值。下面就是一个内联函数定义的例子,它返回形参值的立方。 inline int cube(int n) return n*n*n; #includeclass abprivate:int i,j;public:inline void set(int m,int n)i=m;j=n;inline int getnum();int ab:getnum()return j;void main()int t;ab a;a.set(2,3);t=a.getnum();coutt;三、 实验要求1、 写出程序,并调试程序,要给出测试数据和实验结果。2、 整理上机步骤,总结经验和体会。3、 完成实验日志和上交程序。实验三 类与对象一、实验目的 1、 掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2、 掌握类对象的定义;3、 理解类的成员的访问控制的含义,公有、私有和保护成员的区别;4、 掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数;5、 掌握友元函数的含义,友元函数和成员函数的区别。 二、实验内容1、定义一个圆类,计算圆的面积和周长。要求:分别用成员函数和友元函数来求圆的面积和周长。2、定义一个学生类,其中有3个数据成员有学号、姓名、年龄,以及若干成员函数。同时编写主函数使用这个类,实现对学生数据的赋值和输出。要求:1、使用成员函数实现对输出的输入、输出;2、使用构造函数和析构函数实现对数据的输入、输出。3、定义日期类型Date。要求有以下面成员:1、 可以设置日期;2、 日期加一天操作;3、 输入函数,输入格式为“XXXX年XX月XX日”。4、一个时钟类的完整应用#includeclass Clock /类的声明 public: void SetTime(int newh=0,int newm=0,int news=0); void ShowTime(); private: int hour,minute,second; ; /类的实现 void Clock:SetTime(int newh,int newm,int news) hour=newh;minute=newm;second=news; void Clock:ShowTime() couthour“:”minute“:”secondendl;/主函数main()Clock Myclock;/定义对象Cout“first time set and output:”endl;Myclock.SetTime();/设置时间为默认值Myclock.ShowTime();coutSecond timeset and output:endl;Myclock.settime(8,30,30); /设置时间为8:30:30Myclock.showtime();#includeclass circleprivate:int r;float x,y;public:void setvalue(float a,float b,int rr);void area(); void circle:setvalue(float a,float b,int rr) x=a; y=b; r=rr; void circle:area()coutarea=3.1415*r*rendl;void main()circle c1;c1.setvalue(3,2,5);c1.area();三、实验要求1、 写出程序,并调试程序,要给出测试数据和实验结果。2、 整理上机步骤,总结经验和体会。3、 完成实验日志和上交程序。实验四 继承与多态一、实验目的1、 理解继承的含义,掌握派生类的定义方法和实现;2、 理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;3、 理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员;4、 理解虚函数在类的继承层次中的作用,虚函数的引入对程序运行时的影响,能够对使用虚函数的简单程序写出程序结果。 二、实验内容1、 编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师类数据操作类teacher的基类。2、 编写一个程序计算出球、圆柱和圆锥的表面积和体积。a) 要求:i. 定义一个基类圆,至少含有一个数据成员半径;ii. 定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数。iii. 定义主函数,求球、圆柱、圆锥的和体积。3、派生类构造函数的执行顺序class base int x,y; public: base(int a=0,int b=0) x=a;y=b; /. ; class derive:base int x2,y2; public: derive(int a,int b,int c,int d);/ . ; derive:derive(int a,int b,int c,int d) x2=a;y2=b; void main()derive a(1,2,3,4);#includeclass base1 int x1,y1; public: base1(int a,int b) x1=a;y1=b;coutbase1 constructendl; ; class base2 int x2,y2; public: base2(int a,int b) x2=a;y2=b;coutbase2 constructendl; ; class base3 int x3,y3; public: base3(int a,int b) x3=a;y3=b;coutbase3 constructendl; ; class derive:public base1,base3,base2 int xd,yd;base1 b1;base3 b3;base2 b2;public: derive(int a,int b,int c,int d, int e,int f , int g,int h, int i,int j , int k,int l, int m,int n); derive:derive(int a,int b,int c,int d , int e,int f , int g,int h, int i,int j , int k,int l, int m,int n):base1(a,b),base3(c,d),base2(e,f),b1(g,h),b2(i,j),b3(k,l) xd=m;yd=n; void main()derive a(1,2,3,4,5,6,7,8,9,10,11,12,13,14);派生类的析构函数的构造规则三、实验要求1、 写出程序,并调试程序,要给出测试数据和实验结果。2、 整理上机步骤,总结经验和体会。3、 完成实验日志和上交程序。实验五 虚函数的使用和运算符重载(选)一实验目的 1、 掌握运算符重载的概念;2、 掌握使用friend重载运算符的方法;3、 掌握虚函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论