(完整版)华北电力大学-VC++实验报告1

  • 格式:doc
  • 大小:278.55 KB
  • 文档页数:12

华 北电力大学实验报告

第 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、编辑调试并运行2~4个难理解的例程,报告中写出主要程序,结果分析、心得体会。

序 实验一:

一、熟悉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

using namespace std:

void main()

{cout<<“请输入华氏温度”<

float F,C;

Cin>>F;

C=(F-32)*5/9;

cout<<“摄氏温度为”<

}

2、编制如下函数原型的函数:

int index(const char *str,char c);

这个函数返回字符串str中第一次出现字符c的位置。

华 北电力大学实验报告

第 2 页 实

序 实验源程序:

#include

int index(const char *str,char c)

{ const char *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<

}

3、编写一个程序,用new运算为一个整型数组动态分配内存空间,对其进行赋值,并在屏幕上输出。

实验源程序:

#include

void main()

{

int* p;

int i;

p=new int[5];

int a[5]={1,6,8,9,0};

for(i=0;i<5;i++)

{

p[i]=a[i];

cout<

}

delete [] p;

}

华 北电力大学实验报告

第 3 页 实

序 实验二:

1、建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别、年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数,声明一个学生对象,然后调用成员函数在屏幕输出学生信息。

实验源程序:

#include

#include

class student{

private:

char name[20];

char sID[18];

char sex[10];

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<<"学生姓名:"<

cout<<"学号:"<

cout<<"性别:"<

cout<<"年龄:"<

};

};

int main()

{

student student1("李泰锐","201403010308","男",21);

student1.display();

return 0;

}

华 北电力大学实验报告

第 4 页 实

序 2.建立一个名为CPerson的类,该类有以下属性:姓名、学号、性别和年龄。该类包含一个初始化姓名、学号、性别和年龄等数据成员的构造函数。

利用类CPerson派生出类CEmployee(雇员),派生类增加两个新的数据成员,分别表示部门和薪水。要求派生类的构造函数显式调用基类的构造函数。根据需要为派生类添加新的成员函数。

实验源程序:

#include

#include

class CPerson{

public:

char name[20];

char ID[18];

char sex[10];

int age;

public:

CPerson(char *m,char *n,char *a,int b)

{

strcpy(name,m);

strcpy(ID,n);

strcpy(sex,a);

age=b;

};

};

class CEmployee:public CPerson

{

private:

char department[12];

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<<"姓名:"<

cout<<"学号:"<

cout<<"性别:"<

cout<<"年龄:"<

cout<<"部门:"<

cout<<"薪水:"<

};

};

华 北电力大学实验报告

第 5 页 实

序 void main()

{

CEmployee cemployee("李泰锐","201403010308","男",21,"技术部",10000);

cemployee.display();

}

3.定义矢量类型,给出平面上两个矢量的加法和减法运算。要求利用非成员函数重载运算符“+”,利用成员函数重载运算符“-”。

实验源程序:

#include

class Shiliang

{

public:

float x_zb,y_zb;

public:

Shiliang(){x_zb=0.0;y_zb=0.0;}// 避免给成员变量赋不安全的值

Shiliang(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;

return temp;

}

Shiliang Shiliang::operator-(Shiliang other)

{

Shiliang temp;

temp.x_zb=this->x_zb-other.x_zb;

temp.y_zb=this->y_zb-other.y_zb; // 可以省略this指针

return temp;

}

void main()

{

Shiliang SL1(3.34f, 4.8f), SL2(12.8f, 5.2f);

Shiliang SLz,SLf;

SLz=SL1+SL2;

SLf=SL1-SL2;

cout<<"("<

<<"="<<"("<