ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:249.10KB ,
资源ID:7300712      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7300712.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《面向对象程序设计》实验册.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《面向对象程序设计》实验册.docx

1、面向对象程序设计实验册学 生 实 验 报 告 册(理工类)课程名称:面向对象程序设计 专业班级: _13计统2班_ 学生学号:_1305103038 学生姓名: 曹亚孟 _ _ 所属院部: 计算机工程学院 指导教师: 吴刚 20 15 20 16 学年 第 一 学期 金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。填写注意

2、事项(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。实验项目名称: C+基础程序设计 实验学时: 3 同组学生姓名: 无 实验地点: A107 实验

3、日期: 9.18 实验成绩: 批改教师: 吴刚 批改时间: 一、实验目的和要求1.了解Visual C+6.0或者Visual C+2005以上版本的特点。2.学会Visual C+6.0或者Visual C+2005以上版本的开发环境,来创建和调试标准的C+控制后台应用程序。3.学会使用Visual C+6.0或者Visual C+2005以上版本的开发环境中的程序调试功能,例如单步执行、设置断点、观察变量值等。4.掌握string类型的用法。5.掌握C+语言编程时输入和输出格式控制。6.掌握多文件结构的使用。7.掌握重载函数的使用。二、实验设备和环境1.计算机每人一台。2.安装Window

4、sXP或者以上版本操作系统。3.安装Visual C+6.0或者Visual C+2005以上版本。三、实验内容及步骤1.给出Visual C+调试一个简单应用程序的步骤,要求程序输出字符串“Hello!Welcome to C+!”。程序:#includeusing namespace std;int main() coutHello!endl; coutWelcome to C+!endl; return 0;运行结果:2.调试以下程序,观察运行结果。#includeusing namespace std;void main() int a,b=10; int&ra=a; a=20; co

5、utaendl; coutraendl; cout&aendl; cout&raendl; ra=b; coutaendl; coutraendl; coutbendl; cout&aendl; cout&raendl; cout&bendl;运行结果及结果分析:3.编写一程序,实现九九乘法表的2中格式输出,格式如下:(1) 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 2 2 4 6 8 10 12 14 16 18 3 3 6 4 4 8 5 5 10 6 6 12 7 7 14 8 8 16 9 9 18 (2) 1 2 3 4 5 6 7 8 9 1 1

6、2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81注:要求每种输出格式均写成函数形式程序:#include using namespace std;int main() int i,j; cout显示1:endl; for(i=1;i10;i+) for(j=1;j10;j+) couti*jt; coutendl; coutendl显示2:endl; for(i=1;i10;

7、i+) for(j=1;j=i;j+) coutj*it; coutendl; return 0;运行结果:4将第3题改成多文件结构实现。要求该工程中有3个.cpp文件和1个.h文件。程序:.h:#include using namespace std;int cfb1(int x,int y);int cfb2(int x,int y);.cpp:(1)#include 3head.hvoid main() int i,j; coutcfb1(i,j)endl; coutcfb2(i,j)endl;(2)#include 3head.hint cfb1(int i,int j) cout显示

8、1:endl; for(i=1;i10;i+) for(j=1;j10;j+) couti*jt; coutendl; return 0;(3)#include 3head.hint cfb2(int i,int j) cout显示2:endl; for(i=1;i10;i+) for(j=1;j=i;j+) coutj*it; coutendl; return 0;5.编程实现比较两个数的大小,求较大值(要求使用重载函数实现)。程序:#includeusing namespace std;int max(int a,int b) return ab?a:b;int main() int m,

9、n; coutmn; coutThe bigger is:max(m,n)endl; return 0;运行结果:6.编写一个程序,判断一个字符串是否为另一个字符串的子串,若是,返回字串在主串中的位置。要求不适用strstr函数,自己编写一个子函数实现。(建议使用string类型,而非字符数组。)程序:#include #include string.husing namespace std;void main() char a=how are you?; char b=are; int i=0,j,na,nb,flag; na=strlen(a); nb=strlen(b); flag=1;

10、 for(i=0;i!=0;i+) if(ai=bj) j+; 运行结果:四、实验体会熟悉了C+开发环境的使用,对C+编程有了初步的了解,能够编写一些简单的和C类似的程序。实验项目名称: 类与对象 实验学时: 3 同组学生姓名: 无 实验地点: A107 实验日期: 9.25 实验成绩: 批改教师: 吴刚 批改时间: 一、实验目的和要求1.掌握类和对象的概念、定义方法以及类与对象的简单用法。2.掌握成员函数的实现与调用方法。3.深刻领会类与对象的区别。4.理解类实现数据隐藏和封装的原理。5.掌握构造函数、拷贝构造函数、分析构造函数的定义和使用,尤其注意组合类中它们的调用顺序。二、实验设备和环境

11、1.计算机每人一台。2.安装WindowsXP或者以上版本操作系统。3.安装Visual C+6.0或者Visual C+2005以上版本。三、实验内容及步骤1.用面向对象的程序设计方法实现栈的操作。栈又叫堆栈,是一个常用的数据结构,它是一种运算受限的线性表,仅允许在表的一端进行插入和删除运算,是一种后进先出表。提示:栈用一维整型数组来表示,栈的大小定义为10;栈定义为一个类stack;实现栈的创建、进栈和出栈、栈的消亡。进栈函数:void push(int n);出栈函数:int pop(void);程序:#includeusing namespace std;const int maxsi

12、ze=10;class stackpublic: void init() top=-1; void push(int n); int pop(); void dead();private: int top; int datamaxsize;void stack:push(int n) if(top=maxsize) cout栈已满!endl; else top+; datatop=n; int stack:pop() if(top0) cout栈下溢!endl; return 0; else top-; return datatop+1; void stack:dead() if(top0)

13、cout栈下溢!endl; else top-; cout栈中还剩(top+1)个元素endl; int main() stack seqstack; int i,x,m; seqstack.init(); cout请输入10个数字:; for(i=0;ix; seqstack.push(x); cout请输入你所需要的操作:endl; cout1元素出栈!endl; cout2栈的消亡!m; switch(m) case 1: for(i=0;imaxsize;i+) coutseqstack.pop(); break; case 2: for(i=0;imaxsize;i+) seqsta

14、ck.dead(); break; return 0; 运行结果:2.将第1题中的实验内容改为多文件结构实现。程序:#include using namespace std;#define N 10class stackstatic int top;int aN;public:void push(int n);void pop();void die();#include int stack:top=0;void stack:push(int n)if(topN)atop+=n;cout进栈数据:nendl;elsecout堆栈已经满了,不能再加数进去了!endl;void stack:pop(

15、)if(top=0)cout堆栈已经空了,没有数据了!endl;elsecout出栈数据:;couta-topendl;void stack:die()int i;for(i=0;iN;i+)ai=0;cout消亡堆栈!endl;#include head.hvoid main()int n,m;coutnm;stack s;s.push(n);s.push(m);s.pop();s.pop();s.pop();s.die();3.设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)

16、、id(身份证号)等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和折构函数、拷贝构造函数、内联成员函数、组合类等。程序:#include #include using namespace std;class Dateprivate: int year; int month; int day; public: Date() Date(int y,int m,int d) year=y; month=m; day=d; void set() cinyearmonthday; void display() coutyear年month月d

17、ay日; ; class Personprivate: int num; char sex; Date birthday; char ID18;public: Person() Person(int n,int y,int m,int d,char id18,char s=m):birthday(y,m,d) num=n; sex=s; strcpy(ID,id); Person(Person& p) num=p.num; sex=p.sex; birthday=p.birthday; strcpy(ID,p.ID); void input() cout录入数据:endl; coutnum;

18、coutsex; cout生日:; birthday.set(); coutID; ID18=0; coutendl; void output() cout编号:numendl; cout性别:sexendl; cout生日:; birthday.display(); coutendl; cout身份证号:IDendl; Person() cout num号人员已经录入endl; ;int main() Person p1; p1.input(); p1.output(); return 0;运行结果:4.设计一个计算薪水的类Payroll,它的数据成员包括:单位小时的工资、已经工作的小时数、

19、本周应付工资数。在主函数定义一个具有10个元素的对象数组(代表10个雇员)(可以定义普通对象数组,也可以定义堆对象数组)。程序询问每个雇员本周已经工作的小时数,然后显示应得的工资。要求:输入有效性检验:每个雇员每周工作的小时数不能大于60,同时也不能为负数。程序:#include#includeclass Payrollprivate: double money; double total;public: int time; int GetTime() do printf(input time:); scanf(%d,&time); while(time60 ); money = 100; r

20、eturn 0; int GetTotalMoney() return (total =time * money); void Print() printf(total:%lfn,total); ;main() Payroll p10; p0.GetTime(); p0.GetTotalMoney(); p0.Print();运行结果:四、实验体会对多文件有了更深了解,能够熟练的掌握多文件的使用方法。学习了C+的构造函数,以及拷贝构造函数,接触友元组合类等新知识,需要课后多加练习。实验项目名称: 静态成员与友元 实验学时: 3 同组学生姓名: 无 实验地点: A107 实验日期: 10.09

21、实验成绩: 批改教师: 吴刚 批改时间: 一、实验目的和要求1.掌握类中静态成员的定义的方法。2.掌握静态数据成员初始化的方法。3.掌握静态数据成员和数据函数成员的访问和使用方法。4.掌握友元函数的定义和使用方法。5.了解友元类的使用方法。二、实验设备和环境1.计算机每人一台。2.安装WindowsXP或者以上版本操作系统。3.安装Visual C+6.0或者Visual C+2005以上版本。三、实验内容及步骤1.任意输入10个数,计算器总和及平均值。设计程序测试该功能(要求用类、静态友员实现)。程序:#include#includeusing namespace std;class num

22、ber int No; int figure; static double sum; static int sumpeople;public: number(int n,int ifigure) No=n; figure=ifigure; sum+=figure; sumpeople+; static int Sum() return sum; static double Average() return sum/sumpeople; ;int number:sumpeople=0;double number:sum=0;void main() int i,j; coutThe ten num

23、ber is:endl; for(i=1;ij; number(i,j); coutThe sum is:number:Sum()endl; coutThe average is:number:Average()endl;运行结果: 2.求两点之间的距离(要求定义点Point类,并用友员函数实现)。程序:#include #include using namespace std;class Point double x,y;public: Point(double m,double n):x(m),y(n) friend double Distance(Point& px,Point& py)

24、;double Distance(Point& px,Point& py) double d; d=sqrt(px.x-py.x)*(px.x-py.x)+(px.y-py.y)*(px.y-py.y); return d;void main() Point p1,p2; int a1,b1,a2,b2; cina1b1a2b2; p1=Point(a1,b1); p2=Point(a2,b2); coutthe distance isDistance(p1,p2)endl;运行结果:3.定义一个经理类Manager,其成员数据包括编号id,姓名name和年龄age,均声明为private访问属性。再定义一个员工类Employee,其成员数据及访问属性与经理类相同。将Manager类声明为Employee类的友员函数,并在Manager类中定义一个函数访问Employee类的私有数据成员并进行输出。程序:#include#includeusing namespace std;class Employee friend class Manager; private: int id; char *n; int age;public: Employee() id =

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1