c++上机实验报告Word文档格式.docx
《c++上机实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《c++上机实验报告Word文档格式.docx(91页珍藏版)》请在冰豆网上搜索。
![c++上机实验报告Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/23/1c0f12ee-9990-4db2-b8c5-8fc17e7d25ae/1c0f12ee-9990-4db2-b8c5-8fc17e7d25ae1.gif)
'
age'
:
undeclaredidentifier
思考2:
1)C++中的注解有哪些?
C++注解形式有两种:
单行注解()以及多行注解(*….*)
2)应用输入输出流应包含什么库?
输入输出流库iostream.()写成intMain(),编译程序有什么提示?
请回答在C++程序设计对大小写有什么要求?
errorC4716:
Main'
mustreturnavalueC++程序设计中,必须要区分大小写
(3)如果把语句cout<
如改写为:
cout<
2008编译程序有什么提示?
请回答在C++程序设计对语句结束有什么要求?
errorC2146:
语句结束时,必须用“;
”结尾
(4)程序中的变量定义:
intage;
intage_1;
编译程序有什么提示?
undeclaredidentifier
如改写为:
int1_age;
intfor;
关于变量的取名你能总结出什么经验?
errorC2059:
badsuffixonnumber'
warningC4091:
ignoredonleftof'
int'
whennovariableisdeclared
errorC2143:
before'
constant'
_age'
在变量取名时应注意确定变量的类型,同时变量名不能是类似于1_age的形式
任务3:
程序设计
charname[20],name1[30];
intage;
请输入您的学院名"
cin>
请输入您的姓名"
name1;
请输入您的年龄"
欢迎来自"
学院的"
name1<
同学,您的年龄是"
岁"
请输入您的学院名
zhejiangdaxuechengshixueyuan
请输入您的姓名
x*y;
voidshow()
{
面积:
area()<
}
};
intmain()
inta,b;
a>
b;
sx(a,b);
x.show();
编译运行程序后写出程序的运行结果并回答下列问题:
(a)省略预处理行#include<
iostream.void
(c)函数init、area、show功能分别是什么?
输入变量值计算输出结果
(d)在类中,如果private、public不写,会出现什么样的错误提示?
为什么?
不写private不会出现错误。
不写public会出现的错误:
errorC2248:
s:
:
s'
cannotaccessprivatememberdeclaredinclass'
D:
\1.cpp(7):
seedeclarationof'
show'
\1.cpp(9):
原因:
若程序未设置访问权限则默认为私有的(private)。
(e)重写程序,把成员函数定义在类的外部,提示:
请参照下列类定义。
classs
private:
intx,y;
public:
voidinit(inta,intb);
intarea();
voidshow();
voids:
init(inta,intb)
x=a;
y=b;
ints:
area()
returnx*y;
show()
面积:
area()<
iostream.x*y;
show()
sx;
x.init(a,b);
任务5
iostream.z;
立方体体积为:
Volume()<
private:
inta,b,c;
inta,b,c;
b>
c;
cubx(a,b,c);
运行结果:
1
2
3
6
Pressanykeytocontinue
任务6
chardig[20];
1.求函数值"
2.计算方程的根"
3.画简单图形"
0.退出"
endl"
请输入您的选择:
dig;
您的选择是:
dig<
1.求函数值
2.计算方程的根
3.画简单图形
0.退出endl请输入您的选择:
实验2C++文件组织与C++运算符的应用
(1)熟悉C++的多文件组织(1个C++程序,由多个文件构成);
(2)掌握C++的常量与变量,掌握①读入不同进位制常量,用dec、oct、x+y;
(2)文件→新建→文件→CC++HeaderFile→在文件对话框中输入文件名2-1,编辑2-1.()
intc=add(a,b);
a<
+'
b<
='
c<
(4)编译程序,有什么提示?
请思考什么原因?
cin'
warningC4552:
operatorshouldreturnavalue;
void'
returntypeassumed
因为没有调用相应的库文件
(5)在文件2-1.cpp的第一行加入预处理命令,
#include"
2-1.()
intc1=f1(a,b);
c1<
intc2=f2(a,b);
-'
c2<
intc3=f3(a,b);
*'
c3<
intc4=f4(a,b);
c4<
(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)
intf4(intx,inty)
returnxy;
(3)编辑头文件2-2.()
intx,y;
x>
y;
x="
x<
"
y="
y<
oct<
()
intx;
x;
setw(4)<
dataA(a,b);
A.print();
请改写函数print,分别调用成员函数函数:
lt()、ge()、eq()、and()、or()分别用于关系运算(<
、>
=、==)、逻辑运算(&
&
、||)的操作,请在类中增加成员函数lt、ge、eq、and、or的定义,并在print函数中调用。
任务5:
重新设计任务4,把类及成员函数的实现存放在文件test4.()
任务6:
新建三个文件,其文件名分别为ex2-2.()
inta,b,c,e,f;
dataA(a,b,c,e,f);
A.print1();
A.print2();
e>
f;
A.print3();
A.print4();
iostream.;
public:
data(inta,intb,intc,inte,intf){x=a;
z=c;
m=e;
n=f;
doubleadd();
doublearea();
doubleadd1();
doublearea1();
voidprint1(){
三角形的周长为"
add()<
voidprint2(){
三角形的面积为"
voidprint3(){
菱形的周长为"
add1()<
voidprint4(){
菱形的面积为"
area1()<
doubledata:
add()
returnx+y+z;
area()
doublep,s;
p=(x+y+z)2;
s=sqrt(p*(p-x)*(p-y)*(p-z));
returns;
add1()
doubletemp;
temp=sqrt(m*m4+n*n4);
return4*temp;
area1()
returnm*n2;
实验3C++循环程序设计
(1)了解各种循环语句的基本形式。
(2)理解并掌握循环语句的构成方法。
(3)理解for循环的三个表达式的含义及执行过程。
(4)理解并掌握while、do~while、for的应用。
(5)理解break与continue语句的差异。
定义一个类,此类的功能是求n至m间的自然数的和。
程序设计代码如下:
iostream._m
intn,m;
Addn_m(intn1,intm2)
n=n1;
m=m2;
intAdd();
voidprint()
cout<
Add()<
intAddn_m:
Add()
intsum=0,i;
i=n;
while(i<
=m)
sum=sum+i;
i++;
returnsum;
voidmain()
Addn_mA(a,b);
(1)程序运行时,从键盘输入1~100之间的两个数,并注意数的大小。
请思考程序运行的结果。
5050
(2)在程序段中:
while(i<
去掉大括号,编译程序,思考程序的运行结果;
程序进入死循环,无法正常运行。
如果没有i++语句,程序会出现什么情况?
程序无法执行
(3)请思考当程序运行时,如输入102,程序结果如何?
应如何修改程序才能得出正确结果;
0;
while(i>
i--;
(4)请思考成员函数Add能否用访问控制符private来限定。
能,在同一类中,public能访问private中的函数
任务2:
程序的功能是计算一个整数的阶乘。
Factorial(inta){n=a;
intmult();
n<
mult()"
intFactorial:
mult()
for(inti=1,s=1;
i<
=n;
i++)
s=s*i;
inta;
a;
FactorialA(a);
正确
仿照任务2,定义一个求阶乘和的类,从键盘输入一个不大于10的整数n,求表达式的值sum=1!
+2!
+3!
+……+n!
.
intsum();
sum"
sum()<
sum()
intmult;
for(inti=1,sum=0;
i++){
mult=1;
for(intj=1;
j<
=i;
j++){
mult=mult*j;
}
sum=sum+mult;
inta;
FactorialA(a);
A.print();
sum=873
任务4:
编写计算近似公式:
e=1-11!
+12!
-13!
+14!
-15!
+……..的程序,并使其误差小于0.00001.
intflag=-1,i=1,s=1;
doublee=1;
while(1.0s>
=0.00001)
s=s*i;
e=e+flag*1.0s;
flag=-flag;
i++;
e="
e<
输出结果:
e=0.367879
已知main函数定义:
charch;
ch;
graphicsA(a,b,ch);
如果程序在执行时输入:
34*
程序执行的结果为:
****
请设计程序并调试。
程序运行结果:
设计程序,在屏幕上输出如下图形。
*
**
***
****
*****
******
*******
程序:
{inti,j;
for(i=1;
=7;
for(j=1;
cout<
}
for(i=6;
i>
=1;
i--)
{
for(j=1;
j++)
实验四C++分支程序设计
(1)理解分支结构的各种表达形式。
(2)理解并掌握分支结构中条件的表示方法。
(3)理解并掌握多分支选择结构的实现方法。
(4)能应用选择结构解决实际问题。
输入a、b,循环计算下列算式;
当a、b中有一个为0时,退出循环。
若a>
0,b>
0;
则计算√a+√b
0,b<
则计算a2+b2
若a<
则计算a*eb
则计算ab
编写程序实现以上功能。
4-1.cpp程序:
4-1.()
a>
0,计算a平方根与b平方根的和"
0,计算a平方与b平方的和"
a<
0,计算a*e的b次方"
0,计算a的b次方的值"
doublea,b;
请输入两个数,输入有一个为0时结束"
dataA;
while(a!
=0&
b!
=0)
A.init(a,b);
4-1.sqrt(x)+sqrt(y);
if(x>
0&
0)
returnx*x+y*y;
if(x<
y>
returnx*exp(y);
returnx-y;
计算结果:
judge()<
0,计算a平方根与b平方根的和
0,计算a平方与b平方的和
0,计算a*e的b次方
0,计算a的b次方的值
请输入两个数,输入有一个为0时结束
12
2.41421
1-1
-11
-2.71828
-1-1
从键盘输入一个数。
如果该数大于0,则求该数的平方根,否则输出“该数小于0”。
doublex,y;
请输入一个数:
while(fabs(x)>
1e-6)
y=sqrt(x);
平方根是"
else
该数小于0"
return0;
3平方根是1.73205
省略下列程序段中的大括号,程序不能运行。
if(x>
errorC2181:
illegalelsewithoutmatchingif
输入一行字符,分别统计出这行字符的英文字母、空格、数字和其他字符的个数。
intLetters=0,Digital=0,Space=0,Other=0;
charch;
while((ch=getchar())!
\n'
if(ch>
A'
ch<
Z'
||ch>
a'
z'
Letters++;
elseif(ch>
0'
9'
Digital++;