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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

面向程序设计实验报告.docx

1、面向程序设计实验报告实 验 报 告实验课程: 学生姓名: 学 号: 专业班级: 年 月 日一、实验一 熟悉C+开发环境及简单程序设计和应用 32、实验二 基本控制结构程序设计 83、实验三 数组和指针 124、实验四 继承和派生 21 南昌大学实验报告学生姓名: 李阳 学 号: 6100509053 专业班级: 电商091 实验类型: 验证 综合 设计 创新 实验日期: 2011.11.10 实验成绩: 一、实验项目名称 实验一 熟悉C+开发环境及简单程序设计和应用一实验目的1初步了解C+程序的编译、连接和运行的过程。2掌握和理解C+程序的结构。二实验内容1使用VC2运行一个简单的C+程序3编

2、程求出对任意输入的两个整数,求出该两个整数的最大公约数和最小公倍数三实验环境PC微机;Windows 操作系统;VC 程序集成环境。四实验步骤1启动VC如果用户计算机系统已经安装了VC编译系统,按下图所示进入VC集成环境。 在该窗口,有9个菜单条目。熟悉每个菜单的意义和操作。2输入程序 输入以下程序#includeusing namespace std;void main() int i(1), sum(0); do sum+=i; i+;while(i=10); coutsum=sum2以上表达式的值2 编程实现这样一个完整的程序,运行时向用户提问“你考试考了多少分?(0100),接受输入后

3、判断其等级并显示出来。规则如下:等级范围优90=分数=100良80=分数90中60=分数80差0=分数603用递归方法编写程序求Fibonacci级数,公式为:fib(n)=fib(n-1)+fib(n-2),n2;fib(1)=fib(2)=1;观察递归调用的过程。 六、思考讨论题或体会或对改进实验的建议 南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 一、实验项目名称 实验三 数组和指针一实验目的1掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引用数组元素的输入

4、/输出等;重点掌握对象数组的使用。2掌握指针的基本概念和基本用法。包括:变量的地址和变量的值,指针变量的说明、指针变量的初始化、指针的内容与定义格式、指针的基本运算等;重点掌握对象指针的使用。 二实验内容有关数组和指针的程序设计三实验环境PC微机DOS操作系统或 Windows 操作系统Turbo C 程序集成环境四实验步骤1编程实现:设计一个Point类,利用对象数组,进行点的线性拟合。 要求能通过键盘输入对对象数组进行赋值。 #include #include using namespace std;class Pointpublic: Point(float xx=0,float yy=

5、0) X=xx; Y=yy; float GetX() return X; float GetY() return Y; friend float linefit(Point l_point,int n_point); /友元函数private: float X,Y;float linefit(Point l_point,int n_point) /友元函数体 float av_x,av_y; float L_xx,L_yy,L_xy; av_x=0; av_y=0; L_xx=0; L_yy=0; L_xy=0; for(int i=0;in_point;i+) /计算X,Y的平均值 av_

6、x+=l_pointi.X/n_point; av_y+=l_pointi.Y/n_point; for(i=0;in_point;i+) /计算Lxx,Lyy,Lxy L_xx+=(l_pointi.X-av_x)*(l_pointi.X-av_x); L_yy+=(l_pointi.Y-av_y)*(l_pointi.Y-av_y); L_xy+=(l_pointi.X-av_x)*(l_pointi.Y-av_y); coutThis line can be fitted by y=ax+b.endl; couta=L_xy/L_xx; /输出回归系数a cout b=av_y-L_xy

7、*av_x/L_xxendl; /输出回归系数B return float(L_xy/sqrt(L_xx*L_yy); /返回相关系数rint main() int x,y; Point l_p10; /定义一个数组 cout请输入10组观测数据(Xi Yi):endl; for(int i=0;i10;i+) cout请输入第i+1xy; l_pi=Point(x,y); float r=linefit(l_p,10); /进行线性回归计算 coutLine coefficient r=rendl; return 0;2编程实现:利用指针,设计一个程序,对任意的一个浮点数,可以将其整数部分和

8、小数部分分别输出。#include using namespace std;void splitfloat(float x,int*intpart,float*fracpart) *intpart=int(x); *fracpart=x-*intpart;void main() int n; float x,f; coutenter a float point numebers:x; splitfloat(x,&n,&f); coutinteger part=n fraction part=fendl;3编程实现:设计一个Point类,编程实现通过对象指针的方法访问Point类对象的成员;通过

9、成员函数指针的方法访问成员函数;动态创建和删除对象数组程序如下:#includeusing namespace std;class pointpublic: point(); point(int xx,int yy); point(); int GetX()return X; int GetY()return Y; void Move(int x,int y);private: int X,Y;point:point() X=Y=0;coutdefault constructor called.endl;point:point(int xx,int yy) X=xx;Y=yy;coutcons

10、tructor called.endl;point:point() coutdestructor called.endl;void point:Move(int x,int y)int X=x;int Y=y;coutX Yendl;void main() point A(4,5); point *p_A=&A; int (point:*p_GeX)()=&point:GetX; point *ptr=new point3; ptr0.Move(5,10); ptr1.Move(10,20); ptr2.Move(15,25); coutdeleting.endl; delete ptr; c

11、outGetX)()endl; cout(A.*p_GeX)()endl;五思考题小结有关对象数组、数组指针、函数指针、对象指针的使用。 南昌大学实验报告学生姓名: 李阳 学 号: 6100509053 专业班级: 电商091 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: (以下主要内容由学生完成) 1、实验项目名称 实验4 继承和派生2、实验目的 1理解掌握类的继承和派生等基本概念。 2掌握不同继承方式下对基类成员的访问控制,学习利用虚基类解决二义性问题。三、实验内容1、求解矩形的面积。2、用虚基类构造一个销售经理类,使之同时具有销售人员和管理人员的特点。2、用高斯消去法解线性

12、方程组的程序设计。四、实验环境PC微机Windows 操作系统VC 程序集成环境四实验步骤1编程实现:先构造点类,再分别利用公有、私有、保护等继承方式构造一个矩形类,求出其面积。程序如下:#includeusing namespace std;class pointpublic: void initp(float xx=0,float yy=0)X=xx;Y=yy; void move(float xo,float yo)X+=xo;Y+=yo; int GetX()return X; int GetY()return Y; void Move(int x,int y)X=x;Y=y;priv

13、ate: int X,Y;class rectangle_a:public point public: int flag(float x,float y,float w,float h) initp(x,y);W=w;H=h;return W*H; float GetW()return W; float GetH()return H; private: float W,H; ;class rectangle_b:private point public: int flag(float x,float y,float w,float h) initp(x,y);W=w;H=h;return W*

14、H; float GetX()return point:GetX(); float GetY()return point:GetY(); float GetW()return W; float GetH()return H; private: float W,H; ;class rectangle_c:protected point public: int flag(float x,float y,float w,float h) initp(x,y);W=w;H=h;return W*H; float GetX()return point:GetX(); float GetY()return

15、 point:GetY(); float GetW()return W; float GetH()return H; private: float W,H; ;void main() rectangle_a a; rectangle_b b; rectangle_c c;couta.flag(2,3,10,10)endl;coutb.flag(2,3,10,10)endl;coutc.flag(2,3,10,10)endl;2编程实现:构造一个销售经理类,使之同时具有销售人员和管理人员的特点,编程演示对其的管理。程序如下:#include#includeusing namespace std;

16、class employeeprotected: char name20; /姓名 int individualEmpNo; /个人编号 int grade; /级别 float accumPay; /月薪总额 static int employeeNo; /本公司职员编号目前最大值public: employee(); /构造函数 employee(); /析构函数 void pay(); /计算月薪函数 void promote(int); /升级函数 void SetName(char *); /设置姓名函数 char * GetName(); /提取姓名函数 int Getindivi

17、dualEmpNo(); /提取编号函数 int Getgrade(); /提取级别函数 float GetaccumPay(); /提取月薪函数;class salesman:virtual public employee /兼职推销员类protected: float CommRate; /按销售额提取酬金的百分比 float sales; /当月销售额public: salesman(); /构造函数 void Setsales(float sl); /设置销售额 void pay(); /计算月薪函数;class manager:virtual public employee /经理类

18、protected: float monthlyPay; /固定月薪数public: manager(); /构造函数 void pay(); /计算月薪函数;class salesmanager:public manager,public salesman /销售经理类public: salesmanager(); /构造函数 void pay(); /计算月薪函数;int employee:employeeNo=1000; /员工编号基数为1000employee:employee() individualEmpNo=employeeNo+; /新输入的员工编号为目前最大编号加1 grad

19、e=1; /级别初值为1 accumPay=0.0; /月薪总额初值为0employee:employee()void employee:pay() /计算月薪,空函数void employee:promote(int increment) grade+=increment; /升级,提升的级数由increment指定void employee:SetName(char* names) strcpy(name,names); /设置姓名char* employee:GetName() return name; /获取姓名int employee:GetindividualEmpNo() ret

20、urn individualEmpNo; /获取成员编号int employee:Getgrade() return grade; /获取级别float employee:GetaccumPay() return accumPay; /获取月薪salesman:salesman() CommRate=0.04; /销售提成比例4%void salesman:Setsales(float sl) sales=sl; /设置销售额void salesman:pay() accumPay=sales*CommRate; /月薪=销售提成manager:manager() monthlyPay=800

21、0; /固定月薪8000元void manager:pay() accumPay=monthlyPay; /月薪总额即固定月薪数salesmanager:salesmanager() monthlyPay=5000; CommRate=0.005;void salesmanager:pay() accumPay=monthlyPay+CommRate*sales; /月薪=固定月薪+销售提成void main() manager m1; salesmanager sm1; salesman s1; char namestr20; /输入雇员姓名时首先临时存放在namestr中 coutname

22、str; m1.SetName(namestr); /设置雇员m1姓名 coutnamestr; sm1.SetName(namestr); /设置雇员sm1姓名 coutnamestr; s1.SetName(namestr); /设置雇员s1姓名 m1.promote(3); /经理m1提升3级 m1.pay(); /计算m1月薪 cout请输入销售经理sm1.GetName()sl; /输入s1所管辖部门本月的销售总额 sm1.Setsales(sl); /设置s1所管辖部门本月的销售总额 sm1.pay(); /计算s1月薪 sm1.promote(2); /s1提升2级 cout请输

23、入推销员s1.GetName()sl; /输入s1本月的销售额 s1.Setsales(sl); /设置s1本月的销售额 s1.pay(); /计算s1月薪 /显示m1信息 coutm1.GetName()编号m1.GetindividualEmpNo() 级别为m1.Getgrade()级,本月工资m1.GetaccumPay()endl; /显示sm1信息 coutsm1.GetName()编号sm1.GetindividualEmpNo() 级别为sm1.Getgrade()级,本月工资sm1.GetaccumPay()endl; /显示s1信息 couts1.GetName()编号s1

24、.GetindividualEmpNo() 级别为s1.Getgrade()级,本月工资s1.GetaccumPay()endl;2编程实现:根据以前学过的数学知识,利用类继承的方法实现用高斯消去法解线性方程组。程序代码如下:(书上都有代码)/linequ.h 文件一,类声明#ifndef LINEQU_H#define LINEQU_H#include #include using namespace std;class Matrix /基类Matrix声明public: /外部接口 Matrix(int dims=2); /构造函数 Matrix(); /析构函数 void setMatr

25、ix(double* rmatr); /矩阵赋初值 void printM(); /显示矩阵protected: /保护数据成员 int index; /矩阵的维数 double* MatrixA; /矩阵存放数组首地址;class Linequ: public Matrix /公有派生类Linequ声明public: /外部接口 Linequ(int dims=2); /构造函数 Linequ(); /析构函数 void setLinequ(double* a, double *b); /方程赋值 void printL(); /显示方程 int Solve(); /全选主元高斯消去法求解方程 void showX(); /显示方程的解private: /私有数据 double *sums; /方程右端项 double *solu; /方程的解;#endif/lineequ.cpp 文件二,类实现#ifndef LINEEQU_CP

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

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