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

实验四(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
3页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 实验四答案2 隐藏>> 数据库技术与应用实验 1. 定义基本表...
实验四(2) 模板
实验四(2) 模板_数学_自然科学_专业资料。实验四(2) 模板 一、实验目的: 加深理解类模板和函数模板的意义及作用, 掌握类模板和函数模板的定 义方法及在程序中...
实验二参考答案
实验四 13页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 实验二参考答案 隐藏>> 实验二:参考答案 1、若有...
Visual Basic程序设计教程(第4版)实验答案
Visual Basic程序设计教程(第4)实验答案_院校资料_高等教育_教育专区。实验所...选中的内容通过 Text1 的 SelText 属性获得 提示: 为使 Text2 文本框保持 ...
数学实验2答案
数学实验2答案_工学_高等教育_教育专区。第次练习题 7 ? ? x n+ 1 =...2,2.64583 3,2.64575 4,2.64575 5,2.64575 6,2.64575 7,2.64575...
JSP实验2(附答案)
JSP实验2(答案)_计算机软件及应用_IT/计算机_专业资料。JSP上机实验并附有...4 JSP 基础教程(第 2)实验练习与提高 ? 该页面在程序片中获取 inputName...
实验四 符号运算的应用解答
6页 2财富值 实验Matlab符号计算 解答 9页 免费 编译原理实验-符号表-四则... 暂无评价 3页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题...
实验四 (2)
四球实验(2) 3页 免费 2实验四 暂无评价 38页 1下载券 实验四答案2 7页...以下为具体的测试用例:实际测试结 数组 a null {1,2,3} {1,2,3} {1,...
实验四2
实验四2_计算机软件及应用_IT/计算机_专业资料。(二)单样本T检验(One-Sample ...CET四六级高分通关宝典 2014年6月大学英语六级考试真题及答案 2014年12月大学...
数学实验四(概率论)_2
数学实验四(概率论)一.用 MATLAB 计算随机变量的分布 1.用 MATLAB 计算二项...概率论数学实验答案 19页 1下载券 数学实验(概率论) 9页 免费 数学实验概率...
更多相关标签: