西安交大C++程序设计第十一章作业.docx

上传人:b****4 文档编号:687173 上传时间:2022-10-12 格式:DOCX 页数:18 大小:413.16KB
下载 相关 举报
西安交大C++程序设计第十一章作业.docx_第1页
第1页 / 共18页
西安交大C++程序设计第十一章作业.docx_第2页
第2页 / 共18页
西安交大C++程序设计第十一章作业.docx_第3页
第3页 / 共18页
西安交大C++程序设计第十一章作业.docx_第4页
第4页 / 共18页
西安交大C++程序设计第十一章作业.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

西安交大C++程序设计第十一章作业.docx

《西安交大C++程序设计第十一章作业.docx》由会员分享,可在线阅读,更多相关《西安交大C++程序设计第十一章作业.docx(18页珍藏版)》请在冰豆网上搜索。

西安交大C++程序设计第十一章作业.docx

西安交大C++程序设计第十一章作业

西安交通大学实验报告

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

系别__________实验日期2014年6月7日

专业班级______组别__________实验报告日期2014年6月7日

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

同组人_________________________________教师审批签字

一、实验目的

掌握C++语言输入和输出操作的方法、流和流类库的使用方法。

二、实验内容

(一)第一题:

编写一个程序,分别用不同的域宽(0~10)打印出整数12345和浮点数。

观察当域宽小于数值的实际需要域宽时会发生什么状况。

1.源程序代码:

#include

usingnamespacestd;

voidmain()

{

intWIDTH;

for(WIDTH=10;WIDTH>0;WIDTH--)

{

cout<<"域宽、精度为"<

\n";

(WIDTH);验结果:

3.结论:

(1)域宽不够时会自动补足。

(2)精度只需一次定义则一直有效。

(3)域宽需要每次输出时均进行定义

(二)第二题:

编写一个程序,将华氏温度0度~212度转化为浮点型摄氏温度,浮点精度为3.转换公式为如下:

Celsius=*(Fahrenheit-32);

输出用两个右对齐序列,摄氏温度前面加上正负号。

1.源程序代码:

#include

usingnamespacestd;

voidmain()

{

doubleCelsius,Fahrenheit;

(3);

cout<<"转换结果为:

\n";

for(Fahrenheit=0;Fahrenheit<=212;Fahrenheit++)

{

(ios:

:

showpos);

Celsius=*(Fahrenheit-32);

cout<<"华氏"<

(ios:

:

showpos);

cout<

}

}

2.实验结果:

(三)第三题:

编写一个程序,打印出ASCⅡ字符集中码值为33~126的字符的ASCⅡ码表。

要求输出十进制值、八进制值、十六进制值以及码值所表示的字符。

1.源程序代码:

#include

usingnamespacestd;

voidmain()

{

inta;

charw;

cout<<"字符八进制十进制十六进制\n";

for(a=33;a<=126;a++)

{

w=a;

cout<

}

}

2.实验结果:

四、第四题:

修改例11-2中的程序,重载>>运算符,使其能够直接使用cin语句输入Date类对象。

1.源程序代码:

<

Datebirthday;

cout<<"输入出生年月日:

";

cin>>birthday;

cout<<"输入的是:

"<

return0;

}

2.实验结果:

五、第五题:

编写一个程序,可以读入一个C++语言的源文件,每一行加上行号后保存到另一个后缀为.prn的同名文件中。

1.源程序代码:

#include

#include

#include

usingnamespacestd;

intmain()

{

strings,name,name1;

cout<<"请输入源c++文件的名称(不含有后缀名):

";

cin>>name;

name1=name+".prn";

name+=".cpp";

ifstreamread());验结果:

实验前:

实验后:

六、第六题:

将一个文本文件内容用凯撒尔方法加密,密钥是4。

即文本文件中字母用其后第4个字母代替,若是数字则用其后第4个数字代替。

例如文本文件原内容为“RedAndBlack2008”,加密后文本文件内容为“VihErhFpego6442”。

(提示:

先用记事本创建一个文本文件,其内容应该是有意义的英文句子,然后以只读方式打开,加密后的内容写入另一个文本文件中。

1.源程序代码:

#include

#include

usingnamespacestd;

charjiami(charch);

intmain()

{

ifstreamin("");

ofstreamout("");

if(!

in)

{

cout<<"Cannotopenthefile."<

return1;

}

if(!

out)

{

cout<<"Cannotopenthefile."<

return1;

}

charch;

while(in)

{

(ch);

ch=jiami(ch);

if(in)out<

}

();

();

return0;

}

charjiami(charch)

{

if(ch>='0'&&ch<='9')

{

if(ch>'5')ch=ch-6;

elsech+=4;

}

elseif(ch>='a'&&ch<='z')

{

if(ch>='w')ch=ch+4-'z'+'a'-1;

elsech+=4;

}

elseif(ch>='A'&&ch<='Z')

{

if(ch>='W')ch=ch+4-'Z'+'A'-1;

elsech+=4;

}

returnch;

}

2.实验结果:

加密前:

加密后:

(七)第七题:

(必作题)找出100以内的勾股数,输出到文件gouku中。

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

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

1.源程序代码:

#include

#include

#include

usingnamespacestd;

intmain()

{

ofstreamout("");

if(!

out)

{

cout<<"Cannotopenthefile.\n";

return1;

}

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

for(intj=i+1;j<101;j++)

for(intk=j+1;k<101;k++)

{

if(i*i+j*j==k*k)

{

(ios:

:

left);

out<

out<<'\t'<

}

}

();

return0;

}

2.实验结果:

(八)第八题:

仿造实现DOS文件复制命令COPY源文件名目标文件名。

(提示:

利用main()函数中的参数intargv,char*argk[]识别解析命令。

1.源程序代码:

#include

#include

usingnamespacestd;

intmain(intargc,char*argv[])

{

charch;

cout<

if(argc!

=3)

{

cout<<"请输入两个文件名,及后缀"<

return1;

}

ifstreamfin(argv[1],ios:

:

binary|ios:

:

in);

if(!

fin)

{

cout<<"无法打开原文件"<

return1;

}

ofstreamfout(argv[2],ios:

:

binary|ios:

:

out);

if(!

fout)

{

cout<<"无法打开目标文件"<

return1;

}

while(fin)

{

(ch);

if(fin)

{

fout<

}

}

();

();

return0;

}

2.实验结果:

保存为exe格式之后提示“64位不兼容”,由于能力有限不知道如何操作。

因而无法得到结果。

精心搜集整理,只为你的需要

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

当前位置:首页 > 外语学习 > 英语考试

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

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