c++上机实验报告.docx

上传人:b****5 文档编号:28340982 上传时间:2023-07-10 格式:DOCX 页数:107 大小:40.84KB
下载 相关 举报
c++上机实验报告.docx_第1页
第1页 / 共107页
c++上机实验报告.docx_第2页
第2页 / 共107页
c++上机实验报告.docx_第3页
第3页 / 共107页
c++上机实验报告.docx_第4页
第4页 / 共107页
c++上机实验报告.docx_第5页
第5页 / 共107页
点击查看更多>>
下载资源
资源描述

c++上机实验报告.docx

《c++上机实验报告.docx》由会员分享,可在线阅读,更多相关《c++上机实验报告.docx(107页珍藏版)》请在冰豆网上搜索。

c++上机实验报告.docx

c++上机实验报告

(此文档为word格式,下载后您可任意编辑修改!

实验1熟悉上机环境及C++基础实验

1.实验目的和要求

(1)熟悉上机环境,了解VisualC++6.0集成开发环境、掌握源程序编辑、程序调试、查看变量、程序运行;

(2)熟悉C++的程序结构,掌握main函数、保留字、变量及变量定义、输入与输出流等概念;

(3)熟悉类与类对象的定义、类成员的调用。

2.实验内容

任务1:

程序调试

#include

{

cout<<"您好!

浙江大学欢迎您,愿您喜欢C++的输入输出。

";

cout<<2008;

cout<<"\n";

cout<<20.1;

cout<

cout<<"Iam"<<"yearsoldstudent.";

charname[30];

intage;

cout<<"pleasegiveyourname:

";

cin>>name;

cout<<"pleasetellme>>age;

cout<<"Yournameis"<

cout<<"youare"<

return0;

}

思考1:

1)在程序中任何一行少一个“;”符号,有什么提示?

errorC2146:

syntaxerror:

missing';'beforeidentifier'cout'

2)删除intage;这一行,编译后有什么错误提示。

errorC2065:

'age':

undeclaredidentifier

思考2:

1)C++中的注解有哪些?

C++注解形式有两种:

单行注解()以及多行注解(*….*)

2)应用输入输出流应包含什么库?

输入输出流库iostream.()写成intMain(),编译程序有什么提示?

请回答在C++程序设计对大小写有什么要求?

errorC4716:

'Main':

mustreturnavalueC++程序设计中,必须要区分大小写

(3)如果把语句cout<<2008;如改写为:

cout<<2008编译程序有什么提示?

请回答在C++程序设计对语句结束有什么要求?

errorC2146:

syntaxerror:

missing';'beforeidentifier'cout'语句结束时,必须用“;”结尾

(4)程序中的变量定义:

intage;如改写为:

intage_1;编译程序有什么提示?

errorC2065:

'age':

undeclaredidentifier

如改写为:

int1_age;编译程序有什么提示?

如改写为:

intfor;编译程序有什么提示?

关于变量的取名你能总结出什么经验?

errorC2059:

syntaxerror:

'badsuffixonnumber'

warningC4091:

'':

ignoredonleftof'int'whennovariableisdeclared

errorC2143:

syntaxerror:

missing';'before'constant'

errorC2146:

syntaxerror:

missing';'beforeidentifier'_age'

errorC2065:

'_age':

undeclaredidentifier

errorC2065:

'age':

undeclaredidentifier

在变量取名时应注意确定变量的类型,同时变量名不能是类似于1_age的形式

任务3:

程序设计

#include

{

charname[20],name1[30];

intage;

cout<<"请输入您的学院名"<

cin>>name;

cout<<"请输入您的姓名"<

cin>>name1;

cout<<"请输入您的年龄"<

cin>>age;

cout<<"欢迎来自"<

}

请输入您的学院名

zhejiangdaxuechengshixueyuan

请输入您的姓名

x*y;}

voidshow()

{

cout<<"面积:

"<

}

};

intmain()

{

inta,b;

cin>>a>>b;

sx(a,b);

x.show();

return0;

}

编译运行程序后写出程序的运行结果并回答下列问题:

(a)省略预处理行#include

(c)函数init、area、show功能分别是什么?

输入变量值计算输出结果

(d)在类中,如果private、public不写,会出现什么样的错误提示?

为什么?

不写private不会出现错误。

不写public会出现的错误:

errorC2248:

's:

:

s':

cannotaccessprivatememberdeclaredinclass's'

D:

\1.cpp(7):

seedeclarationof's:

:

s'

errorC2248:

'show':

cannotaccessprivatememberdeclaredinclass's'

D:

\1.cpp(9):

seedeclarationof'show'

原因:

若程序未设置访问权限则默认为私有的(private)。

(e)重写程序,把成员函数定义在类的外部,提示:

请参照下列类定义。

classs

{

private:

intx,y;

public:

voidinit(inta,intb);

intarea();

voidshow();

};

voids:

:

init(inta,intb)

{

x=a;

y=b;

}

ints:

:

area()

{

returnx*y;

}

voids:

:

show()

{

cout<<"面积:

"<

}

#include

}

voids:

:

show()

{

cout<<"面积:

"<

}

intmain()

{

inta,b;

cin>>a>>b;

sx;

x.init(a,b);

x.show();

return0;

}

任务5

#include

}

voidshow()

{

cout<<"立方体体积为:

"<

}

private:

inta,b,c;

};

intmain()

{

inta,b,c;

cin>>a>>b>>c;

cubx(a,b,c);

x.show();

return0;

}

运行结果:

1

2

3

立方体体积为:

6

Pressanykeytocontinue

任务6

#include

{

chardig[20];

cout<<"1.求函数值"<

cout<<"2.计算方程的根"<

cout<<"3.画简单图形"<

cout<<"0.退出"<<"endl";

cout<<"请输入您的选择:

"<

cin>>dig;

cout<<"您的选择是:

"<

}

1.求函数值

2.计算方程的根

3.画简单图形

0.退出endl请输入您的选择:

2

您的选择是:

2

Pressanykeytocontinue

实验2C++文件组织与C++运算符的应用

1.实验目的和要求

(1)熟悉C++的多文件组织(1个C++程序,由多个文件构成);

(2)掌握C++的常量与变量,掌握①读入不同进位制常量,用dec、oct、x+y;

}

(2)文件→新建→文件→CC++HeaderFile→在文件对话框中输入文件名2-1,编辑2-1.()

{

inta,b;

cin>>a>>b;

intc=add(a,b);

cout<

}

(4)编译程序,有什么提示?

请思考什么原因?

errorC2065:

'cin':

undeclaredidentifier

warningC4552:

'>>':

operatorshouldreturnavalue;'void'returntypeassumed

因为没有调用相应的库文件

(5)在文件2-1.cpp的第一行加入预处理命令,

#include"2-1.()

{

inta,b;

cin>>a>>b;

intc1=f1(a,b);

cout<

intc2=f2(a,b);

cout<

intc3=f3(a,b);

cout<

intc4=f4(a,b);

cout<

}

(2)分别在文件2-2-1.cpp、2-2-2.cpp、2-2-3.cpp、2-2-4.cpp中编写函数f1、f2、f3、f4分别完成算术运算+、-、*、的功能。

intf1(intx,inty)

{

returnx+y;

}

intf2(intx,inty)

{

returnx-y;

}

intf3(intx,inty)

{

returnx*y;

}

intf4(intx,inty)

{

returnxy;

}

(3)编辑头文件2-2.()

{

intx,y;

cin>>x>>y;

cout<<"x="<

cout<<"x="<

{

intx;

cin>>x;

cout<<"x="<

{

inta,b;

cin>>a>>b;

dataA(a,b);

A.print();

return0;

}

请改写函数print,分别调用成员函数函数:

lt()、ge()、eq()、and()、or()分别用于关系运算(<、>=、==)、逻辑运算(&&、||)的操作,请在类中增加成员函数lt、ge、eq、and、or的定义,并在print函数中调用。

#include

{

inta,b;

cin>>a>>b;

dataA(a,b);

A.print();

return0;

}

任务5:

程序设计

重新设计任务4,把类及成员函数的实现存放在文件test4.()

{

inta,b;

cin>>a>>b;

dataA(a,b);

A.print();

return0;

}

任务6:

程序设计

新建三个文件,其文件名分别为ex2-2.()

{

inta,b,c,e,f;

cin>>a>>b>>c;

dataA(a,b,c,e,f);

A.print1();

A.print2();

cin>>e>>f;

A.print3();

A.print4();

}

#include

public:

data(inta,intb,intc,inte,intf){x=a;y=b;z=c;m=e;n=f;}

doubleadd();

doublearea();

doubleadd1();

doublearea1();

voidprint1(){

cout<<"三角形的周长为"<

}

voidprint2(){

cout<<"三角形的面积为"<

}

voidprint3(){

cout<<"菱形的周长为"<

}

voidprint4(){

cout<<"菱形的面积为"<

}

};

doubledata:

:

add()

{

returnx+y+z;

}

doubledata:

:

area()

{

doublep,s;

p=(x+y+z)2;

s=sqrt(p*(p-x)*(p-y)*(p-z));

returns;

}

doubledata:

:

add1()

{

doubletemp;

temp=sqrt(m*m4+n*n4);

return4*temp;

}

doubledata:

:

area1()

{

returnm*n2;

}

实验3C++循环程序设计

1.实验目的和要求

(1)了解各种循环语句的基本形式。

(2)理解并掌握循环语句的构成方法。

(3)理解for循环的三个表达式的含义及执行过程。

(4)理解并掌握while、do~while、for的应用。

(5)理解break与continue语句的差异。

2.实验内容

任务1:

程序调试

定义一个类,此类的功能是求n至m间的自然数的和。

程序设计代码如下:

#include

{

private:

intn,m;

public:

Addn_m(intn1,intm2)

{

n=n1;m=m2;

}

intAdd();

voidprint()

{

cout<

}

};

intAddn_m:

:

Add()

{

intsum=0,i;

i=n;

while(i<=m)

{

sum=sum+i;

i++;

}

returnsum;

}

voidmain()

{

inta,b;

cin>>a>>b;

Addn_mA(a,b);

A.print();

}

(1)程序运行时,从键盘输入1~100之间的两个数,并注意数的大小。

请思考程序运行的结果。

5050

(2)在程序段中:

while(i<=m)

{

sum=sum+i;

i++;

}

去掉大括号,编译程序,思考程序的运行结果;

程序进入死循环,无法正常运行。

如果没有i++语句,程序会出现什么情况?

程序无法执行

(3)请思考当程序运行时,如输入102,程序结果如何?

应如何修改程序才能得出正确结果;

0;

while(i>=m)

{

sum=sum+i;

i--;

}

(4)请思考成员函数Add能否用访问控制符private来限定。

能,在同一类中,public能访问private中的函数

任务2:

程序调试

程序的功能是计算一个整数的阶乘。

#include

public:

Factorial(inta){n=a;}

intmult();

voidprint()

{

cout<

}

};

intFactorial:

:

mult()

{

for(inti=1,s=1;i<=n;i++)

s=s*i;

returns;

}

intmain()

{

inta;

cin>>a;

FactorialA(a);

A.print();

}

正确

任务3:

程序设计

仿照任务2,定义一个求阶乘和的类,从键盘输入一个不大于10的整数n,求表达式的值sum=1!

+2!

+3!

+……+n!

.

#include

public:

Factorial(inta){n=a;}

intsum();

voidprint()

{

cout<<"sum"<<'='<

}

};

intFactorial:

:

sum()

{

intmult;

for(inti=1,sum=0;i<=n;i++){

mult=1;

for(intj=1;j<=i;j++){

mult=mult*j;

}

sum=sum+mult;

}

returnsum;

}

intmain()

{

inta;

cin>>a;

FactorialA(a);

A.print();

}

运行结果:

6

sum=873

Pressanykeytocontinue

任务4:

编写计算近似公式:

e=1-11!

+12!

-13!

+14!

-15!

+……..的程序,并使其误差小于0.00001.

#include

{

intflag=-1,i=1,s=1;

doublee=1;

while(1.0s>=0.00001)

{

s=s*i;

e=e+flag*1.0s;

flag=-flag;

i++;

}

cout<<"e="<

}

输出结果:

e=0.367879

Pressanykeytocontinue

任务5:

程序设计

已知main函数定义:

intmain()

{

inta,b;

charch;

cin>>a>>b>>ch;

graphicsA(a,b,ch);

A.print();

}

如果程序在执行时输入:

34*

程序执行的结果为:

****

****

****

请设计程序并调试。

#include

{

inta,b;

charch;

cin>>a>>b>>ch;

graphicsA(a,b,ch);

A.print();

}

程序运行结果:

34*

****

****

****

Pressanykeytocontinue

任务6:

程序设计

设计程序,在屏幕上输出如下图形。

*

**

***

****

*****

******

*******

******

*****

****

***

**

*

程序:

#include

{inti,j;

for(i=1;i<=7;i++){

for(j=1;j<=i;j++){

cout<<'*';

}

cout<

}

for(i=6;i>=1;i--)

{

for(j=1;j<=i;j++)

{

cout<<'*';

}

cout<

}

};

实验四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*eb

若a<0,b<0;则计算ab

编写程序实现以上功能。

4-1.cpp程序:

#include"4-1.()

{

cout<<"a>0,b>0,计算a平方根与b平方根的和"<

cout<<"a>0,b<0,计算a平方与b平方的和"<

cout<<"a<0,b>0,计算a*e的b次方"<

cout<<"a<0,b<0,计算a的b次方的值"<

doublea,b;

cout<<"请输入两个数,输入有一个为0时结束"<

cin>>a>>b;

dataA;

while(a!

=0&&b!

=0)

{

A.init(a,b);

A.print();

cin>>a>>b;

}

return0;

}

4-1.sqrt(x)+sqrt(y);

if(x>0&&y<0)

returnx*x+y*y;

if(x<0&&y>0)

returnx*exp(y);

if(x<0&&y<0)

returnx-y;

}

voidprint()

{

cout<<"计算结果:

"<

}

};

a>0,b>0,计算a平方根与b平方根的和

a>0,b<0,计算a平方与b平方的和

a<0,b>0,计算a*e的b次方

a<0,b<0,计算a的b次方的值

请输入两个数,输入有一个为0时结束

运行结果:

12

计算结果:

2.41421

1-1

计算结果:

2

-11

计算结果:

-2.71828

-1-1

计算结果:

0

任务2:

程序调试

从键盘输入一个数。

如果该数大于0,则求该数的平方根,否则输出“该数小于0”。

#include

{

doublex,y;

cout<<"请输入一个数:

"<

cin>>x;

while(fabs(x)>1e-6)

{

if(x>0)

{

y=sqrt(x);

cout<

}

else

cout<<"该数小于0"<

cin>>x;

}

return0;

}

运行结果:

请输入一个数:

3

3平方根是1.73205

省略下列程序段中的大括号,程序不能运行。

if(x>0)

{

y=sqrt(x);

cout<

}

errorC2181:

illegalelsewithoutmatchingif

任务3:

程序设计

输入一行字符,分别统计出这行字符的英文字母、空格、数字和其他字符的个数。

#include

{

intLetters=0,Digital=0,Space=0,Other=0;

charch;

while((ch=getchar())!

='\n')

if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')

Letters++;

elseif(ch>='0'&&ch<='9')

Digital++;

else

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1