C++程序设计实验报告(八十四) --- 第十七周任务一
来源:互联网 发布:网络优化课程 编辑:程序博客网 时间:2024/05/01 16:18
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:二进制文件读入读出
* 作 者: 刘镇
* 完成日期: 2012 年 06 月 10 日
* 版 本 号: 1.080
* 对任务及求解方法的描述部分
* 输入描述: ......
* 问题描述: ......
* 程序输出: ......
* 程序头部的注释结束
*/
#include<iostream> #include<iomanip>#include<string> #include<fstream> using namespace std; class Student { public: Student(); Student(string name, double cpp, double math, double English); double all_score(); double ave_score(); void read_score(ifstream &in); void write_score(ofstream &out); void display(); private: string name; double score_cpp; double score_math; double score_English; double score_all; double score_average; }; Student::Student() { this->name = "0000"; this->score_cpp = 0; this->score_math = 0; this->score_English = 0; } Student::Student(string name, double cpp, double math, double English) { this->name = name; this->score_cpp = cpp; this->score_math = math; this->score_English = English; } void Student::display() { this->all_score();this->ave_score();cout << setprecision(1) << setiosflags(ios::fixed);cout << "name: " << setw(3) << this->name << '\t' << "c++: " << setw(3) <<this->score_cpp<< '\t' << "English: " << setw(3) << this->score_English << '\t' << "Math:" << setw(3) << this->score_math << '\t' << "All score: " << this->score_all;cout << '\t'<< "Average score : " << setw(3) << this->score_average << endl; } double Student::all_score() { this->score_all = this->score_cpp + this->score_math + this->score_English; return this->score_all; } double Student::ave_score() { this->score_average = (this->score_cpp + this->score_math + this->score_English) / 3; return this->score_average; } void Student::read_score(ifstream &in) { in >> this->name >> this->score_cpp >> this->score_math >> this->score_English; } void Student::write_score(ofstream &out) { out << setprecision(1) << setiosflags(ios::fixed);out << this->name << '\t' << this->score_cpp << '\t' << this->score_math << '\t' << this->score_English << '\t' << this->score_all << '\t' << this->score_average << endl; } void readfile(Student * s, int num) { ifstream infile("score.dat",ios::in); if(!infile) { cerr << "open error!" << endl; exit(1); } for(int i = 0; i < num; ++i) { s[i].read_score(infile); } infile.close(); } void Readfile(Student * s, int num) { ifstream infile("binary_score.dat",ios::in|ios::binary); if(!infile) { cerr << "open error!" << endl; abort(); } for(int i = 0; i < num; ++i) { infile.read((char *) & s[i], sizeof(s[i])); } infile.close(); } void Writefile(Student * s, int num) { ofstream outfile("binary_score.dat",ios::out|ios::binary); if(!outfile) { cerr << "open error!" << endl; abort(); } for(int i = 0; i < num; ++i) { outfile.write((char *) & s[i], sizeof(s[i])); } outfile.close(); } void writefile(Student * s, int num) { ofstream outfile("binary_score2.dat",ios::out); if(!outfile) { cerr << "open error!" << endl; abort(); } for(int i = 0; i < num; ++i) { s[i].write_score(outfile); } outfile.close(); } int main() { Student stu[101], my_score("刘镇", 100, 100, 100); readfile(stu, 100); Writefile(stu, 100); Readfile(stu, 100); stu[100] = my_score; for(int i = 0; i < 101; ++i) { stu[i].display(); } writefile(stu, 101); system("pause"); return 0; }
运行结果:
- C++程序设计实验报告(八十四) --- 第十七周任务一
- 第十七周实验报告(任务一)
- 第十七周实验报告(任务一)【二进制文件】
- 第十七周实验报告一
- 第十七周实验报告(任务二)
- 第十七周实验报告(任务三)
- C++程序设计实验报告(三十一)---第三周任务一
- C++程序设计实验报告(三十九)---第五周任务一
- C++程序设计实验报告(四十八)---第七周任务一
- C++程序设计实验报告(六十五)---第十二周任务一
- C++程序设计实验报告(六十九)---第十三周任务一
- C++程序设计实验报告(七十五)---第十五周任务一
- C++程序设计实验报告(七十九)---第十六周任务一
- 第十七周实验报告(一)
- 第十七周实验报告
- 第十七周实验报告
- 第十七周实验报告
- C++程序设计实验报告(三十五)---第四周任务一
- 什么时候学习编程都不晚
- 。我连程序员都算不上
- C# 将listview 中的数据导出到excel 文件
- Vim配置详解
- 性能诊断与调优之V$--V$SESSION_WAIT_HISTORY
- C++程序设计实验报告(八十四) --- 第十七周任务一
- 上拉电阻 下拉电阻 灌电流 拉电流
- sql server远程访问设置
- Linux mount/umount
- 快速排序
- ioremap_nocache函数说明
- (10) 使用Spring的注解方式实现AOP入门 以及 细节
- 验证二代身份证真假
- tar解压与压缩