【一个C++程序】小课设
来源:互联网 发布:樱井知香喷泉图片解 编辑:程序博客网 时间:2024/06/10 17:37
#include <iostream>#include <string>#include <vector>using namespace std;//学生类class student{private: string name; //姓名 int age; //年龄 string code; //学号 int nianji; //年纪 int grade; //成绩public: //构造函数 student(){} student(string na, int a, string c, int n, int g):name(na), age(a), code(c), nianji(n), grade(g) {} string getName() { return name; } void setName(string na) { this->name = na; } int getAge() {return age;} void setAge(int age) { this->age = age; } string getCode() { return code; } void setCode(string c) { this->code = c;} int getNianji() { return nianji; } void setNianji(int nj) { this->nianji = nj; } int getGrade() { return grade; } void setGrade(int g) { this->grade = g; }/* student& operator = (const student& s) { name = s.name; //姓名 age = s.age; //年龄 code = s.code; //学号 nianji = s.nianji; //年纪 grade = s.grade; //成绩 return *this; }*/};//教师类class teacher{private: string name; //姓名 int age; //年龄 int gongHao; //工号 int classTime; //课时 int money; //课时费public: //构造函数 teacher(){} teacher(string na, int a, int gh, int ct, int m):name(na), age(a), gongHao(gh), classTime(ct), money(m) {} string getName() { return name; } void setName(string na) { this->name = na; } int getAge() {return age;} void setAge(int age) { this->age = age; } int getGongHao() { return gongHao; } void setGongHao(int gh) { this->gongHao = gh; } int getClassTime() { return classTime; } void setClassTime(int ct) { this->classTime = ct; } int getMoney() { return money; } void setMoney(int m) { this->money = m; }};//员工类class employee{private: string name; //姓名 int age; //年龄 int gongHao; //工号 int money; //月薪public: //构造函数 employee(){} employee(string na, int a, int gh, int m):name(na), age(a), gongHao(gh), money(m) {} string getName() { return name; } void setName(string na) { this->name = na; } int getAge() {return age;} void setAge(int age) { this->age = age; } int getGongHao() { return gongHao; } void setGongHao(int gh) { this->gongHao = gh; } int getMoney() { return money; } void setMoney(int m) { this->money = m; }};void MaoPao(vector<student> vs, vector<student> &vgai){ student temp1, temp2; //根据分数进行排序,然后放入到vector中去,依次找到最小的然后去掉它就可以了 for(int i = 0 ; vs.size() > 0 ; ) { //每次都取当前的第一个,因为我会一直删里面的类 temp1=vs[i]; //和后面的比较 for(auto j=vs.begin()+1 ; j != vs.end() ; ++j) { temp2=*j; if(temp1.getGrade()<temp2.getGrade()) { //如果第一个是小的,那么就交换,一直到找到最大的 temp1=temp2; } } //第一层循环完成,找到当前最大的,放入到vgai的第一个 //cout<<temp1.getGrade()<<" xx "<<endl; vgai.push_back(temp1); //吧当前的temp1从vs去掉,直到vs被搬空为止vector<student>::iterator itr = vs.begin();while (itr != vs.end()){if (itr->getName() == temp1.getName()){vs.erase(itr);//删除值为3的元素break;}++itr;} }}void print(vector<teacher> vt){const string NAME1 = "高代老师名字", NAME2 = "数分老师名字", NAME3 = "英语老师名字";cout << "各科教师的信息是:" << endl;cout << "姓名\t\t年龄\t工号\t课时\t课时费\t" << endl;for (auto it = vt.begin(); it != vt.end(); ++it){teacher t = *it;string s = t.getName();if (s == NAME1 || s == NAME2 || s == NAME3){cout << t.getName() << "\t"<< t.getAge() << "\t"<< t.getGongHao() << "\t"<< t.getClassTime() << "\t"<< t.getMoney() << endl;}}}int main(){ vector<student> vs, vgai; student s1("myName1", 19, "20130901001", 2, 98); //自己是第一个,内定了 student s2("myName2", 19, "20130901002", 2, 94); student s3("myName3", 19, "20130901003", 2, 33); student s4("myName4", 19, "20130901004", 2, 45); student s5("myName5", 19, "20130901005", 2, 75); student s6("myName6", 19, "20130901006", 2, 12); student s7("myName7", 19, "20130901007", 2, 77); student s8("myName8", 19, "20130901008", 2, 33); student s9("myName9", 19, "20130901009", 2, 55); student s10("myName10", 19, "20130901010", 2, 78); student s11("myName11", 19, "20130901011", 2, 28); student s12("myName12", 19, "20130901012", 2, 58); student s13("myName13", 19, "20130901013", 2, 8); student s14("myName14", 19, "20130901014", 2, 58);//1----------------------------------------------------------------------- cout<<"我的信息是:"<<endl; cout<<"姓名\t\t年龄\t学号\t\t年级\t成绩\t"<<endl; cout<<s1.getName()<<"\t\t" <<s1.getAge()<<"\t" <<s1.getCode()<<"\t" <<s1.getNianji()<<"\t" <<s1.getGrade()<<endl; //输出最近的10位,不会数据库只能用这种蠢方法 vs.push_back(s1); vs.push_back(s2); vs.push_back(s3); vs.push_back(s4); vs.push_back(s5); vs.push_back(s6); vs.push_back(s7); vs.push_back(s8); vs.push_back(s9); vs.push_back(s10); vs.push_back(s11); vs.push_back(s12); vs.push_back(s13); vs.push_back(s14); vector<student>::iterator it = vs.begin(); int count = 1; //计数10个//2----------------------------------------------------------------------- cout<<"后面10位的信息"<<endl; while(it != vs.end() && count <= 11) { cout<<it->getName()<<" " <<it->getAge()<<"\t" <<it->getCode()<<"\t" <<it->getNianji()<<"\t" <<it->getGrade()<<endl; ++it; ++count; }//3----------------------------------------------------------------------- MaoPao(vs, vgai); cout<<endl; cout<<"排序后:"<<endl; vector<student>::iterator it2 = vgai.begin(); //int count2 = 1; //计数10个 while(it2 != vgai.end()) { cout<<it2->getName()<<" " <<it2->getAge()<<"\t" <<it2->getCode()<<"\t" <<it2->getNianji()<<"\t" <<it2->getGrade()<<endl; ++it2; }//4-----------------------------------------------------------------------vector<teacher> vt;teacher t1("高代老师名字", 60, 001, 30, 7000), t2("数分老师名字", 60, 002, 30, 9980),t3("英语老师名字", 998, 003, 2, 700), t4("牛逼老师名字", 60, 004, 30, 7000);vt.push_back(t1), vt.push_back(t2), vt.push_back(t3), vt.push_back(t4);print(vt);char c;cin>>c; return 0;}
一个小题,同学叫我帮忙,我就很快的写了一些,确实很乱,不过要是连上数据库还是有点意思的
0 0
- 求一个C程序
- 一个五子棋C程序
- 一个c语言程序
- C程序一个问题
- 每天一个C程序
- 一个日历C程序
- 一个c程序
- 一个c程序
- 一个C串口通信程序
- 一个无常的C程序
- 一个搞笑的C程序
- 一个时钟程序(c语言)
- 一个有趣的C程序
- 一个搞笑的C程序
- 反汇编一个c程序
- 一个C语言游戏程序
- 一个简单的C程序
- 一个简单的C程序
- ListView的圆角的简单实现
- UVa 12578 - 10:6:2
- coredump简介与coredump原因总结
- windows基础应用程序编程(十二)文件操作
- android真机调试 logcat日志不输出或者输出内容较少时解决方法
- 【一个C++程序】小课设
- Project Euler 92
- JavaScript变量——栈内存or堆内存
- 创造夺目UI的7条规则(第一部分)
- HDU 4725 The Shortest Path in Nya Graph(最短路 SPFA 建图)
- C语言单链表实现19个功能完全详解(完整例程)
- windows 文件在linux运行遇到2个操蛋问题
- opencv2实现n张图像拼接_stitcher具体之代码1_计算机视觉大作业1
- MATLAB绘图确定坐标系的显示范围