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

实验四(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 注:实验报告内容包括:实验目的与要求、实验原理与内容、实验步骤与记录、实验分析与结论等。


相关文章:
实验四答案
359242467.docx 答案 实验四 选择结构程序设计答案 编程练习 1:简单 if 语句的...(x)); } 编程练习 2:if-else 语句的用法修改练习 1 的程序, 使得 x ...
实验四答案2
3页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 实验四答案2 隐藏>> 数据库技术与应用实验 1. 定义基本表...
2012综合实验四-参考答案
2012综合实验四-参考答案_其它课程_高中教育_教育专区。C++实验参考答案 综合实验四 [实验目的] 1. 2. 3. 4. 5. 6. 掌握类和对象的定义 掌握面向对象的...
实验2答案
实验2答案_院校资料_高等教育_教育专区。java实验 实验2 选择和循环结构程序设计...("%d is not a prime number\n",m); return 0; } 4. 增加实验 3 的...
实验四(2) 模板
实验四(2) 模板_数学_自然科学_专业资料。实验四(2) 模板 一、实验目的: 加深理解类模板和函数模板的意义及作用, 掌握类模板和函数模板的定 义方法及在程序中...
实验4答案
实验4答案_计算机软件及应用_IT/计算机_专业资料。一、定义一个 shape 抽象类,...(p-this.dblEdge2)*(p-this.dblEdge3)); return area; } } public ...
实验答案(四-五-六)参考答案
实验答案(四-五-六)参考答案_工学_高等教育_教育专区。实验四 简单查询和连接...cname='离散数学')); (2) 查询 0101 课程的成绩高于张林的学生学号和成绩。...
数据库实验四作业及答案
26页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 数据库实验四作业及答案 隐藏>> 实验4 一、 1. 2. 3...
Visual Basic程序设计教程(第4版)实验答案
Visual Basic程序设计教程(第4)实验答案_院校资料_高等教育_教育专区。实验所...选中的内容通过 Text1 的 SelText 属性获得 提示: 为使 Text2 文本框保持 ...
实验4数据查询答案
实验4数据查询答案_经济学_高等教育_教育专区。上机_4_:DML 的数据查询 上机学...上机_4_:DML 的数据查询 上机学时:2 上机类型: (验证) 上机要求: (必修)...
更多相关标签: