文件读写和成绩排序
程序员文章站
2022-03-15 19:25:21
...
#include <iostream>
#include <vector>
#include <cmath>
#include<fstream>
#include <string>
#include<algorithm>
using namespace std;
typedef struct stu {
string name;
int age;
double score;
stu(){}
stu(string sname,int sage,double sscore):name(sname),age(sage),score(sscore){}
}Student;
bool cmpBigger(const Student& stu1, const Student& stu2) {
return stu1.score > stu2.score;
}
class Solution
{
private:
vector<Student> m_StudentTable;
public:
Solution() {}
~Solution() {}
void readFromConsole(){
string stuName = "";
int age = 0;
double score = 0.0;
for (int i = 0; i < 4; i++) {
cin >> stuName >> age >> score;
m_StudentTable.push_back(stu(stuName, age, score));
}
}
void writeToFile(const string& fileAddress) {
ofstream outputToFile(fileAddress, ios::out);
for (Student stu : m_StudentTable) {
outputToFile << stu.name << " " << stu.age << " " << stu.score << endl;
}
outputToFile.close();
}
void readFromFile(const string& fileAddress) {
m_StudentTable.clear();
Student stu;
ifstream inputFromFile(fileAddress, ios::in);
for (int i = 0; i < 4; i++) {
inputFromFile >> stu.name >> stu.age >> stu.score;
m_StudentTable.push_back(stu);
}
inputFromFile.close();
}
void sortByScoresUp() {
sort(m_StudentTable.begin(), m_StudentTable.end(),cmpBigger);
}
void showHighestScoreStudent() {
Student HighestScoreStudent = m_StudentTable.at(0);
cout << "成绩最高的学生信息: "<<HighestScoreStudent.name << " " << HighestScoreStudent.age
<< " " << HighestScoreStudent.score << endl;
}
};
int main()
{
Solution test;
string file("d:\\Student.txt");
test.readFromConsole();
test.writeToFile(file);
test.readFromFile(file);
test.sortByScoresUp();
test.showHighestScoreStudent();
system("pause");
return 0;
}
上一篇: 100万投资办厂,现在有哪些项目,可以当年就收回投资?
下一篇: 带头结点循环链表
推荐阅读
-
【Java】文件读写和输入输出
-
Android中文件读写(输入流和输出流)操作小结
-
Pandas基础(文件读取与写入、Series和Dataframe、常用基本函数、排序)
-
python使用xlrd和xlwt读写Excel文件的实例代码
-
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
-
Perl 文本文件的读写操作、文件的重命名和删除、多个文本文件的合并实现代码
-
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
-
java文件读取和写入(文件读写java代码)
-
编程初学者入门7_公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。(复习冒泡排序+C、Java中局部变量不赋值不能使用))
-
C语言fgetc和fputc函数用法详解(以字符形式读写文件)