C++实验一-类与简单对象

合集下载

面向对象程序设计(C++)实验一--类和对象

面向对象程序设计(C++)实验一--类和对象

实验一类和对象一、实验目的:掌握类的设计和对象的创建及相关知识点如对象数组、类聚合、友元函数、静态成员。

二、实验内容:1、设计圆类,求两个圆的位置关系;2、设计圆类和直线类,求直线与圆的位置关系;3、设计学生类,求某班学生成绩的最高分、最低分及平均分;4、设计部门类和教师类,其中部门类成员为教师类的子对象;5、设计家庭银行账户类,其中账户资金为静态数据成员,为家庭成员共享;6、设计复数类,友元函数实现复数的加减。

三、实验过程:1、根据实验题目确定需要设计哪些类、各类中包含哪些数据成员和函数成员,设计各成员的访问权限,设计数据成员的数据类型,设计函数成员的函数原型;2、给出类设计的程序实现,特别要注意重载构造函数的实现;3、在主函数中完成题目中的逻辑,一般情况下需要创建相关类的对象,通过对象对成员函数的调用或者通过对象指针对成员函数的调用完成相应的功能。

四、参考程序代码:1、设计圆类,求两个圆的位置关系#include <iostream>#include <math.h>using namespace std;class Circle{private:float a,b,r;public:Circle(float c,float d,float e){a=c;b=d; r=e;}friend void position(Circle &,Circle &);};void position(Circle &c1,Circle &c2){float n,m,p;p=sqrt((c1.a-c2.a)*(c1.a-c2.a)+(c1.b-c2.b)*(c1.b-c2.b)); n=fabs(c1.r-c2.r);m=c1.r+c2.r;if(p>m)cout << "相离";if(p==m)cout << "相切";if(p<m)cout << "相交";}int main(){float a,b,c,d,e,f;cin >> a >> b >> c >> d >> e >> f ;Circle c1(a,b,c),c2(d,e,f);position(c1,c2);return 0;}运行结果:2、设计圆类和直线类,求直线与圆的位置关系#include<iostream>#include<math.h>using namespace std;class Circle//圆类{private:float x,y,r;public:Circle(float a,float b,float c) {x=a;y=b;r=c;}float getx(){return x;}float gety(){return y;}float getr(){return r;}};class Line//直线类{private:float a,b,c;public:Line(float x,float y,float z){a=x;b=y;c=z;}void position(Circle c1){float d=fabs(a*c1.getx()+b*c1.gety()+c)/sqrt(a*a+b*b) ;//圆心到直线的距离if(d<c1.getr())cout << "相交";if((d-c1.getr())<0.000001)cout << "相切";cout << "相离";}};int main(){Line l1(3,3,4);//创建直线对象Circle c1(-23,3,7);//创建圆对象l1.position(c1);return 0;}运行结果:3、设计学生类,求某班学生成绩的最高分、最低分及平均分#include <iostream>#include <string.h>using namespace std;class Student{private:char name[20],xuehao[20];float math;public:Student(){}Student(char *na,char *xu,float ma):math(ma) {strcpy(name,na);strcpy(xuehao,xu);}void set(char *na,char *xu,float ma){math=ma;strcpy(name,na);strcpy(xuehao,xu);}char *get_name(){return name;}char *get_xuehao(){return xuehao;float get_math(){return math;}};void max_min(Student stu[],int n){Student max,min;max=min=stu[0];for(int i;i<n;i++){if(stu[i].get_math()>max.get_math())max=stu[i];if(stu[i].get_math()<min.get_math())min=stu[i];}cout << "学生成绩最高:" << max.get_name() << "," << max.get_xuehao() << "," << max.get_math() << endl;cout << "学生成绩最低:" << min.get_name() << "," << min.get_xuehao() << "," << min.get_math() << endl;}void ave(Student stu[],int n){float sum=0;for(int i=0;i<n;i++){sum=sum+stu[i].get_math();cout << "ave=" << sum/n;}int main(){char na[20],xu[20];float ma;Student stu[20];int n;cout << "请输入学生总人数"; cin >> n;for(int i=0;i<n;i++){cin >> na >> xu >> ma ; stu[i].set(na,xu,ma); }max_min(stu,n);ave(stu,n);return 0;}运行结果:4、设计部门类和教师类,其中部门类成员为教师类的子对象#include <iostream>#include <string.h>using namespace std;class Department{private:int dep_num;char dep_master[20];char dep_name[20];public:Department(){}Department(int num,char *ma,char *na){dep_num=num;strcpy(dep_master,ma);strcpy(dep_name,na);}void show(){cout << dep_num << "," << dep_master << "," << dep_name ; }};class Teacher{private:char name[20];char haoma[20];Department dep;public:Teacher(char *n,char *nu,int num,char *ma,char *na):dep(num,ma,na) {strcpy(name,n);strcpy(haoma,nu);}void show(){dep.show();cout << "," << name << "," << haoma << endl;}};int main(){Teacher hp("wanghai","12345",6,"kiki","computer");hp.show();return 0;}运行结果:5、设计家庭银行账户类,其中账户为静态数据成员,为家庭成员共享#include <iostream>#include <string.h>using namespace std;class Familymember//家庭成员类{private:char membername[10];//成员名public:static float account;//共享账户资金 Familymember(char *name);static void save(float money);//存钱 static void pay(float money);//支出 static void show(); //显示账户余额};float Familymember::account=0;Familymember::Familymember(char *name) {strcpy(membername,name);}void Familymember:: save(float money) {account= account+money;}void Familymember:: pay(float money){account= account-money;}void Familymember:: show(){cout<<account<<endl;}int main()//主函数{ Familymember husband("wang"),wife("Li"); husband.save(10000);wife.pay(3000);wife.save(5000);wife.show();husband. show();}运行结果:6、设计复数类,友元函数实现复数的加减#include <iostream>using namespace std;class Fushu{private:float ss,xs;public:Fushu(){}Fushu(float a,float b){ss=a;xs=b;}friend Fushu jiafa(Fushu &f1,Fushu &f2){return Fushu((f1.ss+f2.ss),(f1.xs+f2.xs)); }friend Fushu jian(Fushu &f1,Fushu &f2){return Fushu((f1.ss-f2.ss),(f1.xs-f2.xs)); }void show(){cout << ss << " + " << xs << "i" << endl; }};int main(){Fushu f1(2,3),f2(4,5);Fushu f3,f4;f3=jiafa(f1,f2);f4=jian(f1,f2);f3.show();f4.show();return 0;}运行结果:。

面向对象程序设计实验报告1

面向对象程序设计实验报告1
看看这些字符的10进制ascii码哦ascii码一样同一种字符字符怎么参加了数学运算哦是字符对应的ascii码整数2006年级20061719号姓名同组姓名实验日期2010看看这个字符是什么
实验一
实验名称:实验一Visual C++环境
实验目的:
⒈熟悉VC++的集成开发环境,学习运行一个C++程序的步骤。
y=fun(x);
if(y==0)
cout<<"they input num is sushu"<<endl;
else
cout<<"they input num is not sushu"<iostream.h>
#include<math.h>
float fun(float a,float b,float c,float d)
return 0;
3. #include<iostream.h>
void main()
{inta,b,c,d,e;
double score;
a=b=c=d=0;
cin>>score;
while(score>=0)
{
if(score>=90)
a++;
else
if(score>=80)
b++;
else
if(score>=70)
do{
*p=*(--p);
}while( p>s+n);
(*p)=c;
}
return s;
}
int main()

c++实验报告【范本模板】

c++实验报告【范本模板】

面向对象程序设计(C++)实验报告指导老师:***学生:吴健班级:软131学号:*********目录实验一、VC6.0环境入门与简单程序设计实验报告 (3)实验二、函数的应用实验报告 (7)实验三、类与对象实验报告 (14)实验四、C++程序结构实验报告 (22)实验五、数组、指针与字符串实验报告 (26)实验六、继承和派生实验报告 (33)实验七、多态性实验报告 (42)实验八、面向对象综合实验实验报告 (48)实验一、VC6.0环境入门与简单程序设计实验报告系软件工程班级 131 学号 139074164 姓名吴健同组者指导教师柯栋梁一、实验目的:1、熟悉VC++6.0开了环境并编写简单的C++程序。

3、使用C++语言编写简单的输入输出程序。

4、使用VC++6.0的DEBUG调试功能:单步执行、设置断点、观察变量值。

二、实验内容:1、使用VC++建立一个标准C++程序,编译、运行如下程序:#include<iostream〉Int main(){Cout〈<”Hello World!\n";Cout<<”Welcome to C++!\n";}2、编程计算图形的面积。

程序可计算圆形、长方形、正方形等的面积,运行时首先提示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来.3、使用DEBUG功能观察任务2程序运行中变量值的变化情况.三、实验要求:1、任务1要求熟悉VC++开发环境,并能够使用其建立第一个C++程序.2、实验前要做好充分准备,包括程序清单、调试步骤、调试方法,以及对程序结果的分析等。

四、实验报告:1.程序运行截图2.面积计算1、程序说明。

用if -else语句进行选择程序功能,while语句实现功能的循环实现程序如下:#include〈iostream>#include〈cmath〉using namespace std;int main(){cout〈<”1计算圆面积”<〈endl〈<"2计算矩形面积"<〈endl〈<"3计算正方形面积”〈〈endl<<"4退出"〈〈endl<<"请选择相应功能代码:”;int x; //x对应编号cin〉>x;double area;while(x!=4){if(x==1){double r;cout〈〈"半径:";cin〉>r;area=3。

C++面向对象程序设计》实验报告

C++面向对象程序设计》实验报告

《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。

(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。

(3)掌握简单C++程序的编写和调试方法。

(4)掌握重载函数的定义方法。

(5)能正确使用引用型变量。

2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。

②在自己指定的子目录中建立一个名为test.cpp的新文件。

③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。

观察和分析编译信息。

⑤根据编译信息指出的错误, 修改程序。

再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。

⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。

⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。

观察屏幕的变化。

在输出窗口应显示程序运行结果。

⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。

改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。

C语言实验报告

C语言实验报告

中南民族大学管理学院学生实验报告课程名称:C程序语言设计姓名:郭晋学号:10056006年级:2010专业:信息管理与信息系统指导教师:李超锋实验地点:管理学院综合实验室2010 学年至20 11 学年度第2 学期目录实验一熟悉C语言的开发环境和C程序的上机步骤实验二基本数据类型及数据的输入输出实验三运算符及表达式实验四顺序结构程序设计实验五选择结构程序设计实验六循环结构程序设计实验七数组及其应用实验八函数及其应用实验九指针及其应用实验(一)熟悉C语言的开发环境和C程序的上机步骤实验时间:2011.3.29同组人员:郭晋,金亚男实验目的:1,了解T urb C3.0编译系统,熟悉各菜单的功能,掌握在该系统上编辑,编译,连接,运行一个C程序的方法。

2,通过调试,运行简单的C程序,初步了解C语言程序的特点。

实验内容:1.编写一个C程序,求一个圆的面积。

我们的程序设计#include<stdio.h>void main(){float r,s;scanf("%f",&r);s=3.14*r*r;printf("s=%f",s);}2.编写程序求任意三个书的最大值。

我们的程序设计#include<stdio.h>void main(){int a,b,c,max;scanf("%d,%d,%d" ,&a,&b,&c);if(a>b&&a>c)max=a;if(b>a&&b>c)max=b;if(c>a&&c>b)max=c;printf("max=%d\n",max);}实验步骤:1.首先,我们两人先根据题目中的编程要求确定实验步骤,分别写下相应的编程语言进行比较,未出现明显的分歧。

2.打开Turb C 程序,然后将刚刚确定的C语言程序输入,打开Proiles,进行系统纠错,看是否出现错误或者警告,进行相应的调试。

实验一数据类型和表达式掌握C语言...

实验一数据类型和表达式掌握C语言...

实验一数据类型和表达式一.实验目的1.掌握C语言基本数据类型的概念,理解数据类型与运算的关系。

2.熟悉简单变量的定义和赋值方法,掌握不同类型数据之间转换的规律。

3.学习C语言运算符优先级和结合性的概念,掌握算术表达式的计算方法及表达式计算中的类型转换方法。

4.掌握数学式子的表达式表示。

5.进一步熟悉C程序的编辑、编译、连接和运行的过程。

二.实验内容与算法解析1.编程计算下面算术表达式的值,手工计算检测。

(1) x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5, y=2.52.下面表达式计算中,哪些地方会发生类型转换?各个转换从什么类型转换到什么类型?表达式计算的结果是什么?试编程进行验证。

(1) 2.5+2*7%2/4 (2) 4*(2L+6.5)-12(3) 10/(int)(5.1+3)) (4) 2*10.0/(5*3)3.运行下面程序分析结果:main(){int a,b,c;a=9;b=5;c=24;printf("%d",a%c/b);}4.输入并运行下面程序,对照程序分析运行结果:程序如下:#include <stdio.h>main( ){ int a,b;long d;unsigned e;char c;a=100;c='W';b=-100;d=50000;e=8766;printf("a=%d,b=%d,c=%c,d=%ld,e=%u\n",a,b,c,d,e);}并修改程序测试:1)将a=100;换成a=42569;,会得到什么结果,为什么?2)将b=-100;换成b=c;,会得到什么结果,为什么?3)将e=8766; 换成e=-10;,会得到什么结果,为什么?5.写出程序运行结果,并上机进行验证,并分析原因。

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。

(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。

实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。

要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。

(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。

要求:使用递归函数。

主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。

链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。

程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。

C语言程序设计实验第一次上机实验报告

C语言程序设计实验第一次上机实验报告

2.第一次实验C语言程序设计实验报告专业运算机科学与技术班级信安1302班日期成绩实验组别第 1 次实验表达式和标准输入与输出实验指导教师周时阳学生姓名学号同组人姓名实验名称表达式和标准输入与输出实验实验目的1.熟练把握各类运算符的运算功能,操作数的类型,运算结果的类型及运算进程中的类型转换,重点是C语言特有的运算符,例如位运算符,问号运算符,逗号运算符等;熟记运算符的优先级和结合性。

2.把握getchar, putchar, scanf和printf等函数的用法。

3.把握简单的C程序(顺序结构程序)的编写方式。

4.完成教师布置的习题及课程设计上的题目。

实验内容(一)输出“王”字源程序如下:#include <>int main(){puts("*************");puts(" * ");puts(" * ");puts("*************");puts(" * ");puts(" * ");puts("*************");return 0;}实验步骤:步骤一:计算输出进程中应操纵的空格数,选择星号作为输出的标记。

步骤二:采纳puts函数实现对字符串的输出。

调试及编译进程:实验中显现的不足及修改:无。

调试:实现对王字的输出。

(二)编程将华氏温度转换为摄氏温度源程序如下:#include <>int main(){double x,y;printf("请输入华氏温度:");scanf("%lf",&x);y=(5*(x-32))/9;printf("%.2lf(F)=%.2lf(C)",x,y);return 0;}编辑步骤:步骤一:概念两个浮点型变量,别离用来寄放华氏温度和摄氏温度步骤二:用输入函数输入一个华氏温度值并存入命名为x的单元中。

《程序设计础—C程序实验》

《程序设计础—C程序实验》
4.编程,输出100~300之间所有素数,并将它们的和打印出来。
思考题:编程,输出以下图形:
*
***
*****
*******
*********
*******
*****
***
*
实验7数组
一、实验目的
1.理解数组的概念,掌握一维数组和二维数组的定义、存储结构、赋值和输入输出的方法。
2.理解字符串的概念,掌握字符数组和字符串函数的使用。
/*ex1.c*/
#include <stdio.h>
main()

printf("Hello!\n");
printf("This is C program!\n");

试编译、连接、运行该程序,并按Alt+F5查看运行结果。
运行结果是:
2.输入并调试运行以下程序,查看运行结果(由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。
for(i=1;i<5;i++)
{if(i%2)printf("*");elsecontinue;
printf("%");
}
printf("@");
}运行结果是:
2.编程,用公式π/4≈1- + - +…求π的近似值,当某项绝对值小于 时计算结束。
3.输入一行字符,编程统计并输出其中的大写英文字母和数字的个数。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
main()

C语言程序设计实验及习题(1-4)

C语言程序设计实验及习题(1-4)

C语⾔程序设计实验及习题(1-4)ffB v vbvv bgbb实验⼀C程序运⾏环境及简单程序的运⾏2.程序改错并调试改正后的程序⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以⽂件名sy1_2.cpp#includevoid main{ int x=2;y=3;aA=x*yprint ("a=%d",a);printf(‘\n’);}⑵下列程序的功能为:输⼊圆的半径,计算圆⾯积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以⽂件名sy1_3.cpp存盘)。

#include stdio.h;int mian();float r; area;printf("input r:\n"); scanf("%f",r);area=3.14159r*r;printf("r=%f , area=%f\n"3.编写程序并上机调试⑴输⼊三个整数a、b、c,显⽰出其中的最⼤值。

4.分析与总结⑴总结C程序的结构和书写规则。

⑵阅读:附件1-C语⾔程序的跟踪调试。

特别提⽰:当程序在编译时发现很多错误,此时应从上到下逐⼀改正,或改⼀个错误,就重新再编译,因为有时⼀个错误会引起很多错误信息。

习题⼀⼀、选择题参考答案:1~5 C B A C D 6~10 C C A C B 11~14 A A C B⼆、综合题绘制NS 算法流程图。

(1)输⼊10个数,求其中的最⼤值。

(2)输⼊3个数,将它们升序排列输出。

(3)输⼊2个数,求它们的最⼤公约数。

(4)输⼊⼀元⼆次⽅程的系数a 、b 、c ,判断其根。

实验⼆顺序结构程序设计1.阅读程序,尝试写出程序的运⾏结果,然后输⼊并调试程序,对照其实际输出与分析的结果是否⼀致,若不⼀致,请找出原因。

⑴以下程序⽤于测试C中不同类型数据所占内存字节数,运⾏并体会sizeof运算符的使⽤⽅法。

c++程序设计实验报告(参考答案)

c++程序设计实验报告(参考答案)

实验要求:对大纲中列出的四个实验要求:1.以面向对象的程序设计思想编程。

2.熟悉面向对象程序设计语言VC++编程环境。

3.在计算机上快速完成程序编写、调试、运行。

分别写出实验报告(三页以上),要求详尽描述根据实验内容要求,自己设计的上机编程源程序和结果,包括关键性截图。

完成实验报告和上交源程序。

备注:1.《计算机应用技术》(专)、《计算机应用基础》(专)、高级语言程序设计(一)(专)要求学生进行上机操作,保留上机操作原程序,每门课程每个学生形成一个文件夹,文件夹以学生准考证号+姓名命名,最后试点院校汇总,刻录光盘上交主考院校;2.《口语》(专)、《口译与听力》(本)要求考生进行现场练习,由试点院校教师录制相关材料,每门课程每个学生形成一个文件夹,文件夹以学生准考证号+姓名命名,最后试点院校汇总,刻录光盘上交主考院校;A45.按照系统成绩单的顺序将上报的学习过程评价成绩材料排序并打捆;6.实践课程考核评估记录表》也需按照成绩单顺序排序,单独上报;7.有平时作业或测试试卷等可放入本人上报的材料中一并打捆上交。

交实验报告时间:10月8日假期后第一天上课,务必把按照要求书写完成,并装订好的实验报告交给我,一定!一定!切记不要耽误!实验一:简单类与对象一、实验目的1、熟悉VC++的编程环境,掌握VC++ 的调试方法。

2、掌握简单的类与对象的定义。

二、实验内容用类定义,输入半径和高,输出圆柱体的底面积和体积。

三、实验要求1、硬件设备:奔腾Ⅱ及以上计算机,局域网。

2、软件环境:WINDOWS XP、VC++。

3、实验课前预习,课后及时完成实验报告。

4、实验过程及记录按题目格式要求填写在代码清单中。

四、代码清单或实验步骤#include<iostream>using namespace std;const float PI=;class Cylinder{private:f loat radius;f loat high;public:C ylinder(){}C ylinder(float r,float h){r adius=r;h igh=h;}v oid setradius(float r){r adius=r;}v oid sethigh(float h){h igh=h;}f loat bottomarea(){r eturn PI*radius*radius;}f loat volumn(){return bottomarea()*high;}};void main(){float r,h;Cylinder onecylinder;cout<<"请输入半径:";cin>>r;cout<<"请输入高:";cin>>h;(r);(h);cout<<"底面积为:"<<()<<endl;cout<<"体积为:"<<()<<endl;}五、实验中出现的问题及解决的方法1、数据类型的兼容问题程序代码:const float PI=;提示将double类型强制赋给float类型的警告解决方法:const float PI=;六、讨论或体会或改进实验的建议这个实验比较简单,较容易的实现了。

C++实验报告模板 -太原理工大学-软件学院

C++实验报告模板 -太原理工大学-软件学院
cin>>a>>b;
area=a*b;
cout<<"面积为"<<area<<endl;
}
else if(x==3)
{
double a;
cout<<"边长:";
cin>>a;
area=a*a;
cout<<"面积为"<<area<<endl;
}
else{
cout<<"输入有误,请重新输入!"<<endl;
七、讨论、心得
通过本次实验,我明确了构造函数和析构函数的应用,也对函数重载有了更深刻的理解,掌握了类的私有成员、公有成员和保护成员的区别,对编写程序的整体思维方法是也有了更清晰的理解。
实验三继承与派生
一、实验目的和要求
(1)掌握类的继承和派生过程;
(2)掌握派生类的定义与使用;
(3)掌握派生类的构造函数与析构函数的应用及调用顺序;
int GetBottom() const { return itsBottom; }
int GetRight() const { return itsRight; }
void SetTop(int top) { itsTop = top; }
void SetLeft (int left) { itsLeft = left; }
};
Circle::Circle(double x0,double y0,double r):Shape(x0,y0)
int itsRight;
};
Rectangle::Rectangle(int top, int left, int bottom, int right)

C++实验报告

C++实验报告

C++实验报告⾯向对象的程序设计(C++)实验指导书实验1 简单C++程序开发⼀、实验⽬的1.熟悉VC++6.0编程环境; 2.编制简单C++程序并运⾏;3. 熟悉C++的编辑、编译、连接和运⾏过程。

⼆、实验内容及步骤1.使⽤VisualC++6.0建⽴⼀个标准C++程序,编译、运⾏以下程序:具体实验步骤:1)启动Visual C++ 6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0,显⽰Visual C++ 6.0开发环境主窗⼝,如图1-1所⽰。

在Visual C++主窗⼝的顶部是菜单栏,左侧为项⽬⼯作区窗⼝,右侧是程序编辑程序编辑区项⽬⼯作区菜单栏图1-1 Visual C++6.0的主窗⼝窗⼝。

⼯作区窗⼝⽤来显⽰所设定的⼯作区的信息,程序编辑窗⼝⽤来输⼊和编辑源程序。

2)建⽴和运⾏只包含⼀个C++源程序的⽅法①建⽴只包含⼀个C++源程序的⽅法⼀个最简单的C++程序只包含⼀个源程序的⽂件,建⽴这样的⼀个C++源程序的⽅法是在Microsoft Visual C++主窗⼝的菜单栏中选择“File →New”命令,弹出“New”对话框,单击“Files”选项卡,在其列表框中选择“C++ Source File”选项,表⽰要建⽴⼀个新的C++源程序⽂件,然后在对话框右半部分的Location⽂本框中输⼊准备编辑的源程序⽂件的存储路径(假设为F:\C++),表⽰准备编辑的源程序⽂件将存放在F盘C++⼦⽬录下,在其上⽅的File⽂本框中输⼊准备编辑的源程序⽂件的名字(假设为example1.cpp),如图1-2所⽰。

图1-2 Files中New选项卡单击“OK”按钮回到主窗⼝,在程序编辑窗⼝编辑源程序⽂件,如图1-3所⽰。

选择“File →Save”命令或快捷键Ctrl+S保存源程序⽂件。

也可以选择“File →Save As”命令指定新的⽂件名和路径,这时输⼊和编辑的源程序就以example1.cpp 为⽂件名存放在F:\C++⼦⽬录下。

《面向对象程序设计_C++》实验报告

《面向对象程序设计_C++》实验报告

《⾯向对象程序设计_C++》实验报告C++实验报告实验⼀ Visual C++6.0开发环境应⽤⼊门(验证性实验2学时)1.⽬的要求:了解Visual C++6.0的特点,熟悉了解Visual C++6.0的开发环境,学习使⽤Visual C++6.0编写标准的C++控制台应⽤程序。

2.实验内容:使⽤Visual C++来建⽴⼀个⾮图形化的标准C++程序,编译、运⾏教材中的例3-3,⽤公式法求解PI的数值,并尝试利⽤其他⽅法求解并获得相同的结果。

π=16arctan(1/5)-4arctan(1/239)arctan(x)=x-x3/3+x5/5-x7/7+…求π=?(1)源代码和说明:#includeusing namespace std;double arctan(double x){double sqr=x*x;double e=x;double r=0;int i;while(e/i>1e-15){double f=e/i;r=(i%4==1)?r+f:r-f;e=e*sqr;i+=2;}return r;}int main(){double a=16.0*arctan(1/5.0);double b=4.0*arctan(1/239.0);cout<<"PI="<return 0;}2)运⾏结果:1实验⼆ C++简单程序设计实验(验证性实验4学时)1.⽬的要求:会编写简单的C++程序;复习基本数据类型变量和常量的应⽤;复习运算符与表达式的应⽤;复习结构化程序设计基本控制结构的应⽤;复习⾃定义数据类型的应⽤;练习使⽤简单的输⼊输出;观察头⽂件的作⽤;学会使⽤VC6.0开发环境中的debug调试功能;熟练程序设计中的技巧;2.实验内容:1)给定⼀个字符变量输出其⼆进制形式。

例如char a=’a’;其⼆进制为00100001。

1)源代码和说明#includeusing namespace std;int main(){char ch;int j,k[8]={0};cout<<"请输⼊⼀个字符:"<cin>>ch;for(j=0;j<=7;j++){if(ch){if(ch%2==0)k[j]=0;elsek[j]=1;ch=(ch-(ch%2))/2;}}for(j=7;j>=0;j--){cout<}cout<}2)运⾏结果:2)给定⼀个字符变量输出其⼆进制反转形式。

《面向对象程序设计c++》实验指导书

《面向对象程序设计c++》实验指导书

实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。

2、掌握如何编辑、编译、连接和运行一个C++程序。

3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。

二、实验要求1、分析下列程序运行的结果。

程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。

C语言实验报告1-9(全)

C语言实验报告1-9(全)

printf("Hello world!\n"); } 运行结果:
5.录入、调试、编译和运行以下C语言程序,并写出运行结果。 #include <stdio.h> main() { int a,b,sum; a=1; b=2; sum=a+b+2; printf("sum=%d",sum); } 运行结果:
5. 参考例4.2程序,从键盘任意输入一个小写英文字母,将其转换为大写英文字母 后,将转换后的大写英文字母及其十进制ASCII码值显示在屏幕上。 #include <stdio.h> main() { char ch; printf("Press a key and then press Enter:"); ch = getchar(); ch = ch + 32; printf("%c, %d\n", ch, ch); /* 分别输出变量ch中的字符及其ASCII码值 */ } 实验体会与总结: 学会C语言的运算符和表达式的正确使用 教师批阅:
XX学院 计算机课程实验报告
(2012 ~ 2013 年度第 二 学期)
专 业 计算机科学与技术 课 程 C语言程序设计 班 级 2012级 姓 名 XXX 学 号 12237025 教 师 XX
XX学院电子信息工程学院制
实验报告填写说明
1、如为纸质版,请用钢笔或圆珠笔填写,要求字 迹工整,条理清晰。如为电子版,请务必双面打 印。 2、“实验题目”可以填写章节名称或用文字表 述,“实验目的”要逐条列出。 3、“实验内容及步骤”,控制在3-4页之内,如 程序代码所占篇幅过大,则只填入程序流程图(或 关键代码),并尽可能精简。 4、“教师批阅”处由课任老师填写评语,给出实 验成绩,并作为平时成绩,参与期末成绩总评。

《-C语言程序设计》实验指导书

《-C语言程序设计》实验指导书

《C语言程序设计》实验指导书课程编号:课程名称:C语言程序设计•实验学时:44一、本实验课的性质、任务与tl的本实验课目的是使学生掌握C语言编程的常用方法,熟悉该语言中的语法、词法规则,为以后进行软件开发和学习后继专业课程打下基础。

通过学习能够运用c语言中的各个知识点编写能完成一定功能的程序。

训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,其重要程度决不亚于知识的传授。

把高级语言的学习与程序设计.上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。

二、本实验课所依据的课程基本理论本实验课基于C语言的语法和词法规则、数据的表示及算法的处理,而语法及算法正是高级语言程序设计的主要研究对象。

《C语言程序设计》的主要任务是:C语言是一种应用广泛结构化程序设计语言,本课程介绍c语言的基本概念.基本语法和编程方法,重点描述C语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用C语言编写程序的能力。

三、实验类型与要求在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图, 要求独立完成。

说明:1>实验类型:设计性;2、实验要求:必做。

四、每组人数与实验学时数每组1人,实验学时数44学时。

五、考核方式与评分办法实验总成绩二出勤情况"0%+实验报告*20%+平时*30%+实验表现*40%六、本实验课配套教材或实验指导书谭浩强.C程序设计.北京:清华大学出版社,2006年3月第3版谭浩强.C程序设计题解与上机指导.北京:清华大学出版社,2006年3月第3版谭浩强.C程序设计试题汇编.北京:清华大学出版社,2006年3月第2版夏宽理.C语言程序设计.北京:中国铁道出版社,2006年2月第1版夏宽理.C语言程序设计上机指导与习题解答.北京:中国铁道出版社,2006年2月第1 版王士元・C高级实用程序设计.北京:清华大学出版社,1996年1月第1版七、实验报告要求在机器上交作业,每次实验成绩分为优、良、及格、不及格,未参加的为0分。

C语言实验报告(全)

C语言实验报告(全)

《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
实验报告填写说明
1.实验报告中的班级写行政班级(如道土1班),学号写完整学号(如20176000101),实
验日期不要漏写,任课教师写全名。

2.设计流程(算法描述)的书写用传统流程图、N-S流程图或伪代码中的任一种方式写出算法。

3.调试和测试结果应有内容,至少是“调试结果正确”,如果遇到错误,则写出错误信息,
及调试解决方法。

要求写出测试用的数据和测试结果,应对所有路径都进行测试。

C语言实验报告

C语言实验报告

C语⾔实验报告上机要求:禁⽌玩游戏、看视频及从事与课程⽆关的活动。

实验内容按照指导书内容填写,可以把⾃⼰上机编写的程序、遇到的问题、解决办法写上(得到⾼分的条件)。

在有输⼊输出的程序部分,应该写上输⼊输出的结果,以表⽰程序能正确⼯作。

实验⼀编程环境的使⽤⼀、⽬的和要求1.了解编程环境的使⽤。

2.学会处理简单的错误,观察运⾏结果。

3.掌握基本的输⼊输出。

⼆、实验原理VisualC++6.0是⼀个集成的开发环境,包括编辑、编译连接和调试。

编写程序的主要过程是:建⽴⼯作区、建⽴⼯程、添加源⽂件、输⼊程序、运⾏程序、改正出现的错误直到有正确的输出结果。

三、实验内容及步骤1.编程环境的使⽤。

(1)打开VisualC++6.0开发环境。

(2)单击“⽂件-〉新建”菜单命令,显⽰出“新建”对话框(如图1-3)。

在新建对话框单击“⼯程”标签,选中Win32 Console Application项,然后在⼯程框中键⼊控制台应⽤程序项⽬名称,并且选中空⼯程。

(3)添加C++源⽂件,输⼊⽂件名。

(4)打开编辑窗⼝,输⼊程序,保存。

(5)编译运⾏程序,找到其错误位置,改正错误。

2.编写如下程序,从键盘读⼊两个整数,计算它们的和差积商,将结果输出在屏幕上。

3.编写如下程序,从键盘读⼊两个字符,并输出在屏幕上。

四、思考问题1.如何使⽤不同的数据类型。

2.如何处理输⼊输出。

3.如何查找程序中的错误?实验⼆选择结构⼀、⽬的和要求1. 掌握if ...else 及其嵌套的⽤法。

2. 掌握switch 的⽤法。

⼆、实验原理if 语句是专门⽤来实现选择结构的语句,是根据⼀个条件满⾜与否来决定是否执⾏某条语句或从两个语句中选择⼀个语句执⾏。

if-else 语句的⼀般格式为:if (表达式1) 语句1else if (表达式2)语句2……else if (表达式n )语句nelse 语句n+1当程序中有多个条件判断时,若使⽤if 语句可能使嵌套太多,降低了程序的可读性,switch 语句能很好的解决这个问题。

c程序设计实验教案

c程序设计实验教案

C程序设计实验教案一、实验目的1. 掌握C程序的基本结构。

2. 学会使用C语言编写简单的输入输出程序。

3. 熟悉集成开发环境(如Visual Studio、Code::Blocks等)的使用。

二、实验内容1. C程序的基本结构(1)编写一个简单的C程序,输出“Hello, World!”。

(2)理解主函数、变量声明、函数体等基本概念。

2. 输入输出语句(1)使用scanf()函数输入用户输入的数字,并输出该数字的平方。

(2)使用printf()函数输出学生的姓名、成绩和等级。

三、实验步骤1. 打开集成开发环境,创建一个新的C项目。

2. 在主函数中编写输出“Hello, World!”的代码。

3. 编写输入用户输入的数字,并输出该数字的平方的代码。

4. 编写输出学生姓名、成绩和等级的代码。

5. 保存并运行程序,观察输出结果。

四、实验要求1. 每位同学独立完成实验,不抄袭他人代码。

2. 实验过程中,遇到问题要积极思考,可以请教同学或老师。

3. 实验完成后,对照实验目的,检查自己是否达到了预期目标。

五、实验评价1. 代码是否规范、可读性强。

2. 是否能熟练使用C语言的基本语法。

3. 是否能正确使用输入输出语句。

4. 是否能独立完成实验,解决问题。

六、实验六:控制流程(条件判断与循环)1. 实验目的理解C语言中的条件判断语句(if-else)。

掌握C语言中的循环结构(while、do-while)。

2. 实验内容编写程序实现成绩判断,根据分数输出等级(优秀、良好、及格、不及格)。

编写程序计算从1加到指定数字的和。

3. 实验步骤创建新项目,编写判断成绩的程序。

编写一个循环,用于输入分数,并判断等级。

编写另一个循环,用于计算1到指定数字的和。

运行程序,验证结果。

4. 实验要求代码应包含清晰的逻辑判断和循环控制。

要求程序能够处理用户输入的无效数据。

5. 实验评价判断语句和循环结构的正确使用。

程序对于不同输入的适应性和鲁棒性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

天津理工大学实验报告学院(系)名称:计算机与通信工程学院
测试程序会出现什么错误?为什么?如何对已有的构造函数进行适当的修改?
(4)结合第(2)和第(3)步的修改和运行结果:分析创建不同的对象时如何调用适当的构造函数?
1.
.
2.
调用一次构造函数。

3.
Coordinate p4;
Coordinate p5(2);错误,因为类没有默认的构造函数,也没有无参数的构造函数和一个参数的构造函数;
改正可为:
将Coordinate(int x1, int y1){x=x1; y=y1;} 改为Coordinate(int x1=0, int y1=0){x=x1; y=y1;}
4.系统会自动根据参数的类型和参数的个数,调用合适的函数。

2.
根据注释语句的提示实现类Date的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。

#include <iostream.h>
class Date{
public:
void printDate(); //显示日期
void setDay(int); //设置日的值
void setMonth(int); //设置月的值
void setYear(int); //设置年的值
3.
下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试
该类设计的正确性。

#include <iostream>
using namespace std;
class coutner
{
public:
counter(int number); //构造函数
void increment(); //给value原值加1
void decrement(); //给value原值减1
int getvalue(); //计数器值
void print(); //显示计数
privat取得e:
int value; //数据成员
};
int main(){
... //定义counter类的几个对象并调用有关成员函数
return 0;
}
程序如下:
#include <iostream>
using namespace std;
class coutner{
public:
coutner(int number):value(number) //构造函数
{}
void increment(); //给value原值加1
void decrement(); //给value原值减1
int getvalue(); //取得计数器值
using namespace std;
class ClsName {
private:
int x,y;
public:
ClsName(int a,int b)
{x=a;y=b;}
ClsName(int c)
{x=c;y=0;}
ClsName()
{x=1;y=1;}
int getx()
{return x;}
int gety()
{return y;}
void print();
};
void ClsName::print()
{
cout<<x<<" "<<y<<endl;
}
int main()
{
ClsName o1,o2(3),o3(4,5);
o1.print();
o2.print();
o3.print();
return 0;
}
运行结果:
5.
建立类cylinder,包括两个数据成员radius和height,分别表示圆柱体的半径和高度, cylinder类的
运行结果:
6.
定义一个学生类CStudent实现简单的学籍管理功能,要求该类至少实现以下功能:
(1) 录入学生的基本信息(包括姓名,学号,性别,年龄,专业,入学时间,各门功课成绩)
(2) 输出学生的基本信息
(3) 选课(输入时间和所选的课程)
(4) 统计每门课的学分绩点
(5) 统计每学期的平均学分绩点
(6) 统计重考科目
(7) 统计重修科目
程序如下:
#include <iostream>
#include <string>
using namespace std;
class CStudent{
public:
CStudent(string n,string nu ,string s,int a,string z,int y,int m,int d,int ma,int e,int cyy)
//构造函数
{
name=n;number=nu;sex=s;age=a;zy=z;year=y;month=m;day=d;math=ma;english=e;c=cyy;
}
void print() //打印出学生信息
{cout<<"姓名:"<<name<<'\n'<<"学号:"<<number<<'\n'<<"性别:"<<sex<<'\n'<<"年龄:"<<age<<'\n'<<"专业:"<<zy<<'\n'<<"入学年月日:"<<year<<"."<<month<<"."<<day<<'\n'<<"数学成绩:"<<math<<" "<<"英语成绩:"<<english<<" "<<"c成绩:"<<c<<'\n'<<endl;}
void xuanke(); //声明选课日期,课程函数
float jsjidian(float fenshu) //由分数算绩点函数
{
float jd;
if(fenshu<60) jd=0;
else if(60<=fenshu&&fenshu<65) jd=1;
else if(65<=fenshu&&fenshu<70) jd=1.5;
else if(70<=fenshu&&fenshu<75) jd=2;
else if(75<=fenshu&&fenshu<80) jd=2.5;
注意:
(1)新设计的类中所需要的数据成员需要根据所要实现的功能自行设计;
(2)用一个演示程序完成对所设计的新类的功能测试,并给出测试数据和实验结果;
(3)为增加程序可读性,请在程序中对类成员进行适当注释说明;
实验要求:
(1)实验前做好预习,并写出预习报告。

(2)实验期间禁止做与实验无关的项目、以及浏览网页、打游戏等。

(3)认真完成并按时提交实验报告。

相关文档
最新文档