(完整版)华北电力大学-VC++实验报告1_第1页
(完整版)华北电力大学-VC++实验报告1_第2页
(完整版)华北电力大学-VC++实验报告1_第3页
(完整版)华北电力大学-VC++实验报告1_第4页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、华北电力大学实验报告华北电力大学实验报 告院 /系:电子与通信工程系课程名称: vc+ 程序设计日期 :专业通信工程学号201403010308班级通信 1403姓名李泰锐实验VC+ 编程环境的使用、C+ 语言成绩教师名称评定签名实验Windows 2000 ,Visual C+ 6.0环境目的: 1、了解和使用Visual C+6.0 的集成开发环境。实验2、学会完整的C+ 程序开发过程(编辑、编译、链接、调试、运行)。目的3、使用 VC 编辑课本中 C+ 程序,运行程序理解C+ 中的概念。及 实验 要要求: 1、报告中写出用VC+ 开发程序的基本过程。求2、编辑调试并运行24 个难理解的例

2、程,报告中写出主要程序,结果分析、心得体会。实验一:一、熟悉 Visual C+ 6.0开发环境1、按照讲义 1.1.3例 1 建立单文档 Windows 应用程序 Mysdi 。2、按照讲义 1.3.2例 2 修改应用程序 Mysdi 使用资源编辑器编辑图标、工具栏、快捷键、串表和版本信息。实验步骤:按照讲义1.1.3 例 1 和 1.3.2例 2操作实二、 C+简单程序设计1、华氏温度转换为摄氏温度的公式是:C=(F-32)*5/9 。编写一个程序,输入验一个华氏温度,程序输出相应的摄氏温度。过实验源程序:程#include<iostream>或using namespace

3、std:实void main()验cout<< “请输入华氏温度”<<endl;主float F,C;要Cin>>F;程C=(F-32)*5/9;序cout<< “摄氏温度为”<<endl<<C;2、编制如下函数原型的函数:int index(const char *str,char c);这个函数返回字符串str中第一次出现字符c 的位置。第 1 页华北电力大学实验报告实验源程序:#include<iostream.h>int index(const char *str,char c)const char *

4、temp=str;int n=0;while(*temp!='0')if(*temp='c')return n;n+;temp+;return -1;void main()int x;char str="jfiwofjoewwdwdc"x=index(str,'c');实cout<<x<<endl;验过程3、编写一个程序,用new 运算为一个整型数组动态分配内存空间,对其进行赋或值,并在屏幕上输出。实实验源程序:验#include<iostream.h>主void main()要程int*

5、p;序int i;p=new int5;int a5=1,6,8,9,0;for(i=0;i<5;i+)pi=ai;cout<<pi<<" "delete p;第 2 页华北电力大学实验报告实验二 :1、建立一个名为 Student 的类, 该类有以下几个私有成员变量: 学生姓名、 学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别、年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数,声明一个学生对象,然后调用成员函数在屏幕输出学生信息。实验源程序:#include<iostream.h>#inclu

6、de<string.h>class studentprivate:char name20;char sID18;char sex10;int age;public:student(char *m,char *n,char *a,int b)strcpy(name,m);strcpy(sID,n);实strcpy(sex,a);验age=b;过;程void display()或实cout<<" 学生姓名: "<<name<<endl;验cout<<" 学号: "<<sID<<

7、;endl;主cout<<" 性别: "<<sex<<endl;要cout<<" 年龄: "<<age<<endl;程序;int main()student student1(" 李泰锐 ","201403010308"," 男 ",21);student1.display();return 0;第 3 页华北电力大学实验报告2.建立一个名为 CPerson 的类,该类有以下属性:姓名、学号、性别和年龄。该类包含一个初始化姓

8、名、学号、性别和年龄等数据成员的构造函数。利用类 CPerson 派生出类 CEmployee(雇员),派生类增加两个新的数据成员,分别表示部门和薪水。要求派生类的构造函数显式调用基类的构造函数。根据需要为派生类添加新的成员函数。实验源程序:#include<iostream.h>#include<string.h>class CPersonpublic:char name20;char ID18;char sex10;int age;public:CPerson(char *m,char *n,char *a,int b)strcpy(name,m);strcpy(I

9、D,n);strcpy(sex,a);age=b;实class CEmployee:public CPerson验过private:程char department12;或double wage;实public:验主CEmployee(char *m,char *n,char *a,int b,char *d,double w):CPerson( m, n, a, b)要程strcpy(department,d);序wage=w;void display()cout<<" 姓名: "<<name<<endl;cout<<&qu

10、ot; 学号: "<<ID<<endl;cout<<" 性别: "<<sex<<endl;cout<<" 年龄: "<<age<<endl;cout<<" 部门: "<<department<<endl;cout<<" 薪水: "<<wage<<endl;第 4 页华北电力大学实验报告void main()CEmployee cemploy

11、ee(" 李泰锐 ","201403010308"," 男 ",21," 技术部 ",10000); cemployee.display();3.定义矢量类型,给出平面上两个矢量的加法和减法运算。要求利用非成员函数重载运算符“ +”,利用成员函数重载运算符“ -”。实验源程序:#include<iostream.h>class Shiliangpublic:float x_zb,y_zb;public:Shiliang()x_zb=0.0;y_zb=0.0;/避免给成员变量赋不安全的值Shiliang(

12、float x,float y)/ 重载构造函数x_zb=x;y_zb=y;Shiliang operator-(Shiliang);实Shiliang operator+(Shiliang c1,Shiliang c2)验Shiliang temp;过temp.x_zb=c1.x_zb+c2.x_zb;程temp.y_zb=c1.y_zb+c2.y_zb;或returntemp;实验Shiliang Shiliang:operator-(Shiliang other)主要Shiliangtemp;程temp.x_zb=this->x_zb-other.x_zb;序temp.y_zb=t

13、his->y_zb-other.y_zb;/ 可以省略 this 指针returntemp;void main()ShiliangSL1(3.34f, 4.8f), SL2(12.8f, 5.2f);ShiliangSLz,SLf;SLz=SL1+SL2;SLf=SL1-SL2;cout<<"("<<SL1.x_zb<<","<<SL1.y_zb<<")"<<"+"<<"("<<SL2.x_zb

14、<<","<<S L2.y_zb<<")"<<"="<<"("<<SLz.x_zb<<","<<SLz.y_zb<<")"<<endl;第 5 页华北电力大学实验报告cout<<"("<<SL1.x_zb<<","<<SL1.y_zb<<")&quo

15、t;<<"-"<<"("<<SL2.x_zb<<","<<SL2.y_zb<<")"<<"="<<"("<<SLf.x_zb<<","<<SLf.y_zb<<")"<<endl;4.定义一个抽象类CShape,再利用 CShape 类分别定于两个派生类CRectangle(表示矩形)

16、和CCircle (表示圆)。三个类都有计算面积的成员函数GetArea() 和计算周长的成员函数GetPerimeter(),在主函数中声明基类指针和派生类对象,并通过基类指针调用不同对象的计算面积和周长的成员函数。实验源程序:#include<iostream.h>#define pi 3.1415926class CShapepublic:double Area;double Perimeter;public:实验virtual void GetArea()=0;过virtual void GetPerimeter()=0;程void display()或实cout<&

17、lt;"Area="<<Area<<endl;验cout<<"Perimeter="<<Perimeter<<endl;主要;程序class CRectangle:public CShapepublic: double a; double b;public:CRectangle (double x,double y) a=x,b=y;void GetArea()Area=a*b;void GetPerimeter()Perimeter=2*(a+b);第 6 页华北电力大学实验报告class C

18、Circle:public CShapepublic:double r;public:CCircle(double x=0) r=x;void GetArea()Area=2*pi*r;void GetPerimeter()Perimeter=pi*r*r;void main()实CShape *pa;验CRectangle m(1.0,2.0);过CCircle n(3.0);程pa=&m;或pa->GetArea();实pa->GetPerimeter();验m.display();主pa=&n;要pa->GetArea();程pa->GetPerimeter();序n.display();5.编写一个冒泡排序的函数模板,并利用它分别对int 型数和字符进行排序#include<iostream.h>template <class T>void paixu(T p,int n)T temp; int i,j; for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)第 7 页华北电力大学实验报告if(pi>pj)temp=pj;pj=pi;void main()char p="skwwqxqx"paixu(p,8);cout<<&

温馨提示

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

评论

0/150

提交评论