欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c++上机实验报告.doc

    • 资源ID:52201642       资源大小:243KB        全文页数:104页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c++上机实验报告.doc

    实验1 熟悉上机环境及C+基础实验1.实验目的和要求(1)熟悉上机环境,了解Visual C+6.0集成开发环境、掌握源程序编辑、程序调试、查看变量、程序运行;(2)熟悉C+的程序结构,掌握main函数、保留字、变量及变量定义、输入与输出流等概念;(3)熟悉类与类对象的定义、类成员的调用。2.实验内容任务1:程序调试#include<iostream.h>int main()cout<<"您好!浙江大学欢迎您,愿您喜欢C+的输入输出。" cout<<2008; cout<<"n" cout<<20.1; cout<<endl; cout<<"I am"<<"years old student." char name30; int age; cout<<"please give your name:" cin>>name; cout<<"please tell me how are you?" cin>>age; cout<<"Your name is"<<name<<endl; cout<<"you are"<<age<<"years old."return 0;思考1:1)在程序中任何一行少一个“;”符号,有什么提示?error C2146: syntax error : missing '' before identifier 'cout'2)删除int age;这一行,编译后有什么错误提示。error C2065: 'age' : undeclared identifier思考2:1)C+中的注解有哪些? C+注解形式有两种:单行注解(/)以及多行注解(/*.*/)2)应用输入输出流应包含什么库? 输入输出流库 iostream.h3)定义变量有什么含义? 给变量分配存储空间4)常用变量有哪些基本类型? int char double float 任务2:程序调试在实验1的源程序基础上,作以下程序的调试,并回答相关问题。(1)用单行注释符”/”注解预处理命令,编译程序有什么提示?error C2065: 'cout' : undeclared identifiererror C2297: '<<' : illegal, right operand has type 'char 46'warning C4552: '<<' : operator has no effect; expected operator with side-effecterror C2297: '<<' : illegal, right operand has type 'char 2'error C2296: '<<' : illegal, left operand has type 'const double'error C2297: '<<' : illegal, right operand has type 'const double'error C2065: 'endl' : undeclared identifierwarning C4552: '<<' : operator has no effect; expected operator with side-effecterror C2297: '<<' : illegal, right operand has type 'char 5'error C2297: '<<' : illegal, right operand has type 'char 23'error C2065: 'cin' : undeclared identifiererror C2297: '>>' : illegal, right operand has type 'char 30'error C2297: '<<' : illegal, right operand has type 'char 28'warning C4552: '>>' : operator has no effect; expected operator with side-effecterror C2297: '<<' : illegal, right operand has type 'char 13'error C2297: '<<' : illegal, right operand has type 'char 8'如果程序中使用函数fabs,应该增加什么样的预处理?增加一句 #include<math.h>(2)把int main()写成int Main( ) ,编译程序有什么提示?请回答在C+程序设计对大小写有什么要求?error C4716: 'Main' : must return a value C+程序设计中,必须要区分大小写(3)如果把语句cout<<2008; 如改写为:cout<<2008 编译程序有什么提示?请回答在C+程序设计对语句结束有什么要求? error C2146: syntax error : missing '' before identifier 'cout' 语句结束时,必须用“;”结尾(4)程序中的变量定义:int age ; 如改写为:int age_1 ; 编译程序有什么提示?error C2065: 'age' : undeclared identifier 如改写为:int 1_age ; 编译程序有什么提示?如改写为:int for ; 编译程序有什么提示?关于变量的取名你能总结出什么经验?error C2059: syntax error : 'bad suffix on number'warning C4091: '' : ignored on left of 'int' when no variable is declarederror C2143: syntax error : missing '' before 'constant'error C2146: syntax error : missing '' before identifier '_age'error C2065: '_age' : undeclared identifiererror C2065: 'age' : undeclared identifier在变量取名时应注意确定变量的类型,同时变量名不能是类似于1_age的形式任务3:程序设计#include<iostream.h>int main()char name20,name130;int age;cout<<"请输入您的学院名"<<endl;cin>>name;cout<<"请输入您的姓名"<<endl;cin>>name1;cout<<"请输入您的年龄"<<endl;cin>>age;cout<<"欢迎来自"<<name<<"学院的"<<name1<<"同学,您的年龄是"<<age<<"岁"<<endl;请输入您的学院名zhejiangdaxuechengshixueyuan请输入您的姓名honghongming请输入您的年龄20欢迎来自zhejiangdaxuechengshixueyuan学院的honghongming同学,您的年龄是20岁Press any key to continue任务4:程序调试#include<iostream.h>class sprivate: int x,y;public:s(int a,int b)x=a;y=b;int area()return x*y;void show()cout<<"面积:"<<area()<<endl;int main()int a,b;cin>>a>>b;s x(a,b);x.show();return 0;编译运行程序后写出程序的运行结果并回答下列问题:(a)省略预处理行#include<iostream.h>,会出现什么样的错误提示?error C2065: 'cout' : undeclared identifiererror C2297: '<<' : illegal, right operand has type 'char 7'error C2065: 'endl' : undeclared identifiererror C2065: 'cin' : undeclared identifier(b)程序中出现了哪些关键字? class private int public return void(c)函数init、area、show功能分别是什么?输入变量值 计算 输出结果(d)在类中,如果private、public不写,会出现什么样的错误提示?为什么?不写private不会出现错误。不写public会出现的错误:error C2248: 's:s' : cannot access private member declared in class 's' D:1.cpp(7) : see declaration of 's:s'error C2248: 'show' : cannot access private member declared in class 's' D:1.cpp(9) : see declaration of 'show'原因:若程序未设置访问权限则默认为私有的(private)。(e) 重写程序,把成员函数定义在类的外部,提示:请参照下列类定义。class sprivate: int x,y; public: void init(int a,int b); int area( ); void show( );void s:init(int a,int b)x=a;y=b;int s: area( )return x*y; void s: show( )cout<<"面积:"<<area( )<<endl;#include<iostream.h>class sprivate: int x,y;public:void init(int a,int b);int area();void show();void s:init(int a,int b)x=a;y=b;int s:area()return x*y;void s:show()cout<<"面积:"<<area()<<endl;int main()int a,b;cin>>a>>b;s x;x.init(a,b);x.show();return 0;任务5#include<iostream.h>class cubpublic:cub(int x,int y,int z)a=x;b=y;c=z;int Volume()int z;z=a*b*c;return z;void show()cout<<"立方体体积为:"<<Volume()<<endl;private:int a,b,c;int main()int a,b,c;cin>>a>>b>>c;cub x(a,b,c);x.show();return 0;运行结果:123立方体体积为:6Press any key to continue任务6#include<iostream.h>void main()char dig20;cout<<"1.求函数值"<<endl;cout<<"2.计算方程的根"<<endl;cout<<"3.画简单图形"<<endl;cout<<"0.退出"<<"endl"cout<<"请输入您的选择:"<<endl;cin>>dig;cout<<"您的选择是:"<<dig<<endl;1.求函数值2.计算方程的根3.画简单图形0.退出endl请输入您的选择:2您的选择是:2Press any key to continue实验2 C+文件组织与C+运算符的应用1.实验目的和要求(1)熟悉C+的多文件组织(1个C+程序,由多个文件构成);(2)掌握C+的常量与变量,掌握读入不同进位制常量,用dec、oct、hex等控制输出;各种算术、关系运算符的应用,可含数学函数;(3)熟悉类与类对象的定义、类成员的调用。2.实验内容任务1:C+多文件程序调试+多文件组织、类对象与类成员的使用。理解一个+程序可以由一个或多个文件构成,一个文件可以由一个或多个函数构成。下列程序是完成简单的函数调用,完成一些基本运算,程序的主要思想是掌握多文件系统的编译,此+程序由五个文件构成。(1)开始程序Microsoft Visual StudioMicrosoft Visual C+ 6.0新建文件C+Source File在文件对话框中输入文件名2-1-1,编辑2-1-1.cpp内容:int add(int x,int y)return x+y;(2)文件新建文件C/C+Header File在文件对话框中输入文件名2-1,编辑2-1.h内容:#include<iostream.h>#include"2-1-1.cpp"(3)文件新建文件C+Source File在文件对话框中输入文件名2-1,编辑2-1.cpp内容:#include"2-1.h"int main()int a,b;cin>>a>>b;int c=add(a,b);cout<<a<<'+'<<b<<'='<<c<<endl;(4)编译程序,有什么提示?请思考什么原因?error C2065: 'cin' : undeclared identifierwarning C4552: '>>' : operator has no effect; expected operator with side-effecterror C2065: 'add' : undeclared identifiererror C2065: 'cout' : undeclared identifiererror C2297: '<<' : illegal, right operand has type 'char 2'error C2065: 'endl' : undeclared identifierwarning C4508: 'main' : function should return a value; 'void' return type assumed因为没有调用相应的库文件(5)在文件2-1.cpp的第一行加入预处理命令,#include"2-1.h"(6)再次编译,思考一下程序为什么成功了?因为编译时自动调用了库函数任务2:多文件程序设计(1) 仿照任务1,其中主调函数的文件名为2-2.cpp,内容为:#include"2-2.h"int main()int a,b;cin>>a>>b;int c1=f1(a,b);cout<<a<<'+'<<b<<'='<<c1<<endl;int c2=f2(a,b);cout<<a<<'-'<<b<<'='<<c2<<endl;int c3=f3(a,b);cout<<a<<'*'<<b<<'='<<c3<<endl;int c4=f4(a,b);cout<<a<<'/'<<b<<'='<<c4<<endl;(2) 分别在文件2-2-1.cpp、2-2-2.cpp、2-2-3.cpp、2-2-4.cpp中编写函数f1、f2、f3、f4分别完成算术运算+、-、*、/的功能。int f1(int x,int y)return x+y;int f2(int x,int y)return x-y;int f3(int x,int y)return x*y;int f4(int x,int y)return x/y;(3)编辑头文件2-2.h#include<iostream.h>#include"2-2-1.cpp"#include"2-2-2.cpp"#include"2-2-3.cpp"#include"2-2-4.cpp"(4)编译并运行程序。5 65+6=115-6=-15*6=305/6=0Press any key to continue任务3:输入输出操纵符控制程序设计(1)编辑并调试下列程序,程序的文件名为2-2.cpp。#include<iostream.h>#include<iomanip.h>int main()int x,y;cin>>x>>y;cout<<"x="<<x<<" "<<"y="<<y<<endl;cout<<"x="<<oct<<x<<" "<<"y="<<hex<<y<<endl;cout<<"x="<<setw(3)<<x<<" "<<"y="<<y<<endl;(2)常用进位制操纵算子有dec、oct、hex,它们在程序中分别起什么作用?分别表示进制数,dec是十进制,oct是八进制,hex是十六进制。在上述oct的位置分别用dec、hex去代替,输出结果分别是什么?用dec代替:12 14x=12 y=14x=12 y=ex= c y=ePress any key to continue用hex代替:12 14x=12 y=14x=c y=ex= c y=ePress any key to continue(3)setw(5)起什么作用?设置宽度请多次改变其中的参数5,观察程序的运行结果有什么变化?12 14x=12 y=14x=14 y=ex=c y=ePress any key to continue12 14x=12 y=14x=14 y=ex= c y=ePress any key to continue(4)设计一个程序,输入20给x,输出结果为: x=20 x= 14 x= 20 x=24 注意:程序设计中不能对x作运算,只能使用dec、oct、hex、setw进行控制。#include<iostream.h>#include<iomanip.h>int main()int x;cin>>x;cout<<"x="<<x<<" "<<"x="<<setw(4)<<hex<<x<<endl;cout<<"x="<<setw(4)<<dec<<x<<" "<<"x="<<oct<<x<<endl;任务4:程序设计,运算符的应用阅读程序,写出下列程序的运算结果,设程序的文件名为2-4.cpp。#include<iostream.h>class dataprivate:int x,y;public:data(int a,int b)x=a;y=b;void gt()cout<<x<<'>'<<y<<'='<<(x<y)<<endl;void print()gt();int main()int a,b;cin>>a>>b;data A(a,b);A.print();return 0;请改写函数print,分别调用成员函数函数:lt( )、ge( )、eq( )、and( )、or( )分别用于关系运算(<、>=、=)、逻辑运算(&&、|)的操作,请在类中增加成员函数lt、ge、eq、and、or的定义,并在print函数中调用。#include<iostream.h>class dataprivate:int x,y;public:data(int a,int b)x=a;y=b;void gt()cout<<x<<'>'<<y<<'='<<(x>y)<<endl;void lt()cout<<x<<'<'<<y<<'='<<(x<y)<<endl;void ge()cout<<x<<'>='<<y<<'='<<(x>=y)<<endl;void eq()cout<<x<<'='<<y<<'='<<(x=y)<<endl;void and()cout<<x<<'&&'<<y<<'='<<(x&&y)<<endl;void or()cout<<x<<'|'<<y<<'='<<(x|y)<<endl;void print()gt();lt();ge();eq();and();or();int main()int a,b;cin>>a>>b;data A(a,b);A.print();return 0;任务5:程序设计重新设计任务4,把类及成员函数的实现存放在文件test4.h中,把main函数存放在test4.cpp中,编辑程序并编译运行。提示在文件test4.cpp中要有预处理命令#include” test4.h”(1) test4-1.cpp内容class dataprivate:int x,y;public:data(int a,int b)x=a;y=b;void gt()cout<<x<<'>'<<y<<'='<<(x>y)<<endl;void lt()cout<<x<<'<'<<y<<'='<<(x<y)<<endl;void ge()cout<<x<<'>='<<y<<'='<<(x>=y)<<endl;void eq()cout<<x<<'='<<y<<'='<<(x=y)<<endl;void and()cout<<x<<'&&'<<y<<'='<<(x&&y)<<endl;void or()cout<<x<<'|'<<y<<'='<<(x|y)<<endl;void print()gt();lt();ge();eq();and();or();(2)test4.h内容#include<iostream.h>#include"test4-1.cpp"(3)test4.cpp内容#include"test4.h"int main()int a,b;cin>>a>>b;data A(a,b);A.print();return 0;任务6:程序设计新建三个文件,其文件名分别为ex2-2.h、ex2-2-1.cpp、ex2-2-2.cpp,其中ex2-2-1.cpp文件定义一个main函数,定义一个类对象,从键盘输入数据,作为对象的参数。在ex2-2.h中定义类,在ex2-2-1.cpp中定义类中所有的成员函数。程序功能:(1)定义三角形类,可计算三角形周长与面积。(2)定义一个棱形类,输入棱形的两条对角线,类中可求得棱形的周长与面积。#include "ex2-2.h"void main()int a,b,c,e,f;cin>>a>>b>>c;data A(a,b,c,e,f);A.print1( );A.print2();cin>>e>>f;A.print3();A.print4();#include<iostream.h>#include<math.h> class dataprivate:int x,y,z,m,n;public:data(int a,int b,int c,int e,int f)x=a;y=b;z=c;m=e;n=f;double add();double area();double add1();double area1(); void print1()cout<<"三角形的周长为"<<add()<<endl; void print2()cout<<"三角形的面积为"<<area()<<endl; void print3()cout<<"菱形的周长为"<<add1()<<endl;void print4()cout<<"菱形的面积为"<<area1()<<endl;double data:add()return x+y+z;double data:area()double p,s;p=(x+y+z)/2;s=sqrt(p*(p-x)*(p-y)*(p-z);return s;double data:add1() double temp;temp=sqrt(m*m/4+n*n/4);return 4*temp;double data:area1()return m*n/2;实验3 C+循环程序设计1. 实验目的和要求(1) 了解各种循环语句的基本形式。(2) 理解并掌握循环语句的构成方法。(3) 理解for循环的三个表达式的含义及执行过程。(4) 理解并掌握while、dowhile、for的应用。(5) 理解break与continue语句的差异。2. 实验内容任务1:程序调试定义一个类,此类的功能是求n至m间的自然数的和。程序设计代码如下:#include<iostream.h> class Addn_mprivate:int n,m;public:Addn_m(int n1,int m2)n=n1;m=m2;int Add();void print()cout<<Add()<<endl;int Addn_m:Add()int sum=0,i;i=n;while(i<=m)sum=sum+i;i+; return sum;void main()int a,b;cin>>a>>b;Addn_m A(a,b);A.print();(1) 程序运行时,从键盘输入1100之间的两个数,并注意数的大小。请思考程序运行的结果。5050(2)在程序段中:while(i<=m)sum=sum+i;i+;去掉大括号,编译程序,思考程序的运行结果;程序进入死循环,无法正常运行。如果没有i+语句,程序会出现什么情况?程序无法执行(3)请思考当程序运行时,如输入10 2,程序结果如何?应如何修改程序才能得出正确结果;0;while(i>=m)sum=sum+i;i-;(4)请思考成员函数Add能否用访问控制符private来限定。能,在同一类中,public能访问private中的函数任务2:程序调试程序的功能是计算一个整数的阶乘。#include<iostream.h>class Factorialprivate:int n;public:Factorial(int a)n=a;int mult();void print()cout<<n<<"mult()"<<endl;int Factorial:mult()for(int i=1,s=1;i<=n;i+)s=s*i;return s;int main()int a;cin>>a;Factorial A(a);A.print();正确任务3:程序设计仿照任务2,定义一个求阶乘和的类,从键盘输入一个不大于10的整数n,求表达式的值sum=1!+2!+3!+n!.#include<iostream.h>class Factorialprivate:int n;public:Factorial(int a)n=a;int sum();void print()cout<<"sum"<<'='<<sum()<<endl;int Factorial:sum() int mult;for(int i=1,sum=0;i<=n;i+)mult=1;for(int j=1;j<=i;j+)mult=mult*j;sum=sum+mult;return sum; int main()int a;cin>>a;Factorial A(a);A.print();运行结果:6sum=873Press any key to continue任务4:编写计算近似公式:e=1-1/1!+1/2!-1/3!+1/4!-1/5!+.的程序,并使其误差小于0.00001.#include<iostream.h>void main() int flag=-1,i=1,s=1; double e=1; while(1.0/s>=0.00001) s=s*i;e=e+flag*1.0/s;flag=-flag;i+; cout<<"e="<<e<<endl;输出结果:e=0.Press any key to continue任务5:程序设计已知main函数定义:int main()int a,b;char ch;cin>>a>>b>>ch;graphics A(a,b,ch);A.print();如果程序在执行时输入:3 4 *程序执行的结果为:*请设计程序并调试。#include<iostream.h>class graphicsprivate:int x,y;char z;public:graphics(int a,int b,char c)x=a;y=b;z=c;void print()int i,j;for(i=1;i<=x;i+)for(j=1;j<=y;j+)cout<<z;cout<<endl;int main()int a,b;char ch;cin>>a>>b>>ch;graphics A(a,b,ch);A.print();程序运行结果:3 4 *Press any key to continue任务6:程序设计设计程序,在屏幕上输出如下图形。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *程序:#include<iostream.h>void main()int i,j;for(i=1;i<=7;i+)for(j=1;j<=i;j+)cout<<'*'cout<<endl;for(i=6;i>=1;i-)for(j=1;j<=i;j+)cout<<'*'cout<<endl;实验四 C+分支程序设计1. 实验目的和要求(1) 理解分支结构的各种表达形式。(2) 理解并掌握分支结构中条件的表示方法。(3) 理解并掌握多分支选择结构的实现方法。(4) 能应用选择结构解决实际问题。2. 实验内容任务1:程序设计输入a、b,循环计算下列算式;当a、b中有一个为0时,退出循环。若a>0,b>0;则计算a+b若a>0,b<0;则计算a2 +b2 若a<0,b>0;则计算a*e b若a<0,b<0;则计算a b编写程序实现以

    注意事项

    本文(c++上机实验报告.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开