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

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


赞助商链接
相关文章:
实验答案(四-五-六)参考答案
实验答案(四-五-六)参考答案_工学_高等教育_教育专区。实验四 简单查询和连接...cname='离散数学')); (2) 查询 0101 课程的成绩高于张林的学生学号和成绩。...
实验四(2)答案
实验四(2)答案_理化生_高中教育_教育专区。上海电力学院 实验报告 课程名称 姓名 同组人姓名一、实验目的 ? ? ? 理解流及流类库的作用 掌握流类库中常用的类...
实验四(2) 模板
实验四(2) 模板_数学_自然科学_专业资料。实验四(2) 模板 一、实验目的: 加深理解类模板和函数模板的意义及作用, 掌握类模板和函数模板的定 义方法及在程序中...
实验四答案2
3页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 实验四答案2 隐藏>> 数据库技术与应用实验 1. 定义基本表...
实验四 (2)
15页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 实验四 (2) 数据库 实验题目答案数据库 实验题目答案隐藏...
数据库实验四作业及答案
26页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 数据库实验四作业及答案 隐藏>> 实验4 一、 1. 2. 3...
实验5(2) 参考答案
实验5(2) 参考答案_数学_高中教育_教育专区。实验 5(2) 类的继承与派生 ...Press any key to continue ⑤ 再将代码恢复至上一步未修改前,即存在 4 个...
实验三四(答案)[1]
数据库实验1及答案 4页 1下载券 数学实验1-8章答案 71页 2下载券 C#上机实验...实验三: 实验三:数据库的嵌套查 询实验实验目的:加深对嵌套查询语句的理解。 ...
c#实验四 (2)
10-11-2实验4 c 暂无评价 2页 2下载券 C语言实验2-4答案 暂无评价 17页...(1)正数的四舍五入; using System; using System.Collections.Generic; using ...
实验2答案
实验2答案_院校资料_高等教育_教育专区。java实验 实验2 选择和循环结构程序设计...("%d is not a prime number\n",m); return 0; } 4. 增加实验 3 的...
更多相关标签: