《c++程序设计》谭浩强答案第13章.docx

上传人:b****4 文档编号:5414805 上传时间:2023-05-08 格式:DOCX 页数:10 大小:59.62KB
下载 相关 举报
《c++程序设计》谭浩强答案第13章.docx_第1页
第1页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第2页
第2页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第3页
第3页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第4页
第4页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第5页
第5页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第6页
第6页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第7页
第7页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第8页
第8页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第9页
第9页 / 共10页
《c++程序设计》谭浩强答案第13章.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《c++程序设计》谭浩强答案第13章.docx

《《c++程序设计》谭浩强答案第13章.docx》由会员分享,可在线阅读,更多相关《《c++程序设计》谭浩强答案第13章.docx(10页珍藏版)》请在冰点文库上搜索。

《c++程序设计》谭浩强答案第13章.docx

《c++程序设计》谭浩强答案第13章

《C++程序设计》谭浩强答案第13章

13.1题

#inelude#inCludeusingnamespaCestd;

intmain(){doublea,b,C,s,area;

Cout<<"pleaseinputa,b,C:

";

Cin>>a>>b>>C;

if(a+b<=C)

Cerr<<"a+b<=C,error!

"<

elseif(b+C<=a)

Cerr<<"b+C<=a,error!

"<

elseif(C+a<=b)

Cerr<<"C+a<=b,error!

"<

else{s=(a+b+C)/2;

area=sqrt(s*(s-a)*(s-b)*(s-C));

Cout<<"area="<

13.1题另一解

#inClude

#includeusingnamespacestd;

voidinput(doublea,doubleb,doublec){cout<<"pleaseinputa,b,c:

";

cin>>a>>b>>c;

voidarea(doublea,doubleb,doublec){doubles,area;

if(a+b<=c)cerr<<"a+b<=c,error!

"<

elseif(b+c<=a)cerr<<"b+c<=a,error!

"<

elseif(c+a<=b)cerr<<"c+a<=b,error!

"<

else{s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

cout<<"area="<

input(a,b,c);

area(a,b,c);

return0;

13.2题

#include#includeusingnamespacestd;

intmain()

{floata[5];

cout<<"inputdata:

";

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

cin>>a[i];

cout<

:

fixed)<

(2);

for(i=0;i<5;i++)

cout<

return0;

13.2题另一解

#includeusingnamespacestd;intmain()

{floata[5];

inti;

cout<<"inputdata:

";

for(i=0;i<5;i++)

cin>>a[i];

cout.setf(ios:

:

fixed);

cout.precision

(2);

for(i=0;i<5;i++)

{cout.width(10);

cout<

return0;

13.3题

#include#includeusingnamespacestd;

intmain()

for(intn=1;n<8;n++)

cout<

<

return0;

13.4题

#include

#include

usingnamespacestd;//VC++6.0要此行

//fun1函数从键盘输入20个整数,分别存放在两个磁盘文件中

voidfun1()

分别定义两个文件流

{inta[10];

ofstreamoutfile1("f1.dat"),outfile2("f2.dat");//

对象

if(!

outfile1)//

检查打开f1.dat是否成功

{cerr<<"openf1.daterror!

"<

exit

(1);

{cerr<<"openf2.daterror!

"<

exit

(1);

cout<<"enter10integernumbers:

"<

{cin>>a[i];

outfile1<

cout<<"enter10integernumbers:

"<

{cin>>a[i];

outfile2<

outfile2.close();//

关闭f2.dat文件

 

//从f1,dat读入10个数,然后存放到f2.dat文件原有数据的后面void

作为输入文件

fun2()

{ifstreaminfile("f1.dat");//f1.dat

if(!

infile)

{cerr<<"openf1.daterror!

"<

exit

(1);

ofstreamoutfile("f2.dat",ios:

:

app);

//f2.dat作为输出文件,文件指针指向文件尾,向它写入的数据放在原来数据的后面

if(!

outfile)

{cerr<<"openf2.daterror!

"<

exit

(1);

inta;

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

{infile>>a;//磁盘文件f2.dat读入一个整数

outfile<

infile.close();

outfile.close();

//从f2.dat中读入20个整数,将它们按从小到大的顺序存放到f2.datvoid

fun3()f2.dat

if(!

infile)

{cerr<<"openf2.daterror!

"<

exit

(1);

inta[20];

inti,j,t;

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

infile>>a[i];//

从磁盘文件f2.dat读入20个数放在数组a中

for(i=0;i<19;i++)//

用起泡法对20个数排序

for(j=0;j<19-i;j++)

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

作为输出文件,文件中原

ofstreamoutfile("f2.dat",ios:

:

out);//f2.dat

有内容删除

if(!

outfile)

{cerr<<"openf2.daterror!

"<

exit

(1);}

cout<<"datainf2.dat:

"<

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

cout<

outfile.close();

intmain()

fun2();

fun3();

return0;

13.5题

#include

#include

usingnamespacestd;

structstaff

{intnum;

charname[20];

intage;

doublepay;

};

intmain()

{staffstaf[7]={2101,"Li",34,1203,2104,"Wang",23,674.5,2108,"Fun",54,778,

3006,"Xue",45,476.5,5101,"Ling",39,656.6},staf1;

fstreamiofile("staff.dat",ios:

:

in|ios:

:

out|ios:

:

binary);

if(!

iofile)

{cerr<<"openerror!

"<

abort();

inti,m,num;

cout<<"Fivestaff:

"<

for(i=0;i<5;i++)

{cout<

[i].pay<

iofile.write((char*)&staf[i],sizeof(staf[i]));}

cout<<"pleaseinputdatayouwantinsert:

"<

for(i=0;i<2;i++)

{cin>>staf1.num>>staf1.name>>staf1.age>>staf1.pay;

iofile.seekp(0,ios:

:

end);

iofile.write((char*)&staf1,sizeof(staf1));}

iofile.seekg(0,ios:

:

beg);

for(i=0;i<7;i++)

{iofile.read((char*)&staf[i],sizeof(staf[i]));

cout<

[i].pay<

boolfind;

cout<<"enternumberyouwantsearch,enter0tostop.";

cin>>num;

while(num)

{find=false;

iofile.seekg(0,ios:

:

beg);

for(i=0;i<7;i++)

{iofile.read((char*)&staf[i],sizeof(staf[i]));

if(num==staf[i].num)

{m=iofile.tellg();

cout<

cout<

[i].pay<

find=true;

break;

if(!

find)

cout<<"can'tfind"<

cout<<"enternumberyouwantsearch,enter0tostop.";

cin>>num;

iofile.close();

return0;

13.6题

#include

#include

usingnamespacestd;

structstudent

{intnum;

charname[20];

doublescore;

};

intmain()

{studentstud[3]={1001,"Li",78,1002,"Wang",89.5,1004,"Fun",90},stud1[3];

charc[50];

inti;

ostrstreamstrout(c,50);

for(i=0;i<3;i++)

strout<

strout<

cout<<"arrayc:

"<

istrstreamstrin(c,50);

for(i=0;i<3;i++)

strin>>stud1[i].num>>stud1[i].name>>stud1[i].score;

cout<<"datafromarrayctoarraystud1:

"<

for(i=0;i<3;i++)

cout<

cout<

return0;

13.6题另一题

#include

#include

usingnamespacestd;

structstudent

{intnum;

charname[20];

doublescore;

};

intmain()

{inti;

student

stud[3]={1001,"Li",78,1002,"Wang",89.5,1004,"Fun",90},stud1[3];

charc[50];

strstreamstrio(c,50,ios:

:

in|ios:

:

out);

for(i=0;i<3;i++)

strio<

strio<

cout<<"arrayc:

"<

for(i=0;i<3;i++)

strio>>stud1[i].num>>stud1[i].name>>stud1[i].score;

cout<<"datafromarrayctoarraystud1:

"<

for(i=0;i<3;i++)

cout<

cout<

return0;

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2