项目49-用二进制文件处理学生成绩
来源:互联网 发布:手机php环境 编辑:程序博客网 时间:2024/05/18 09:21
【项目-用二进制文件处理学生成绩】
(1)定义学生类,其中包含学号、姓名、C++课、高数和英语成绩及总分数据成员,成员函数根据需要确定。
(2)读入学生的成绩,并求出总分,用对象数组进行存储。ASCII文件score.dat中保存的是100名学生的学号、姓名和C++课、高数和英语成绩。
(3)将所有数据保存到一个二进制文件binary_score.dat中,最后通过键盘输入你的信息,并写入到文件中(咱不谦虚,三科全100分,期末求好运)。
(4)为验证输出文件正确,再将binary_score.dat中的记录逐一读出到学生对象中并输出查看。
(1)定义学生类,其中包含学号、姓名、C++课、高数和英语成绩及总分数据成员,成员函数根据需要确定。
(2)读入学生的成绩,并求出总分,用对象数组进行存储。ASCII文件score.dat中保存的是100名学生的学号、姓名和C++课、高数和英语成绩。
(3)将所有数据保存到一个二进制文件binary_score.dat中,最后通过键盘输入你的信息,并写入到文件中(咱不谦虚,三科全100分,期末求好运)。
(4)为验证输出文件正确,再将binary_score.dat中的记录逐一读出到学生对象中并输出查看。
(5)用BinaryViewer命令查看二进制文件文件
#include <fstream>#include<iostream>#include<cstring>#include<cstdlib>using namespace std;class Student{public: Student(){}; Student(int n, string nam, double c, double m, double e):num(n),name(nam),cpp(c),math(m),english(e){total=c+m+e;} void set_value(int n,string nam, double c, double m, double e); string get_name(){return name;} double get_cpp(){return cpp;} double get_math(){return math;} double get_english(){return english;} double get_total(){return total;} void set_cpp(double c){cpp=c;} void set_math(double m){math=m;} void set_english(double e){english=e;} void set_total(double t){total=t;} friend ostream& operator<<(ostream&, Student&);private: int num; string name; double cpp; double math; double english; double total;};void Student::set_value(int n,string nam, double c, double m, double e){ num=n; name=nam; cpp=c; math=m; english=e; total=c+m+e;}ostream& operator<<(ostream& out, Student& s){ out<<s.num<<" "<<s.name<<" "<<s.cpp<<" "<<s.math<<" "<<s.english<<" "<<s.total<<endl; return out;}int main( ){ Student stud[100]; int i,n; string sname; double scpp, smath, senglish; ifstream infile("score.dat",ios::in); if(!infile) { cerr<<"open error!"<<endl; exit(1); } for(i=0;i<100;i++) { infile>>n>>sname>>scpp>>smath>>senglish; stud[i].set_value(n,sname, scpp, smath, senglish); } infile.close(); ofstream outfile("binary_score.dat",ios::out|ios::binary); if(!outfile) { cerr<<"open error!"<<endl; exit(1); } for(i=0;i<100;i++) { outfile.write((char*)&stud[i], sizeof(stud[i])); } cout<<"输入你自己的信息:"; cin>>n>>sname>>scpp>>smath>>senglish; Student me(n,sname, scpp, smath, senglish); outfile.write((char*)&me, sizeof(me)); outfile.close(); Student s; ifstream infile2("binary_score.dat",ios::in|ios::binary); if(!infile2) { cerr<<"open error!"<<endl; exit(1); } while(true) { infile2.read((char*)&s, sizeof(s)); if(infile2.eof()) break; cout<<s; } infile2.close(); return 0;
0 0
- 项目49-用二进制文件处理学生成绩
- 项目-4-用二进制文件处理学生成绩
- 项目-用二进制文件处理学生成绩
- 用二进制文件处理学生成绩
- 用二进制文件处理学生成绩
- 用二进制文件处理学生成绩
- 用二进制文件处理学生成绩
- 用二进制文件处理学生成绩
- 第十六周项目1- 用二进制文件处理学生成绩
- 第十五周项目一 用二进制文件处理学生成绩
- 第15周【项目1-用二进制文件处理学生成绩】
- 第十五周项目一:用二进制文件处理学生成绩
- 第十五周 项目一:用二进制文件处理学生成绩
- 第十五周项目1-用二进制文件处理学生成绩
- 第14周-项目1-用二进制文件处理学生成绩
- 第十五周项目1-用二进制文件处理学生成绩
- 15周【项目1-用二进制文件处理学生成绩】
- 第十五周上机项目一用二进制文件处理学生成绩
- Asteroids_poj3041_匹配
- python csv
- 记录我的成长
- pycharm使用一些知识
- 3-hadoop在Windows下的安装与配置
- 项目49-用二进制文件处理学生成绩
- 4-hadoop架构分析
- 欢迎使用CSDN-markdown编辑器
- 操作系统实现之保护模式
- MapReduce
- 课堂随笔(php面向对象)
- 5-Hadoop架构MapReduce模型
- java读取文件内容按照值出现的次数排序
- 6-hadoop集群管理软件Ambari