完整版华北电力大学VC++实验报告1.docx
- 文档编号:7900569
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:16
- 大小:158.44KB
完整版华北电力大学VC++实验报告1.docx
《完整版华北电力大学VC++实验报告1.docx》由会员分享,可在线阅读,更多相关《完整版华北电力大学VC++实验报告1.docx(16页珍藏版)》请在冰豆网上搜索。
完整版华北电力大学VC++实验报告1
华北电力大学实验报告
院/系:
电子与通信工程系课程名称:
vc++程序设计日期:
专业
通信工程
学号
201403010308
班级
通信1403
姓名
李泰锐
实验名称
VC++编程环境的使用、C++语言
成绩
评定
教师
签名
实验
环境
Windows2000,VisualC++6.0
实验目的
及实验要求
目的:
1、了解和使用VisualC++6.0的集成开发环境。
2、学会完整的C++程序开发过程(编辑、编译、链接、调试、运行)。
3、使用VC编辑课本中C++程序,运行程序理解C++中的概念。
要求:
1、报告中写出用VC++开发程序的基本过程。
2、编辑调试并运行2~4个难理解的例程,报告中写出主要程序,结果分析、心得体会。
实
验
过
程
或
实
验
主
要
程
序
实验一:
一、熟悉VisualC++6.0开发环境
1、按照讲义1.1.3例1建立单文档Windows应用程序Mysdi。
2、按照讲义1.3.2例2修改应用程序Mysdi使用资源编辑器编辑图标、工具栏、快捷键、串表和版本信息。
实验步骤:
按照讲义1.1.3例1和1.3.2例2操作
2、C++简单程序设计
1、华氏温度转换为摄氏温度的公式是:
C=(F-32)*5/9。
编写一个程序,输入一个华氏温度,程序输出相应的摄氏温度。
实验源程序:
#include
usingnamespacestd:
voidmain()
{cout<<“请输入华氏温度”< floatF,C; Cin>>F; C=(F-32)*5/9; cout<<“摄氏温度为”< } 2、编制如下函数原型的函数: intindex(constchar*str,charc); 这个函数返回字符串str中第一次出现字符c的位置。 实 验 过 程 或 实 验 主 要 程 序 实验源程序: #include intindex(constchar*str,charc) {constchar*temp=str; intn=0; while(*temp! ='\0') { if(*temp=='c') { returnn; } n++; temp++; } return-1; } voidmain() { intx; charstr[]="jfiwofjoewwdwdc"; x=index(str,'c'); cout< } 3、编写一个程序,用new运算为一个整型数组动态分配内存空间,对其进行赋值,并在屏幕上输出。 实验源程序: #include voidmain() { int*p; inti; p=newint[5]; inta[5]={1,6,8,9,0}; for(i=0;i<5;i++) { p[i]=a[i]; cout< } delete[]p; } 实 验 过 程 或 实 验 主 要 程 序 实验二: 1、建立一个名为Student的类,该类有以下几个私有成员变量: 学生姓名、学号、性别、年龄。 还有以下两个成员函数: 一个用于初始化学生姓名、学号、性别、年龄的构造函数,一个用于输出学生信息的函数。 编写一个主函数,声明一个学生对象,然后调用成员函数在屏幕输出学生信息。 实验源程序: #include #include classstudent{ private: charname[20]; charsID[18]; charsex[10]; intage; public: student(char*m,char*n,char*a,intb) { strcpy(name,m); strcpy(sID,n); strcpy(sex,a); age=b; }; voiddisplay() { cout<<"学生姓名: "< cout<<"学号: "< cout<<"性别: "< cout<<"年龄: "< }; }; intmain() { studentstudent1("李泰锐","201403010308","男",21); student1.display(); return0; } 实 验 过 程 或 实 验 主 要 程 序 2.建立一个名为CPerson的类,该类有以下属性: 姓名、学号、性别和年龄。 该类包含一个初始化姓名、学号、性别和年龄等数据成员的构造函数。 利用类CPerson派生出类CEmployee(雇员),派生类增加两个新的数据成员,分别表示部门和薪水。 要求派生类的构造函数显式调用基类的构造函数。 根据需要为派生类添加新的成员函数。 实验源程序: #include #include classCPerson{ public: charname[20]; charID[18]; charsex[10]; intage; public: CPerson(char*m,char*n,char*a,intb) { strcpy(name,m); strcpy(ID,n); strcpy(sex,a); age=b; }; }; classCEmployee: publicCPerson { private: chardepartment[12]; doublewage; public: CEmployee(char*m,char*n,char*a,intb,char*d,doublew): CPerson(m,n,a,b) { strcpy(department,d); wage=w; }; voiddisplay() { cout<<"姓名: "< cout<<"学号: "< cout<<"性别: "< cout<<"年龄: "< cout<<"部门: "< cout<<"薪水: "< }; }; 实 验 过 程 或 实 验 主 要 程 序 voidmain() { CEmployeecemployee("李泰锐","201403010308","男",21,"技术部",10000); cemployee.display(); } 3.定义矢量类型,给出平面上两个矢量的加法和减法运算。 要求利用非成员函数重载运算符“+”,利用成员函数重载运算符“-”。 实验源程序: #include classShiliang { public: floatx_zb,y_zb; public: Shiliang(){x_zb=0.0;y_zb=0.0;}//避免给成员变量赋不安全的值 Shiliang(floatx,floaty)//重载构造函数 {x_zb=x;y_zb=y;} Shiliangoperator-(Shiliang); }; Shiliangoperator+(Shiliangc1,Shiliangc2) { Shiliangtemp; temp.x_zb=c1.x_zb+c2.x_zb; temp.y_zb=c1.y_zb+c2.y_zb; returntemp; } ShiliangShiliang: : operator-(Shiliangother) { Shiliangtemp; temp.x_zb=this->x_zb-other.x_zb; temp.y_zb=this->y_zb-other.y_zb;//可以省略this指针 returntemp; } voidmain() { ShiliangSL1(3.34f,4.8f),SL2(12.8f,5.2f); ShiliangSLz,SLf; SLz=SL1+SL2; SLf=SL1-SL2; cout<<"("< <<"="<<"("< 实 验 过 程 或 实 验 主 要 程 序 cout<<"("< <<"="<<"("< } 4.定义一个抽象类CShape,再利用CShape类分别定于两个派生类CRectangle(表示矩形)和CCircle(表示圆)。 三个类都有计算面积的成员函数GetArea()和计算周长的成员函数GetPerimeter(),在主函数中声明基类指针和派生类对象,并通过基类指针调用不同对象的计算面积和周长的成员函数。 实验源程序: #include #definepi3.1415926 classCShape { public: doubleArea; doublePerimeter; public: virtualvoidGetArea()=0; virtualvoidGetPerimeter()=0; voiddisplay() { cout<<"Area="< cout<<"Perimeter="< } }; classCRectangle: publicCShape { public: doublea; doubleb; public: CRectangle(doublex,doubley){a=x,b=y;} voidGetArea() { Area=a*b; } voidGetPerimeter() { Perimeter=2*(a+b); } }; 实 验 过 程 或 实 验 主 要 程 序 classCCircle: publicCShape { public: doubler; public: CCircle(doublex=0){r=x;} voidGetArea() { Area=2*pi*r; } voidGetPerimeter() { Perimeter=pi*r*r; } }; voidmain() { CShape*pa; CRectanglem(1.0,2.0); CCirclen(3.0); pa=&m; pa->GetArea(); pa->GetPerimeter(); m.display(); pa=&n; pa->GetArea(); pa->GetPerimeter(); n.display(); } 5.编写一个冒泡排序的函数模板,并利用它分别对int型数和字符进行排序 #include template voidpaixu(Tp[],intn) { Ttemp; inti,j; for(i=0;i { for(j=i+1;j 实 验 过 程 或 实 验 主 要 程 序 { if(p[i]>p[j]) { temp=p[j]; p[j]=p[i]; } } } } voidmain() { charp[]="skwwqxqx"; paixu(p,8); cout<<"从小到大排序为: "< intm[]={8,2,7,5,4,1,0,6}; paixu(m,8); cout<<"从小到大排序为: "; for(inti=0;i<8;i++) { cout< } cout< } 实 验 结 果 及 分 析 实验一 1.结果: 输入华氏温度23,输出-5, 2.结果: 输入“jfiwofjoewwdwdc” 输出“15” 3..结果: 为一个整型数组动态分配内存空间,对其进行赋值,并在屏幕上输出。 实 验 结 果 及 分 析 实验二 1.结果: 关于李泰锐同学的信息 2.结果: 关于李泰锐的姓名、学号、性别和年龄、薪水与部门。 3.结果: 矢量的加法和减法运算 实 验 结 果 及 分 析 4..结果: 长: 2宽: 1 . 5.结果: 对“skwwqxqx”进行排序 对8,2,7,5,4,1,0,6排序 收 获 与 体 会 我在学习与实践的过程中,了解了VisualC++6.0的集成开发环境,同时也对VC++有了一个大概的了解,知道了完整的C++程序开发过程(编辑、编译、链接、行)。 对C++语言有了深刻的了解,由衷地感谢老师的详细讲解和细心指导。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 华北电力 大学 VC 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)