c++程序设计.docx

上传人:b****3 文档编号:24816214 上传时间:2023-06-01 格式:DOCX 页数:20 大小:353.31KB
下载 相关 举报
c++程序设计.docx_第1页
第1页 / 共20页
c++程序设计.docx_第2页
第2页 / 共20页
c++程序设计.docx_第3页
第3页 / 共20页
c++程序设计.docx_第4页
第4页 / 共20页
c++程序设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

c++程序设计.docx

《c++程序设计.docx》由会员分享,可在线阅读,更多相关《c++程序设计.docx(20页珍藏版)》请在冰豆网上搜索。

c++程序设计.docx

c++程序设计

西安交通大学实验报告

课程计算机程序设计实验名称标准库和输入输出流第1页共页

系别材料科学与工程实验日期2014年12月18日

专业班级组别实验报告日期2014年12月22日

姓名学号报告退发(订正、重做)

同组人_________________________________教师审批签字

一.实验目的

(1)掌握C++语言输入和输出操作的方法;

(2)掌握C++的流和流类库的使用方法。

二.实验内容

(-)实验题目一:

按下列各式输出圆周率的值。

3

3.1

3.14

3.141

3.1415

3.14159

3.141592

3.1415926

1.程序源代码

#include

#include

#include

usingnamespacestd;

intmain()

{doublepi=3.141592653;

intplaces;

cout<

:

fixed)

<<"调用成员函数方法设置精度:

"<

for(places=0;places<=9;places++)

{cout.precision(places);

cout<

}

cout<<"使用流操作符方法设置精度:

\n";

for(places=0;places<=9;places++)

cout<

return0;

}

3.实验结果

(二)实验题目二:

读取一个C++源程序文件(少于1000行),在每一行前边添加行号后在屏幕上输出。

要求行号占四个字符位置,源程序除了右移4个字符外其他不变。

1.程序源代码

#include

#include

usingnamespacestd;

intmain()

{ifstreamin("nn.cpp");//”nn.cpp”为本程序的源文件

if(!

in)

{

cout<<"Cannotopenthefile.\n";

return1;

}

chara[100];

for(inti=1;i<=1000;i++)

{

in.getline(a,100);

if(a[0]!

='\0')

{

cout<<""<

cout<<"\r"<

}

}

in.close();

return0;

}

2.实验结果

(三)实验题目三:

一个文本文件有多行信息,编写程序读取其内容,统计最长的一行信息和最短的一行信息各有多少个字符。

1.程序源代码

#include

#include

usingnamespacestd;

intmain()

{

ifstreamin("d:

\\vvvvv.txt");

if(!

in)

{

cout<<"Cannotopenthefile.\n";

return1;

}

chara[100];

intmax=0,min=100,minl=100,maxl=0;

for(inti=1;i<=1000;i++)

{

in.getline(a,100);

if(a[0]!

='\0')

{

intj=0;

cout<<"";

while(a[j]!

='\0')

{

cout<

j++;

}

if(j>max)

{

max=j;

maxl=i;

}

if(j

{

min=j;

minl=i;

}

cout<<"\r"<

}

}

in.close();

cout<<"第"<

cout<<"第"<

return0;

}

3.实验结果

(四)实验题目四:

实验题目四:

已知一个文件内容是某公司雇员的信息,每行的内容依次是编号,姓名,籍贯,年龄:

001011刘强上海19

001012王刚山西28

001013李红四川25

……

编写程序,首先将文件中小于22岁的人依次在屏幕上显示,并计算这些人的平均年龄然后输出(四舍五入)。

然后再将文件中的上海人依次显示在屏幕上,统计他们的人数后输出。

1.程序源代码

#include

#include

#include

#include

#include

usingnamespacestd;

intmain()

{

ifstreamin("d:

\\vpvpv.txt");

if(!

in)

{

cout<<"failtoopenthefile!

"<

return1;

}

charbiaohao[10];

charname[20];

charjiguan[5];

intage;

intj=0,i=0;

doubleaver_age=0;

cout<<"年龄在22岁以下的有:

"<

while(in)

{

in>>biaohao>>name>>jiguan>>age;

if(in)

{

if(age<22)

{

j++;

aver_age=aver_age+age;

cout<

}

}

}

aver_age=aver_age/j;

cout<<"这"<

:

fixed)<

ifstreamin1("d:

\\vpvpv.txt");

if(!

in1)

{

cout<<"failtoopenthefile!

"<

return1;

}

while(in1)

{

in1>>biaohao>>name>>jiguan>>age;

if(in1)

{

if(strcmp(jiguan,"上海")==0)

{

i++;

cout<

}

}

}

cout<<"这"<

in.close();

in1.close();

return0;

}

2.实验结果

(五)实验题目五:

已知一个C++原程序文件,该文件包括很多注释,这些注释都有“//”引导。

编写程序,去掉注释后写入新文件out.cpp,同事将文件的内容在屏幕上输出。

1.程序源代码

#include

#include

usingnamespacestd;

intmain()

{

ifstreamin("d:

\\pp.cpp");

ofstreamout;

out.open("d:

\\out.cpp");

if(!

out)

{

cout<<"Cannotopengradefile.\n";

return1;

}

if(!

in)

{

cout<<"Cannotopengradefile.\n";

return1;

}

charch[100];

while(in)

{

for(inti=1;i<160;i++)

{

intj=0;

in.getline(ch,100);

if(ch[0]=='\0')

break;

while(ch[j]!

='/'&&ch[j+1]!

='/'&&ch[j]!

='\0')

{

out<

cout<

j++;

}

out<

cout<

}

}

in.close();

out.close();

return0;

}

2.实验结果

(六)实验题目六:

一个文本文件由英文字母组成,读取该文件,将文件中的字符串“abc”换为“xyz”后写入新文件out.txt中,同事将新文件的内容在屏幕上输出。

1.程序源代码

#include

#include

usingnamespacestd;

intmain()

{

ifstreamin("d:

\\aaass.txt");

ofstreamout;

out.open("d:

\\out.txt");

if(!

out)

{

cout<<"Cannotopengradefile.\n";

return1;

}

if(!

in)

{

cout<<"Cannotopengradefile.\n";

return1;

}

charch[100],sr[100];

while(in)

{

for(inti=1;i<160;i++)

{

intj=0;

in.getline(ch,100);

while(ch[j]!

='\0')

{

if(ch[j]=='a'&&ch[j+1]=='b'&&ch[j+2]=='c')

{

ch[j]='x';ch[j+1]='y';ch[j+2]='z';

}

out<

cout<

j++;

}

out<

cout<

}

}

in.close();

out.close();

return0;

}

2.实验结果

(七)实验题目七:

一个文本文件中有一些整数,这些整数用逗号分开,个数不超过20个。

编程读取该文件,想办法得到这些整数,计算所有数字的平均值并在屏幕上输出。

1.要点分析

可以是伪代码或流程图

2.程序源代码

#include

#include

#include

#include

usingnamespacestd;

intmain()

{

ifstreamin("d:

\\5.txt");

if(!

in)

{

cout<<"Cannotopengradefile.\n";

return1;

}

charch[20][20];

inttemp[20],i=0,m=0;

intnum=0;

while(in)

{

for(inti=0;i<20;i++)

{

if(ch[i]!

='\0')

in.getline(ch[i],20,',');

}

}

while(ch[num][0]!

='\0')

{

temp[num]=atoi(ch[num]);

m+=temp[num];

num++;

}

cout<<"总和为"<

cout<<"平均数为"<

in.close();

return0;

}

3.实验结果

实验题目八:

找出100以内的勾股数,输出到文件gouku中。

所谓勾股数指找出三个数满足A2+B2=C2,并且A

要求将三个勾股数的计算公式A^2+B^2=C^2输出到文件中的每一行,例如:

3^2+4^2=5^2 9+16=25

1.程序源代码

#include

#include

usingnamespacestd;

intmain()

{

ofstreamout;

out.open("d:

\\gouku.txt");

if(!

out)

{

cout<<"Cannotfindthisfile!

\n";

}

inta,b,c;

for(a=1;a<71;a++)

{

for(b=a+1;b<100;b++)

{

for(c=b+1;c<100;c++)

{

if((a*a+b*b)==(c*c)&&a

{

out<

out<

}

}

}

}

out.close();

return0;

}

2.实验结果

三.个人小结

本次实验的主要内容是C++语言输入和输出操作的方法和C++的流和流类库的使用方法,内容本身比较简单,但是应用前面学过的知识写好各个程序还是有难度。

知识的深入也令我越来越领略到这门课的实用性和重要性。

我相信经过一个学期的学习,知识储备会达到一个新的高度。

上周的优秀实验模板,我主要看了许自宽同学的,非常完美,对于每个实验的要点分析,注释以及最后的实验小结都非常到位,这些是我应该学习的地方。

我主要对比了第四,五,七题做法,对题目本身,解决思路,等方面都有了新的认识,结合我们不同的思路和方法,我觉得我们可以把程序写的更加完美!

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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