第14周项目2-用文件保存的学生名单
来源:互联网 发布:顶级域名有多少 编辑:程序博客网 时间:2024/05/01 16:02
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:王元阳 * 完成日期:2015 年 6 月 10 日 * 版 本 号:v1.0 *问题描述:文件score.dat中保存的是若干名学生的姓名和C++课、高数和英语成绩。(1)定义学生类,其中包含姓名、C++课、高数和英语成绩及总分数据成员。(2)用对象数组进行存储学生的成绩,读入成绩并计算总分;将总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中。 */#include <iostream>#include <fstream>#include <cstdlib>using namespace std;//定义学生类class Student{public: //声明必要的成员函数 Student() {} friend istream &operator>>(istream &in,Student &s); friend ostream &operator<<(ostream &out,Student &s); int getnum() { return stu_num; } double getsum() { return total_sum; } double gettotal() { return total; } bool pass();private: string name; double cpp; double math; double english; double total; static int stu_num; //学生人数,处理为类的静态成员合适 static double total_sum; //学生总分和};int Student::stu_num = 0;double Student::total_sum = 0;istream &operator>>(istream &in,Student &s){ in>>s.name>>s.cpp>>s.math>>s.english; s.total+=s.cpp+s.math+s.english; Student::stu_num++; Student::total_sum+=s.cpp+s.math+s.english; return in;}ostream &operator<<(ostream &out,Student &s){ out<<s.name<<" "<<s.cpp<<" "<<s.math<<" "<<s.english; return out;}bool Student::pass(){ if(cpp>=60&&english>=60&&math>=60) return true; else return false;}int main( ){ Student stud[200],t; //stud[200]为保存数据的对象数组 string sname; double total_avg; int i=0; //从文件score.dat中读入数据,保存到对象数组中 fstream infile,outfile; infile.open("score.dat",ios::in); if(!infile) { cout<<"score.dat can’t open."<<endl; exit(1); } while(!infile.eof()) { infile>>stud[i]; i++; } infile.close(); //总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中 outfile.open("pass_score.dat",ios::out); if(!outfile) { cout<<"pass_score.dat can’t open."<<endl; exit(1); } total_avg=stud[i-1].getsum()/stud[i-1].getnum(); for(i--;i>=0;--i) { if(stud[i].gettotal()>=total_avg&&stud[i].pass()) outfile<<stud[i]<<endl; } outfile.close(); return 0;}
0 0
- 第14周项目2用文件保存的学生名单
- 第14周项目2-用文件保存的学生名单
- 第14周 【项目2-用文件保存的学生名单】
- 第14周项目2-用文件保存的学生名单
- 第14周项目2-用文件保存的学生名单
- 第14周项目2-用文件保存的学生名单
- 第13周-项目2-用文件保存的学生名单
- 第14周-输入输出流,文本文件-项目2-用文件保存的学生名单
- 第14周上机实践项目2——用文件保存的学生名单
- 2015-第14周项目2-用文件保存的学生名单
- 第15周 项目二 用文件保存的学生名单
- 第14周 项目二-用文件保存学生名单
- 第15周 项目2 用文件保存学生名单
- 第16周-项目2-用文件保存学生名单
- 第16周项目2-用文件保存学生名单
- 项目2 - 用文件保存的学生名单
- C++第15周(春)项目2 - 用文件保存的学生名单
- 15周【项目2-用文件保存的学生名单】
- 第十四周项目1-2:给文本加上行号
- 安卓登陆框记住密码和自动登录的实现
- 第十三周 课后实践:项目一——动物这样叫(3)
- 第十四周阅读程序3
- C语言入门教程15-字符与字符串常用处理函数
- 第14周项目2-用文件保存的学生名单
- 利用jquery.form实现异步上传文件
- Phalcon学习笔记(1)启动
- 第十四周项目五
- LeetCode-4Sum(九月千题鬼之历练 1/1000, 指针数组的初始化和调用)
- c#语法总结2 - 函数
- 第十四周 阅读项目 C++字符创的标准输入输出
- 2015年辽宁省赛Interesting Tree
- Oracle 11g安装图文攻略