(完整版)华北电力大学-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<<"("<
<<"="<<"("<