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++的流和流类库的使用方法,内容本身比较简单,但是应用前面学过的知识写好各个程序还是有难度。
知识的深入也令我越来越领略到这门课的实用性和重要性。
我相信经过一个学期的学习,知识储备会达到一个新的高度。
上周的优秀实验模板,我主要看了许自宽同学的,非常完美,对于每个实验的要点分析,注释以及最后的实验小结都非常到位,这些是我应该学习的地方。
我主要对比了第四,五,七题做法,对题目本身,解决思路,等方面都有了新的认识,结合我们不同的思路和方法,我觉得我们可以把程序写的更加完美!