西安交大C程序设计作业.docx
- 文档编号:11083273
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:20
- 大小:419.28KB
西安交大C程序设计作业.docx
《西安交大C程序设计作业.docx》由会员分享,可在线阅读,更多相关《西安交大C程序设计作业.docx(20页珍藏版)》请在冰点文库上搜索。
西安交大C程序设计作业
公司内部档案编码:
[OPPTR-OPPT28-OPPTL98-OPPNN08]
西安交大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位不兼容”,由于能力有限不知道如何操作。 因而无法得到结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安 交大 程序设计 作业