第15周 项目二 用文件保存的学生名单
来源:互联网 发布:开源b2c商城系统源码 编辑:程序博客网 时间:2024/05/01 20:01
/**程序的版权和版本声明部分:*Copyright(c)2014,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:王鲁峰*完成日期:2014 年 6 月 3 日*版本号:v1.0*对任务及求解方法的描述部分:*问题描述:*输入描述:*程序输出:*问题分析:*算法设计:*/#include <iostream>#include <fstream>#include <string>#include <cstdlib>using namespace std;//定义学生类class Student{public: //声明必要的成员函数 Student() {} bool pass(); double gettotal(); static int getstu_num(); static double gettotal_sum(); 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; //学生总分和};int Student::stu_num=0;double Student::total_sum=0;bool Student::pass(){ if(cpp>=60&&math>=60&&english>=60) return true; return false;}double Student::gettotal(){ return total;}int Student::getstu_num(){ return stu_num;}double Student::gettotal_sum(){ return total_sum;}istream& operator>>(istream &in, Student &s){ in>>s.name>>s.cpp>>s.english>>s.math; Student::stu_num++; s.total=s.cpp+s.english+s.math; Student::total_sum+=s.total; return in;}ostream& operator<<(ostream &out, Student &s){ out<<s.name<<" "<<s.cpp<<" "<<s.english<<" "<<s.math<<" "<<s.total<<endl; return out;}int main( ){ Student stud[200]; //stud[200]为保存数据的对象数组 string sname; double total_avg; int i=0; //从文件score.dat中读入数据,保存到对象数组中 ifstream infile("score.txt",ios::in); if(!infile) { cerr<<"open error!"<<endl; exit(1); } while(!infile.eof()) infile>>stud[i++]; infile.close(); //总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中 total_avg=Student::gettotal_sum()/Student::getstu_num(); ofstream outfile("pass_score.txt",ios::out); if(!outfile) { cerr<<"open error!"<<endl; exit(1); } for( i=0;i<Student::getstu_num();i++) { if((stud[i].gettotal()>total_avg)&&stud[i].pass()) { outfile<<stud[i]<<endl; } } outfile.close(); return 0;}
运行结果:
心得体会:
这个项目为老师统计学生信息提供了方便。
0 0
- 第15周 项目二 用文件保存的学生名单
- 第14周 项目二-用文件保存学生名单
- 第14周项目2用文件保存的学生名单
- 第13周-项目2-用文件保存的学生名单
- 第14周项目2-用文件保存的学生名单
- 第14周 【项目2-用文件保存的学生名单】
- 第14周项目2-用文件保存的学生名单
- 第14周项目2-用文件保存的学生名单
- 第14周项目2-用文件保存的学生名单
- 第15周 项目2 用文件保存学生名单
- C++第15周(春)项目2 - 用文件保存的学生名单
- 15周【项目2-用文件保存的学生名单】
- 第十四周项目二:用文件保存的学生名单
- 第十四周 项目二:用文件保存的学生名单
- 第十四周项目二 用文件保存的学生名单
- 第十四周项目二--用文件保存的学生名单
- 第十四周项目二:用文件保存的学生名单
- 第十四周 项目二--用文件保存的学生名单
- 字典序法生成全排列算法的证明
- 可穿戴设备,也许无屏交互才是终极需求!
- 破解Xen虚拟机密码
- poj2240--Arbitrage
- JAVA反射机制示例
- 第15周 项目二 用文件保存的学生名单
- Linux 系统性能分析工具2
- String 和StringBuffer区别
- Linux 系统性能分析工具3
- mars android开发之十一:XML文件解析
- Recover Binary Search Tree
- STL—— 关联容器
- 【模版】KMP算法中next数组的求法。
- C++STL源码剖析代码