C++实验指导书Word格式.docx
《C++实验指导书Word格式.docx》由会员分享,可在线阅读,更多相关《C++实验指导书Word格式.docx(36页珍藏版)》请在冰豆网上搜索。
单击“OK”按钮回到主窗口,在程序编辑窗口编辑源程序文件,如图1-3所示。
图1-3编辑源文件
选择“File→Save”命令或快捷键Ctrl+S保存源程序文件。
也可以选择“File→SaveAs”命令指定新的文件名和路径,这时输入和编辑的源程序就以example1.cpp为文件名存放在F:
\C++子目录下。
②运行只包含一个C++源程序的方法
若要运行当前的源文件或一个已有的源文件,首先需要对该源文件进行编译,只要选择“Build→Compileexample1.cpp”命令进行编译即可。
在选择编译命令后,屏幕上出现一个对话框,内容是“Thisbuildcommandrequiresanactiveprojectworkspace.Wouldyouliketocreateadefaultprojectworkspace?
”(此编译命令要求有一个有效的项目工作区。
你是否同意建立一个默认的项目工作区?
),如图1-4所示。
图1-4对话框提示信息
单击“是(Y)”按钮,表示同意由系统建立一个默认的项目工作区,然后开始编译。
在进行编译时,编译系统检查源程序文件有无语法错误,然后在主窗口下部的调试信息窗口输出编译的信息。
如果有错误,就会指出错误的位置和性质,如图1-5所示。
图1-5编译提示信息
如果存在致命错误(error)和警告性错误(warning),则需要修改并重新编译;
没有错误,则编译成功,生成一个example1.obj文件。
编译成功后,就可以对程序文件进行连接了。
选择主菜单中的“Build→Buildexample1.exe”命令,表示要求连接并建立一个可执行文件example1.exe。
运行该文件,在屏幕就可以看到输出结果。
2.建立一个多文件的程序,求最大值。
主函数放在一个文件中,Max函数放在另一个文件中。
如果一个程序中包含多个文件,则需要建立一个projectfile(项目文件),projectfile是放在Workspace(项目工作区)中,并在项目工作区的管理下工作的,因此,如果有多个项目文件存在时,还需要建立一个项目工作区。
在编译时,先分别对每个文件进行编译,然后将项目文件中的文件连接成一个整体,再与系统的有关资源进行连接,生成一个可执行文件,最后执行这个文件。
在实际操作时有两种方法:
一种是由用户建立项目工作区和项目文件;
另一种是用户只建立项目和文件,而不建立项目工作区,由系统自动建立项目工作区。
后一种方法比前一种方法操作更简单。
由用户建立项目工作区和项目文件的具体操作为:
(1)分别编辑好同一个程序的多个源程序文件,并存放在指定的目录下。
如一个程序包含两个源程序文件file1.cpp和file2.cpp,如图1-6、1-7所示,并已经把它们保存在F:
图1-6file1.cpp源文件
图1-7file2.cpp源文件
(2)建立一个项目工作区
建立一个项目工作区需要在MicrosoftVisualC++6.0的主窗口中选择“File→New”命令,然后单击此对话框上方的Workspace选项卡,在对话框右部Workspacename和Location中分别输入工作区名ws1和路径名F:
\C++\ws1,如图1-8所示。
图1-8选择File→New命令Workspace选项卡
单击“OK”按钮,返回主窗口。
此时在屏幕左部的工作区窗口中显示了“Workspace‘ws1’:
0project(s)”,说明当前的工作区名是ws1,其中没有放入项目文件,如图1-9所示。
图1-9新建工作区ws1
(3)建立项目文件
选择“File→New”命令,然后单击此对话框上方的Project选项卡,在对话框左部的列表中选择“Win32ConsoleApplication”项,在右部Projectname和Location中分别输入项目文件名Project和路径名F:
\C++\ws1\project1,并按需要选中是否加入当前工作区,还是创建一个新的工作区单选按钮(假设选择加入当前已有工作区),如图1-10所示。
图1-10选择File→New命令Project选项卡
单击“OK”按钮后,在弹出的对话框上选中“Anemptyproject”单选按钮,单击“Finish”按钮,则系统弹出一个工程信息对话框,单击“OK”按钮,出现图1-11所示对话框。
可以看到在屏幕左部的工作区窗口中显示了“Workspace‘ws1’:
1project(s)”,说明当前的工作区名是ws1,其中已经放入了项目文件project1。
图1-11新建的项目文件project1
项目文件建好后,选择将源程序文件加入到该项目文件中。
选择“Project→AddToProject→Files”命令,找到要加入的源程序文件file1.cpp和file2.cpp,把他们加入到项目文件project1中,其显示结果如图1-12所示。
此时可以对加入多个源程序文件的项目文件进行编译和连接了。
方法是:
单击主菜单中的“Build→BuildProject1.exe”命令,系统将对整个项目文件进行编译和连接,在窗口下部会显示编译和连接的信息。
如果程序有错,会显示出错信息,这时需要进行修改;
如果没错,则生成可执行文件Project1.exe。
选择主菜单中的“Build→ExecuteProjrct1.exe”命令就可以执行project1.exe。
图1-12加入file1.cpp和file2.cpp的project1
在程序运行时,根据要求输入所需的数据,回车后即得到程序的输出结果。
#include<
iostream>
usingnamespacestd;
intmain(void)
{
cout<
<
"
Hello!
\n"
;
WelcometoC++program!
return0;
}
实验2基本数据类型、运算符和表达式
一、实验目的
1.熟练掌握基本的数据类型、基本的算术运算符和表达式。
2.掌握键盘输入和屏幕输出方式。
3.能够运用基本的编程知识编写简单的程序。
1、三个简单的求值计算
分别输入圆柱体的半径和高,求体积;
输入球半径,求其表面积;
输入长方体的长、宽、高、求其体积。
iomanip>
#definePI3.1415926
doubleDRadius(0),DHigh(0),DBluk(0);
doubleDBallRadius(0),DSuperArea(0);
doubleDLength(0),DWith(0),DLongHigh(0),DLongBluk(0);
请输入圆柱体的半径和高==>
"
cin>
>
DRadius>
DHigh;
DBluk=PI*DRadius*DRadius*DHigh;
圆柱体的体积:
<
fixed<
setprecision
(2)<
DBluk<
endl;
请输入球的半径==>
DBallRadius;
DSuperArea=4*PI*DBallRadius*DBallRadius;
球的表面积为:
DSuperArea<
endl;
请输入长方体的长,宽,高==>
DLength>
DWith>
DLongHigh;
DLongBluk=DLength*DWith*DLongHigh;
长方体的体积为:
DLongBluk<
2、编写一个程序,完成以下内容:
(1)累计和显示整1~5的和。
inti,sum(0);
for(i=1;
i<
=5;
i++)
{
sum+=i;
}
1+2+3+4+5="
sum<
(2)计算1~5相加的平均值
inti,sum(0),ave(0);
ave=(float)sum/5;
ave:
ave<
3.设有变量定义如下:
inti=8,j=12;
doublex=3.14,y=90
希望得到如下的输出结果:
i=10j=c
x=6.28000y=90
请编程实现。
inti=8,j=12;
doublex=3.14,y=90;
i="
i+2<
j="
char(j+87)<
setprecision(5)<
x="
x<
setprecision(0)<
y="
y<
4.设有如下语句:
floatx=100,y=3.14;
chara=’\t’,b=’s’;
cout<
”xis”<
setw(10)<
x<
’\t’;
setfill(‘*’)<
setw(20)<
y<
a<
b<
则最终的输出结果是什么?
5、请编程提示并接收用户输入的三角形的三条边长,然后用三边面积公式计算三角形的面积,最后输出求的的面积值。
计算方法:
设a、b、c为三条边长,
cmath>
floata,b,c,ave;
floats(0);
while
(1)
cout<
请输入三角形的三边长(输入-1退出输入)==>
cin>
a>
b>
c;
if(a==-1)
break;
ave=(a+b+c)/2.0;
if((a+b>
c)&
&
(a+c>
b)&
(b+c>
a))
{
s=sqrt(ave*(ave-a)*(ave-b)*(ave-c));
cout<
三角形的面积为:
s<
}
else
你输入的三边不能构成三角形!
实验3选择和循环结构(*)
1、熟练掌握if语句、switch语句、while语句、dowhile语句和for语句。
2、掌握选择结构和循环结构程序设计。
1.求三个整数的最大值和最小值。
1)定义三个整形变量x1、x2、x3,并通过cin输入变量值
2)用if-else语句对三个整数进行比较,求出最大值和最小值
3)用cout显示计算结果
intmain()
intx1,x2,x3;
intmax,min;
pleaseinputthreenumbers:
x1>
x2>
x3;
if(x1>
x2&
x1>
x3)
max=x1;
elseif(x2>
max=x2;
else
max=x3;
if(x1<
x1<
min=x1;
elseif(x2<
x3)
min=x2;
min=x3;
max:
max<
min:
min<
\n\n"
system("
PAUSE"
);
2.下面程序统计字符数组c中0、1、2及其他字符出现的次数,分别存放在变量i0、i1、i2中,统计结束后输出它们的值。
要求:
分析出现结果的原因,如何修改使结果正确。
答:
字符数组最后一个应该为’\0’;
所以i应该小于20;
然后i在加1;
然后每个case完之后应该break;
源代码:
charc[]="
0123456789001112222"
inti0=0,i1=0,i2=0,i3=0;
for(inti=0;
20;
switch(c[i])
case'
0'
:
i0++;
break;
1'
i1++;
2'
i2++;
default:
i3++;
i0="
i0<
i1="
i1<
i2="
i2<
i3="
i3<
3.增加实验3的功能,判断用户输入的正整数n是否为素数,直到用户输入1为止。
4)用while循环读入正整数n
5)对于每个正整数n,采用for循环判断是否为素数。
6)打印输出判断结果
inti,num,flag=0;
请输入一个正整数==>
num;
while(num!
=0)
for(i=2;
if((num%i)==0)
{
flag=1;
break;
}
else
flag=0;
if(flag==1)
cout<
num<
不是素数"
是素数"
4.编写一个程序实现两个数之间简单的四则运算。
在程序中,提示用户按表达式顺序输入操作数与运算符。
floatadd(floatx,floaty)
returnx+y;
floatsub(floatx,floaty)
returnx-y;
floatmul(floatx,floaty)
returnx*y;
Floatdiv1(floatx,floaty)
returnx/y;
floata,b;
charopt;
请输入两个整数及操作符==>
opt>
b;
switch(opt)
case'
+'
a<
+"
b<
="
add(a,b)<
break;
-'
-"
sub(a,b)<
*'
*"
mul(a,b)<
/'
If(b==0)
Cout<
"0不能作为被除数!
\n";
Break;
cout<
/"
div1(a,b)<
default:
输入错误!
重新输入!
5.增加实验5的功能,是程序运行时,能一次完成多个运算,直至用户输入字符“N”(在程序中,提示用户输入“Y”或“N”以决定是否继续进行四则运算)。
floatdiv1(floatx,floaty)
charyorn;
do
请输入两个整数及操作符(如:
3+4=)==>
switch(opt)
case'
if(b==0)
{
printf("
0不能作为被除数!
break;
}
default:
\n是否再次进行四则运算?
(Y/N):
cin.ignore
(1);
yorn;
}while(yorn=='
Y'
||yorn=='
y'
6.编一程序,输出以下图形:
*******
*****
***
*
***
*****