这个要怎么写?简单学生课程系统设计,不需要删除和修改信息的内容
1条回答 默认 最新
- SoporAeternus2022 2022-05-19 17:32关注
#include <iostream> #include <string> #include <vector> #include <memory> using namespace std; class Student { public: Student() {} ~Student() {} Student(string name, string sex, string studentID) :m_name(name), m_sex(sex), m_studentID(studentID){} //private: string m_sex; string m_name; string m_studentID; }; class Course { public: Course() {} ~Course() {} Course(string coursename, unsigned int score) :m_coursename(coursename), m_score(score) {} //private: string m_coursename; unsigned int m_score; }; class SSC { public: SSC() {} ~SSC() {} SSC(const string name, const string sex, const string studentID , const string aname,int ascor , const string bname, int bscor , const string cname, int cscor , const string dname, int dscor):m_student(new Student(name,sex, studentID)) { shared_ptr<Course>c1(new Course(aname,ascor)); shared_ptr<Course>c2(new Course(bname, bscor)); shared_ptr<Course>c3(new Course(cname, cscor)); shared_ptr<Course>c4(new Course(dname, dscor)); m_cources.push_back(c1); m_cources.push_back(c2); m_cources.push_back(c3); m_cources.push_back(c4); } //private: shared_ptr<Student> m_student; vector<shared_ptr<Course>> m_cources; }; vector <SSC> g_ssc; void createSSC() { vector <SSC> _ssc; SSC ssc1("Zhang", "男", "001", "A", 78, "B", 70, "C", 53, "D", 80); SSC ssc2("Cheng", "女", "002", "A", 75, "B", 75, "C", 85, "D", 78); SSC ssc3("Li", "女", "003", "A", 68, "B", 45, "C", 95, "D", 72); SSC ssc4("Cha", "男", "004", "A", 67, "B", 70, "C", 64, "D", 62); SSC ssc5("Xun", "男", "005", "A", 65, "B", 90, "C", 78, "D", 85); g_ssc.push_back(ssc1); g_ssc.push_back(ssc2); g_ssc.push_back(ssc3); g_ssc.push_back(ssc4); g_ssc.push_back(ssc5); for (auto it =g_ssc.begin();it != g_ssc.end();++it) { cout << "姓名 :" << (*(*it).m_student).m_name << " 性别:"<< (*(*it).m_student).m_sex<<" 学号:"<< (*(*it).m_student).m_studentID << " 成绩 :" ; for (auto iter = (*it).m_cources.begin(); iter != (*it).m_cources.end(); ++iter) { cout << " "<<(*(*iter)).m_coursename <<" "<< (*(*iter)).m_score; } cout << endl; } cout << endl; } void selectHSorce(string cname) { unsigned int tem = 0; string tempName; for (auto it = g_ssc.begin(); it != g_ssc.end(); ++it) { for (auto iter = (*it).m_cources.begin(); iter != (*it).m_cources.end(); ++iter) { if (tem < (*(*iter)).m_score && (*(*iter)).m_coursename == cname) { tem = (*(*iter)).m_score; tempName = (*(*it).m_student).m_name; } } } for (auto it1 = g_ssc.begin(); it1 != g_ssc.end(); ++it1) { if ((*(*it1).m_student).m_name == tempName) { cout << cname << "科目分数最高的 :" << endl; cout << "姓名 :"<< tempName << endl; cout << "性别 :" << (*(*it1).m_student).m_sex << endl; cout << "学号 :" << (*(*it1).m_student).m_studentID << endl; cout << " 成绩 :"; for (auto iter1 = (*it1).m_cources.begin(); iter1 != (*it1).m_cources.end(); ++iter1) { cout << " " << (*(*iter1)).m_coursename << " " << (*(*iter1)).m_score; } cout << endl; } } cout << endl; } void selectLSorce(string cname) { unsigned int tem = 100; string tempName; for (auto it = g_ssc.begin(); it != g_ssc.end(); ++it) { for (auto iter = (*it).m_cources.begin(); iter != (*it).m_cources.end(); ++iter) { if (tem > (*(*iter)).m_score && (*(*iter)).m_coursename == cname) { tem = (*(*iter)).m_score; tempName = (*(*it).m_student).m_name; } } } for (auto it1 = g_ssc.begin(); it1 != g_ssc.end(); ++it1) { if ((*(*it1).m_student).m_name == tempName) { cout << cname << "科目分数最低的 :" << endl; cout << "姓名 :" << tempName << endl; cout << "性别 :" << (*(*it1).m_student).m_sex << endl; cout << "学号 :" << (*(*it1).m_student).m_studentID << endl; cout << " 成绩 :"; for (auto iter1 = (*it1).m_cources.begin(); iter1 != (*it1).m_cources.end(); ++iter1) { cout << " " << (*(*iter1)).m_coursename << " " << (*(*iter1)).m_score; } cout << endl; } } cout << endl; } void studentSorce(string sname) { unsigned int h = 0; string hname; unsigned int l = 100; string lname; for (auto it1 = g_ssc.begin(); it1 != g_ssc.end(); ++it1) { if ((*(*it1).m_student).m_name == sname) { cout << "姓名 :" << sname << endl; cout << "性别 :" << (*(*it1).m_student).m_sex << endl; cout << "学号 :" << (*(*it1).m_student).m_studentID << endl; //cout << " 成绩 :"; for (auto iter1 = (*it1).m_cources.begin(); iter1 != (*it1).m_cources.end(); ++iter1) { if ((*(*iter1)).m_score > h) { hname = (*(*iter1)).m_coursename; h = (*(*iter1)).m_score; } if((*(*iter1)).m_score <l) { lname = (*(*iter1)).m_coursename; l = (*(*iter1)).m_score; } } cout << "最高成绩 :" << hname<<" " << h << endl; cout << "最低成绩 :" << lname << " " << l << endl; } } cout << endl; cout << endl; } int main() { createSSC(); selectHSorce("C"); selectLSorce("B"); studentSorce("Cheng"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度