#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
class Stu {
public:
string Name;
int Score;
Stu(const string& name, const int& score) { // 构造函数
Name = name;
Score = score;
}
Stu() {} //析构函数
}s; //创建一个名为s的Stu类
bool compare(const Stu& a, const Stu& b) { //比较函数,用于sort函数的比较器中
return a.Score > b.Score;
}
//bool operator==(const Stu& c, const string& name) {
// return c.Name == name;
//}
class Cao {
public:
void A(vector<Stu>& stu); //信息录入
void P(vector<Stu>& stu); //信息输出
void S(vector<Stu>& stu); //比较排序
void R(vector<Stu>& stu); //删除信息
};
void Cao::A(vector<Stu>& stu) {
cin >> s.Name;
for (vector<Stu>::iterator it = stu.begin(); it != stu.end(); it++) {
if ((*it).Name == s.Name) {
cin >> s.Score;
(*it).Score = s.Score;
}
}
cin >> s.Score;
stu.push_back(s); //将简称s的值赋回给定义的实类
}
void Cao::P(vector<Stu>& stu) {
if (stu.empty()) { cout << "[空]" << endl; }
else {
for (vector<Stu>::iterator it = stu.begin(); it != stu.end(); it++) {
cout << (*it).Name << " " << (*it).Score << endl;
}
}
}
void Cao::R(vector<Stu>& stu) {
string n;
cin >> n;
for (vector<Stu>::iterator it = stu.begin(); it != stu.end(); it++) {
if ((*it).Name == n) {
stu.erase(it);
break; //跳出循环
}
}
}
void Cao::S(vector<Stu>& stu) {
sort(stu.begin(), stu.end(), compare);
//sort函数自带比较器,若不定义,默认升序
}
int main()
{
Cao nb;
vector<Stu>stu;
char x;
while (cin >> x)
{
if (x == 'A') { nb.A(stu); }
else if (x == 'P') { nb.P(stu); }
else if (x == 'R') { nb.R(stu); }
else if (x == 'S') { nb.S(stu); }
}
return 0;
}
利用vector容器,sort函数以及find函数创建动态学生信息管理系统
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 三金乀 2021-11-11 23:05关注
测试输入:
P
A 小明 10
A 小明 20
P
R 小明
P
预期输出
[空]
小明 20
[空]
实际输出
P
[空]
A 小明 10
A 小明 20
P解决 无用评论 打赏 举报
悬赏问题
- ¥15 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
- ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
- ¥20 C#上传XML格式数据
- ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
- ¥100 单片机hardfaulr
- ¥20 手机截图相片分辨率降低一半
- ¥50 求一段sql语句,遇到小难题了,可以50米解决
- ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
- ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
- ¥15 虚拟机检测,可以是封装好的DLL,可付费