第十五周(项目二)——用文件保存学生的名单。
来源:互联网 发布:江苏省数据统计局 编辑:程序博客网 时间:2024/06/09 19:04
/*烟台大学计算机学院学生*All right reserved.*文件名称:用文件保存学生的名单*作者:王洪海*完成日期:2014年6月5日*版本号:v1.0*对任务及求解方法的描述部分:用文件保存学生的名单*我的程序:*/#include <iostream>#include <fstream>#include <string>#include<cstdlib>using namespace std;class Student{ public: double get_total(); // 求单个学生总分 int get_stu_num(); // 等到学生的数量 double get_total_sum(); // 所有学生总分和 bool pass(double ); friend istream &operator >>(istream &in,Student &s); friend ostream &operator <<(ostream &out,Student &s); private: string name; double cpp; double math; double english; double total; static int stu_num; //学生人数,处理为类的静态静态成员合适 static double total_sum; //学生总分和};double Student::total_sum=0;double Student::get_total(){ total=cpp+math+english; return total;}int Student::stu_num=0;int Student::get_stu_num(){ return stu_num;}double Student::get_total_sum(){ return total_sum;}bool Student::pass(double avg){ if(total>=avg&&(cpp>=60)&&(math>=60)&&(english>=60)) return true; else return false;}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.total; return in;}ostream &operator <<(ostream &out,Student &s){ out<<s.name<<"\t"; out<<s.cpp<<"\t"; out<<s.math<<"\t"; out<<s.english<<"\t"; out<<s.get_total()<<"\t"; return out;}int main(){ Student stud[200],t; double total_avg=0; int i=0; //string sname; ifstream infile("score.txt",ios::in); if(!infile) { cerr<<"date error!"; exit(0); } while(infile>>stud[i]) { i++; } infile.close(); for(i=0;i<t.get_stu_num();i++) { double s=0; s+=stud[i].get_total(); total_avg=s/t.get_stu_num(); } ofstream outfile("pass_score.txt",ios::out); if(!outfile) { cerr<<"open error!"<<endl; exit(0); } for(i=0;i<t.get_stu_num();i++) { if(stud[i].pass(total_avg)) outfile<<stud[i]<<endl; } outfile.close(); cout<<"请到 pass_score 文件中检查。"<<endl; return 0;}
运行结果,如下图:
运行前文件:
运行后文件:
0 0
- 第十五周(项目二)——用文件保存学生的名单。
- 第十五周(项目二)——用文件保存学生的名单。
- 第十六周项目三 用文件保存学生的名单
- 第16周项目2--用文件保存学生的名单
- 第十五周项目二用文件保存学生名单
- 第十六周项目三 用文件保存学生的名单 ( 不用函数重载 历经千辛万苦终于出来了)
- 第十五周上机实践项目——用文件保存的学生名单
- 第十五周项目2-用文件保存的学生名单
- 第十五周 项目2-用文件保存的学生名单
- 第十五周 【项目2-用文件保存的学生名单】
- 第十五周——用文件保存学生名单
- 第十五周项目二——阅读程序(1)
- 第十五周项目二——阅读程序(2)
- 15第十五周项目一——用二进制处理学生成绩
- 第十五周—C语言 项目2(学生成绩管理)
- 第十六周项目1用文件保存学生信息
- 十三周——输入输出流——项目二 用文件保存的学生名单
- 第十五周 项目1-2 將已建文件中的数据保存到新建的文件中
- Java 守护线程
- 开发者揭秘Swift语言有哪些优点?
- 17_leetcode_merge k Sorted List
- Myecplise 8.6 注册代码
- 标准I/O与重定向的若干概念
- 第十五周(项目二)——用文件保存学生的名单。
- MFC ShowWindow参数
- projecteuler---->problem=20----Factorial digit sum
- C#修改系统时间
- LeetCode: Path Sum II [113]
- UVa 10340 - All in All
- Eclipse java swing开发环境
- LeetCode: Flatten Binary Tree to Linked List [114]
- 第四周作业——图的表示