当前位置:首页 >> 理化生 >>

实验四(2)答案


上 海 电 力 学 院

实 验 报 告
课程名称 姓名 同组人姓名
一、实验目的
? ? ? 理解流及流类库的作用 掌握流类库中常用的类及其成员函数的使用方法 掌握文件流的打开、关闭及使用的使用方法

高级程序设计 C++(2) 学号 无 班级 指导教师姓名

实验项目 专业 卢芳芳

/>
实验 4

输入输出流应用

实验日期 2014 年 5 月 14 日

二、实验内容和步骤
1.从文件 indata.txt 中读取 n 个整型数据,计算其平均值,并将计算的平均值输出到文件 outdata.txt 中。 ? 程序源代码(注意添加注释) #include<iostream> #include<fstream> using namespace std; int main() { ifstream in; ofstream out; int n=0,a=0,average=0; int sum=0; cout<<"请输入计算的个数 n:"<<endl; cin>>n; in.open("indata.txt",ios::in); out.open("outdata.txt",ios::out); if(in.fail()) { cout<<"文件 indata.txt 打开失败"; exit(1); } else { cout<<"文件 indata.txt 打开成功,并计算其 n 个整型数据的平均值:"<<endl;
1 注:实验报告内容包括:实验目的与要求、实验原理与内容、实验步骤与记录、实验分析与结论等。

for(int i=0;i<=n;i++) { in>>a; sum+=a; } average=sum/n; cout<<"average="<<average<<endl; if(out.fail()) { cout<<"文件 outdata.txt 写入失败"; exit(1); } else { out<<average; cout<<"文件 outdata.txt 写入成功"; } } in.close(); out.close(); return 0; }

?

运行结果(直接截取结果图)

2. 运行课件 68-72 页程序,并在 student 类中添加成绩数组,分别存放 C++,高等数学、物理等成绩信息,编 写主函数求取 n 个不同学生的各门课程的平均成绩值。 (二进制文件读写方式) 。 student.h #ifndef STUDENT_H #define STUDENT_H class Student{ public: Student(); Student(Student&); void input(); char * getName();
2 注:实验报告内容包括:实验目的与要求、实验原理与内容、实验步骤与记录、实验分析与结论等。

int getAge(); double * getScores(); private: char name[20]; int age; double scores[3]; }; #endif student.cpp #include<iostream> #include"student.h" #include<cstring> using namespace std; Student::Student() { strcpy(name, "no name"); age=20; for(int i=0; i<3; i++) { scores[i]=0; } } Student::Student(Student& stu) { strcpy(name, stu.name); age=stu.age; for(int i=0; i<3; i++) { scores[i]=stu.scores[i]; } } void Student::input() { cout<<"请输入你的姓名:"; cin>>name; cout<<"请输入你的年龄:"; cin>>age; cout<<"请输入你的 C++成绩:"; cin>>scores[0]; cout<<"请输入你的高等数学成绩:"; cin>>scores[1]; cout<<"请输入你的物理成绩:"; cin>>scores[2];
3 注:实验报告内容包括:实验目的与要求、实验原理与内容、实验步骤与记录、实验分析与结论等。

} char * Student::getName() { return name; } int Student::getAge() { return age; } double * Student::getScores() { return scores; } mainstu.cpp #include<iostream> #include<fstream> #include<cstring> using namespace std; #include"student.h" int main() { Student stu; double stuscores[5][3]; int i; static char name[20]; //存放姓名 fstream inout; inout.open("inout.txt", ios::out|ios::in|ios::binary); if(!inout) { cout<<"文件创建失败,请重新创建"<<endl; exit(1); } int n=5; for(i=0; i<n; i++) { cout<<"请输入第"<<i+1<<"个学生的信息并存放文件:"<<endl; stu.input(); inout.seekp(i*sizeof(stu), ios::beg); inout.write((char*)&stu, sizeof(stu));
4 注:实验报告内容包括:实验目的与要求、实验原理与内容、实验步骤与记录、实验分析与结论等。

} inout.close(); inout.open("inout.txt", ios::out|ios::in|ios::binary); cout<<"将学生的各门课成绩依次读取到数组 stuscores 中:"<<endl; for(i=0; i<n; i++) { inout.seekg((i*sizeof(stu)+sizeof(name)+sizeof(int)), ios::beg); inout.read((char*)&stuscores[i], sizeof(stuscores[i])); } inout.close(); double sum[3]={0,0,0}; for(i=0; i<n; i++) { sum[0] +=stuscores[i][0]; sum[1] +=stuscores[i][1]; sum[2] +=stuscores[i][2]; } cout<<"各门课的 sum="<<sum[0]<<' '<<sum[1]<<' '<<sum[2]<<endl; double average[3]; average[0]= sum[0]/n; average[1]= sum[1]/n; average[2]= sum[2]/n; cout<<"学生各门课的平均成绩的分别如下:"<<endl; cout<<"C++平均成绩:"<<average[0]<<endl; cout<<"高等数学平均成绩:"<<average[1]<<endl; cout<<"物理平均成绩:"<<average[2]<<endl; return 0; }

三、实验中遇到的问题以及解决方法

5 注:实验报告内容包括:实验目的与要求、实验原理与内容、实验步骤与记录、实验分析与结论等。

四、实验结论与体会
1、 结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。 2、 添加适当注释,注意书写的层次结构。 3、 整理上机步骤,总结经验和体会。 4、 上交实验报告

6 注:实验报告内容包括:实验目的与要求、实验原理与内容、实验步骤与记录、实验分析与结论等。


相关文章:
实验四 (2)
15页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 实验四 (2) 数据库 实验题目答案数据库 实验题目答案隐藏...
实验2答案
实验2答案_院校资料_高等教育_教育专区。java实验 实验2 选择和循环结构程序设计...("%d is not a prime number\n",m); return 0; } 4. 增加实验 3 的...
Visual Basic程序设计教程(第4版)实验答案
Visual Basic程序设计教程(第4)实验答案_院校资料_高等教育_教育专区。实验所...选中的内容通过 Text1 的 SelText 属性获得 提示: 为使 Text2 文本框保持 ...
实验四参考答案
实验四参考答案_教学计划_教学研究_教育专区。四、思考题 1、程序如下: fid=...(5-1/360); xecg=fecg'; xbw=0.5*sin(2*pi*0.2*t); x0=xecg+...
实验四 符号运算的应用解答
6页 2财富值 实验Matlab符号计算 解答 9页 免费 编译原理实验-符号表-四则... 暂无评价 3页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题...
实验四 2
实验四 2_理学_高等教育_教育专区。实验四译码显示器一、实验目的 1.掌握发光二极管,数码显示管的工作原理,结构和使用方法。 2.掌握集成译码显示电路的工作原理和...
2014秋实验四_MATLAB的符号计算二答案
2014秋实验四_MATLAB的符号计算二答案_数学_自然科学_专业资料 暂无评价|0人阅读|0次下载|举报文档 2014秋实验四_MATLAB的符号计算二答案_数学_自然科学_专业资料...
国际结算实验四答案2分福利多~
国际结算实验四答案2分福利多~ 欢迎立信学子~欢迎立信学子~隐藏>> 实验四!!! 一、开证申请书 2003 年 5 月 10 日,CHINA IMP. & EXP. CORP. GUANGDONG 向...
JSP实验2(附答案)
JSP实验2(答案)_计算机软件及应用_IT/计算机_专业资料。JSP上机实验并附有...4 JSP 基础教程(第 2)实验练习与提高 ? 该页面在程序片中获取 inputName...
实验四报告 2
167页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 实验四报告 2 隐藏>> 昆明理工大学信息工程与自动化学院...
更多相关标签:
实验8 2答案 | 实验班四j上语文答案 | vb第四版课后实验答案 | vb第四版实验题答案 | vb第四版实验答案 | 四年级下册实验班答案 | 四下数学实验班答案 | 四下语文实验班答案 |