欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C++实验报告_太原理工大学.doc

    • 资源ID:61114262       资源大小:395KB        全文页数:18页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++实验报告_太原理工大学.doc

    优质文本本科实验报告 课程名称: C+面向对象程序设计 实验工程: 实验地点: 明向校区行知楼B118 专业班级: 软件130x 学号: 201300xxxx 学生姓名: XXX 指导教师: 宋春花 2014年 4月 20日实验名称 实验一 C+根底实验目的和要求1. 熟悉根本的输入输出方法;2. 掌握函数的定义、调用和声明方法,函数的参数传递机制,函数嵌套调用和递归调用,内联函数,带默认形参的函数,重载函数;3. 理解名称空间的概念,掌握名称空间的使用;4. 熟悉const关键字的使用;5. 掌握内存的动态分配的概念和使用方法;6. 熟悉编译预处理命令;7. 掌握常用算法的实现如穷举、迭代、递推等。实验内容1. 编写重载函数max1可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值。2. 编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提求用户选择图形的类型,然后再要求用户对圆形输入半径值,对长方形输入长与宽,对正方形输入边长,计算出面积的值后,在屏幕上显示出来。主要仪器设备笔记本电脑实验记录(写出实验内容中1,2的程序代码和运行结果)实验1程序代码:#include "stdafx.h"#include "iostream"using namespace std;int max1(int x,int y);int max1(int x,int y,int z);double max1(double x,double y);double max1(double x,double y,double z);int _tmain(int argc, _TCHAR* argv)int a=1,b=2,c=3;double d=1.1,e=2.2,f=3.3;cout<<max1(a,b)<<endl;cout<<max1(a,b,c)<<endl;cout<<max1(d,e)<<endl;cout<<max1(d,e,f)<<endl;return 0;int max1(int x,int y)return x>y?x:y;int max1(int x,int y,int z)int m;m=x>y?x:y;return m>z?m:z;double max1(double x,double y)return x>y?x:y;double max1(double x,double y,double z)double m;m=x>y?x:y;return m>z?m:z;运行结果:实验2程序代码:#include "stdafx.h"#include "iostream"using namespace std;const double PI=3.141592653;float x,y;double z;int _tmain(int argc, _TCHAR* argv)cout<<"请输入图形类型:n(1:正方形;2:长方形;3:圆)"<<endl; int m; cin>>m; switch(m) case(1): cout<<"请输入边长:" cin>>x; cout<<"正方形面积是: n"<<x*x<<endl; break; case(2): cout<<"请输入长和宽:" cin>>x>>y; cout<<"长方形的面积是:n"<<x*y<<endl; break; case(3): cout<<"请输入半径:" cin>>z; cout<<"圆面积是: n"<<PI*z*z<<endl; break; default: cout<<"输入错误!"<<endl; return 0;运行结果:实验名称 实验二 类和对象实验目的和要求一 (1)掌握类的概念;(2)理解对象与类的关系,掌握对象的创立和使用;(3)掌握构造函数、析构函数的概念机使用方法;(4)理解构造函数与析构函数的调用过程;(5)掌握对象数组和对象指针;(6)理解类的组合。二 (1)了解静态对象的定义和使用方法;(2)掌握静态数据成员和静态成员函数的定义和使用方法;(3)理解类的作用域、对象的作用域及生存周期;(4)掌握函数调用中参数的传递;(5)掌握常量类型;(6)掌握由原函数和友元类的定义及使用。实验内容1. 定义一个学生成绩Score,描述学生成绩的私有数据成员为学号(No)、姓名 Name8、数学(Math)、物理(Phi)、数据结构(Data)、平均分(Ave)。定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。在主函数中用Score类定义学生成绩对象数组s3。用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。No Name Math Phi Data Ave 1001 Zhou 80 70 60 1002 Chen 90 80 85 1003 Wang 70 75 892. 编写一个程序,设计一个类Tri,给定三角形的三条边x、y、z,包含一个友元函数计算三角形面积之和。主要仪器设备笔记本电脑实验记录(写出实验内容中1,2的程序代码和运行结果)实验1程序代码:#include "stdafx.h"#include"iostream"using namespace std;class Scoreint No,Math,Phi,Data,ave;char Name10;public:void Write(Score &b)cout<<"请输入学号:"<<endl;cin>>b.No;cout<<"请输入姓名:"<<endl;cin>>b.Name;cout<<"请输入数学成绩:"<<endl;cin>>b.Math;cout<<"请输入物理成绩:"<<endl;cin>>b.Phi;cout<<"请输入数据结构成绩:"<<endl;cin>>b.Data;int Average(Score &a)a.ave=(a.Data+a.Math+a.Phi)/3;return a.ave;void Display()cout<<No<<'t'<<Name<<'t'<<Math<<'t'<<Phi<<'t'<<Data<<'t'<<ave<<endl;int main ()Score s3;int i;for(i=0;i<3;i+)si.Write(si);si.Average(si);cout<<"学号t"<<"姓名t"<<"数学t"<<"物理t"<<"结构t"<<"平均t"<<endl;for(i=0;i<3;i+)si.Display();运行结果:实验2程序代码:#include"stdafx.h"#include"iostream"#include"math.h"using namespace std;class Trifloat x,y,z;static float sum;public:float getsum()return sum;Tri(float x1,float y1,float z1)x=x1;y=y1;z=z1;friend void sum(Tri a);float Tri:sum=0;void sum(Tri a)if(a.x+a.y<a.z&&a.x+a.z<a.y&&a.y+a.z<a.x)cout<<"不能构成三角形"<<endl;elsefloat p=(a.x+a.y+a.z)/2;float s=sqrt(p*(p-a.x)*(p-a.y)*(p-a.z);Tri:sum+=s;int _tmain(int argc, _TCHAR* argv)Tri a(3,4,5),b(7,8,9),c(11,12,13);sum(a);cout<<"一个三角形的面积为:"<<a.getsum()<<endl;sum(b);cout<<"两个三角形的面积之和为:"<<b.getsum()<<endl;sum(c);cout<<"三个三角形的面积之和为:"<<c.getsum()<<endl;运行结果实验名称 实验三 继承与派生实验目的和要求1. 理解继承与派生的概念;2. 掌握派生类定义格式与使用方法;3. 初步掌握派生类构造函数的定义与使用方法,理解构造函数的调用过程,及基类成员的初始化过程;4. 理解冲突、支配规那么与赋值兼容性原那么的概念。实验内容1. 定义描述矩形的类Rectangle,其数据成员为矩形的长(Length)与宽(Width)。成员函数为计算矩形面积的函数Area()与构造函数。再定义描述长方体高的类High,其数据成员为长方体高度H,其成员函数为构造函数。再由矩形类与高类多重派生出长方体类Cuboid,其数据成员为体积Volume。成员函数为:构造函数、计算体积的函数Vol()、显示长、宽、高与体积的函数Show()。主函数中用长方体类定义长方体对象cub,并赋初始值(10,20,30),最后显示长方体的长、宽、高与体积。2. 定义个人信息类Person,其数据成员有姓名、性别、出生年月。并以Person为基类定义一个学生的派生类Student,增加描述学生的信息:班级、学号、专业、英语成绩和数学成绩。再由基类Person定义一个职工的派生类Employee,增加描述职工的信息:部门、职务、工资。编写程序实现学生与职工信息的输入与输出。主要仪器设备笔记本电脑实验记录(写出实验内容中1,2的程序代码和运行结果)实验3程序代码:#include "stdafx.h"#include "iostream"using namespace std;const double PI=3.1415926;class Rectangle protected: float Length,Width; float Centerx,Centery; public: Rectangle(float x,float y,float l,float w) Centerx=x; Centery=y; Length=l; Width=w; float Area(void) return Length*Width; ;class Circle protected: float Radius; float Centerx,Centery; public: Circle(float x,float y,float r) Centerx=x; Centery=y; Radius=r; double Area(void) return Radius*Radius*PI; ;class Cuboid:public Rectangle,public Circle private: float High; double RVolume,CVolume; public: Cuboid(float x1,float y1,float l,float w,float x2,float y2,float r,float h):Rectangle(x1,y1,l,w),Circle(x2,y2,r) High=h; void Volume(void) CVolume=Circle:Area()*High; RVolume=Rectangle:Area()*High; void Show(void) cout<<"长方体的矩形坐标="<<Rectangle:Centerx<<","<<Rectangle:Centery<<")"<<endl; cout<<"长方体的长="<<Length<<'t'<<"宽¨ª="<<Width<<'t' <<"高?="<<High<<endl; Volume(); cout<<"长方体的体积y="<<RVolume<<endl; ;int main () Cuboid cub(10,10,10,20,30,30,10,10); cub.Show(); return 0;运行结果:实验2程序代码:#include "stdafx.h"#include <iostream>#include <string>using namespace std;class Person public:void ShowPerson(string strName,string Sex,int Year)cout << "姓名:" << strName<<'t'<< "性别:" << Sex<<'t'<<"出生年月:"<<Year<<endl;protected:string strName;string Sex;int Year;class Student : public Personpublic:void ShowMsg(string StuNum,int Grade,string Major,int math,int english)cout<<"班级:"<<Grade<<"班"<<'t'<< "学号:"<<StuNum<<'t'<<"专业:"<<Major<<'n'<<"数学成绩:"<<math<<'t'<<"英语成绩:"<<english<<endl;private:string StuNum;int Grade;string Major;int math,english;class Teacher : public Personpublic:void ShowMsg(string TeaJob,string TeaMajor,string Pay)cout<<"部门:"<<TeaJob<<'t'<< "职务:"<<TeaMajor<<'t'<<"工资:"<<Pay<<endl;private:string TeaJob;string TeaMajor;string Pay;int main()string a,b,c,d,j,k,n,o,q;int e=0,g=0,h=0,i=0,l=0;Person p;cout<<"姓名:" cin>>a;cout<<"性别:" cin>>b;cout<<"出生年月:" cin>>e;cout<<"学号:"cin>>d;cout<<"班级:"cin>>g;cout<<"专业:"cin>>c;cout<<"数学成绩:" cin>>h;cout<<"英语成绩:" cin>>i;p.ShowPerson(a,b,e);Student s;s.ShowMsg(d,g,c,h,i);cout<<"姓名:" cin>>j;cout<<"性别:" cin>>k;cout<<"出生年月:" cin>>l;cout<<"部门:"cin>>n;cout<<"职位:"cin>>o;cout<<"工资:"cin>>q;p.ShowPerson(j,k,l);Teacher t;t.ShowMsg(n,o,q);return 0;运行结果:实验名称 实验四 多态性实验目的和要求1. 掌握C+中运算符重载的机制和运算符重载的方式;2. 理解类型转换的必要性,掌握类型转换的使用方法;3. 理解多态性,掌握虚函数的设计方法;4. 学习使用Visual Studio调试虚函数。实验内容1. 定义描述字符串的类String,编写字符串运算符“+=的重载函数,使运算符“+=用于两个字符串联接操作,即用str1+=str2实现字符串函数strcat(str1,str2)的操作功能。要求分别用成员函数与友元函数编写运算符重载函数。在主函数中定义字符串对象 s1("software and ")与s2("hardware"),进行s1+=s2的字符串联接,并输出s1、s2的值。有5个学生,每个学生有3门课的成绩,从键盘输入学生数据包括学生号,姓名,三门课成绩,计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud中。2. 声明一个车(Vehicle)基类,有Run,Stop等成员函数,由此派生出自行车(Bicycle)类,汽车(Motorcar)类,从(Bicycle)和(Motorcar)派生出摩托车(Motorcycle)类,它们都有Run,Stop等成员函数。利用虚函数解决问题。主要仪器设备笔记本电脑实验记录(写出实验内容1,2的程序代码和运行结果)实验1:程序代码:#include"stdafx.h"#include<iostream>#include<string.h>using namespace std;class String protected: int Length;char *S; public: String() S=0;Length=0; String(const char *s) Length=strlen(s); S=new charLength+1; strcpy(S,s); String() if(S) delete S; void Show() cout<<S<<endl; String operator+=(String &s) String t; t.Length=Length+s.Length; t.S=new chart.Length+1; strcpy(t.S,s.S); strcat(t.S,s.S); return t; ;void main (void)String s1("software"),s2("hardware");s1.Show();s2.Show();s2+=s1;s2.Show();运行结果:实验2:#include "stdafx.h"#include<iostream>using namespace std;class vehicle public:virtual void run();virtual void stop();void vehicle:run()void vehicle:stop ()class bicycle:virtual public vehicle public:void run();void stop();void bicycle:run()cout<<"自行车在运行"<<endl;void bicycle:stop ()cout<<"自行车在停止"<<endl;class car:virtual public vehicle public:void run();void stop();void car:run()cout<<"汽车在运行"<<endl;void car:stop ()cout<<"汽车在停止"<<endl;class motorcycle:public bicycle,public car public:void run();void stop();void motorcycle:run() cout<<"摩托车在运行"<<endl;void motorcycle:stop ()cout<<"摩托车在停止"<<endl;int main()vehicle *p;bicycle a;car b; motorcycle d;p=&a; p->run(); p->stop();p=&b; p->run(); p->stop();p=&d;p->run(); p->stop();return 0;运行结果:

    注意事项

    本文(C++实验报告_太原理工大学.doc)为本站会员(z****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开