• cpp求职


      1 //Created by Arc on 2020/5/23
      2  ////
    //// Created by snnnow on 2020/5/20.
    ////
    //面向对象的程序设计-期中测试
    // 根据题目实现求职中心应用程序。
    //1.求职者对求职中心的职位需求信息非常关心,很想跟踪求职中心中职位需求信息的变化。因此,求职中心会让求职者把个人信息登记下来。
    // 当出现新的职位需求时,求职中心会通知全体求职者,而求职者会根据不同的职位需求做出不同的响应:应聘或忽略。
    //2.编写程序,模拟求职者在求职中心进行登记,求职中心发布职位需求信息,求职者决定是否应聘的过程。
    //1)定义求职中心JobCenter,其成员变量可以保存所有的求职者;
    //2)定义求职者类JobSeeker,定义2种不同类型的求职者对象,应届大学毕业生Student类和有工作经验的求职者Experienced类,并在求职中心中进行注册登记;
    //3求职中心发布新的职位需求信息,并及时通知所有注册过的求职者。
    //4)求职者能够自动接收信息,并做出响应:应聘或忽略。
    //5)应届大学毕业生做出应聘的响应之前,还必须先进行自我审核:绩点(GPA)不低于2.5分才可以毕业和参加应聘;否则,不能参加应聘。
    //3.题目要求
    //1)创建新的工程项目Findjob
    //2)为每个类编写单独的头文件和源文件,例如JobCenter.hJobCenter.cpp
    //3)主程序对应的源文件名为Findjob.cpp,里面包含main()函数。
    //4.编写程序并测试。可以自由扩展程序。
    //class JobCenter {
    //public:
    // void addStudent(Student *pStudent); // 添加学生求职者
    // void addExperienced(Experienced *pExperienced); // 添加有工作经验求职者
    // void publishMessage(const string &message); // 发布职位需求信息
    // void notifyJobSeekers(); // 通知所有的求职者,让他们接收职位需求信息
    //private:
    // string message; // 职位需求信息
    // ········ // 其他属性
    // int numJobSeeker; // 当前求职者的数量
    // Student *studentsList[100]; // 指针数组,保存Student对象的指针
    // Experienced *experiencedList[100]; // 指针数组,保存Experienced对象的指针
    //};
    //class JobSeeker {
    //public:
    // JobSeeker(const string &name, int age);
    // void answerPhone(const string &message); // 接收职位需求信息
    //protected:
    // string name; //名字
    // int age; //年龄
    //};
    //class Student: public JobSeeker { // 应届大学毕业生
    //public:
    // Student(const string &name, int age, double GPA, JobCenter *,...); // 在求职中心登记
    // void answerPhone(const string &message);
    //};
    //class Experienced: public JobSeeker { // 有工作经验的求职者
    //public:
    // Experienced(const string &name, int age, JobCenter *jobCenter);
    // void answerPhone(const string &message); // 如果是程序员的工作,就应聘
    //};
    //
    //int main() {
    // JobCenter *jobCenter = new JobCenter(); // 创建求职中心
    //
    // // 创建求职者,并在求职中心登记
    // Student *zhang = new Student("小张", 22, 3.3, jobCenter);
    // Experienced *wang = new Experienced("小王", 30, jobCenter);
    // Student *li = new Student("小李", 21, 2.4, jobCenter);
    //
    // // 求职中心发布职位需求信息,并通知全体求职者
    // jobCenter->publishMessage("腾辉公司需要10C++程序员。");
    // jobCenter-> notifyJobSeekers();
    // cout << endl;
    //
    // jobCenter->publishMessage("海景公司需要8个动画设计师。");
    // jobCenter-> notifyJobSeekers();
    // cout << endl;
    //
    // jobCenter->publishMessage("仁海公司需要9个电工。");
    // jobCenter-> notifyJobSeekers();
    // cout << endl;
    //
    // delete li;
    // ...... // 其他代码,完成收尾工作
    //}
    //9.程序执行完毕后,命令行窗口显示的结果:
    //求职中心成立了
    //
    // 发布招聘信息:腾辉公司需要10C++程序员。
    //
    //通知所有求职者...
    // 我叫小张,我是一名毕业生,我收到了招聘信息:腾辉公司需要10C++程序员。可以应聘。
    //我叫小王,我有工作经验,待遇要好。我收到了招聘信息:腾辉公司需要10C++程序员。可以应聘。
    //我叫小李,我是一名毕业生,我收到了招聘信息:腾辉公司需要10C++程序员。无法毕业,不能应聘。
    //
    //发布招聘信息:海景公司需要8个动画设计师。
    //
    //通知所有求职者...
    // 我叫小张,我是一名毕业生,我收到了招聘信息:海景公司需要8个动画设计师。可以应聘。
    //我叫小王,我有工作经验,待遇要好。我收到了招聘信息:海景公司需要8个动画设计师。工作不合适,不应聘。
    //我叫小李,我是一名毕业生,我收到了招聘信息:海景公司需要8个动画设计师。无法毕业,不能应聘。
    //
    //
    //发布招聘信息:仁海公司需要9个电工。
    //
    //通知所有求职者...
    // 我叫小张,我是一名毕业生,我收到了招聘信息:仁海公司需要9个电工。可以应聘。
    //我叫小王,我有工作经验,待遇要好。我收到了招聘信息:仁海公司需要9个电工。工作不合适,不应聘。
    //我叫小李,我是一名毕业生,我收到了招聘信息:仁海公司需要9个电工。无法毕业,不能应聘。
    //
    //求职中心关闭了
    //
    //
    //
    //
    //
    // 提示:采用下面的方法判断一个字符串中是否含有指定的子串。
    //if (str1.find(str2) != string::npos) {
    //cout << "found!" << endl;
    //}
    ////
    3 #include <bits/stdc++.h> 4 using namespace std; 5 class JobSeeker; 6 class JobCenter { 7 public: 8 void addseeker(JobSeeker *seek); // 添加学生求职者 9 //void addExperienced(Experienced *pExperienced); // 添加有工作经验求职者 10 void publishMessage(const string &message); // 发布职位需求信息 11 void notifyJobSeekers(); // 通知所有的求职者,让他们接收职位需求信息 12 13 string messageorg; // 职位需求信息 14 15 16 JobSeeker *seeker[100]; // 指针数组,保存Student对象的指针 17 // Experienced *experiencedList[100]; // 指针数组,保存Experienced对象的指针 18 int num=0;// 当前求职者的数量 19 }; 20 21 22 class JobSeeker { 23 public: 24 // JobSeeker(const string &name, int age); 25 virtual void answerPhone(const string &message)=0; // 接收职位需求信息 26 void printall(JobCenter *centerr); 27 28 29 string name; //名字 30 int age; //年龄 31 int ok; 32 int who=0; 33 }; 34 35 36 class Student: public JobSeeker { // 应届大学毕业生 37 public: 38 Student(const string &name, int age, double GPA):name(name),age(age),GPA(GPA){ 39 JobSeeker::name=name; 40 JobSeeker::age=age; 41 42 whoo(); 43 44 }; // 在求职中心登记 45 void answerPhone(const string &message); 46 47 string name; 48 int age; 49 double GPA; 50 int who=1; 51 void whoo(); 52 53 }; 54 55 56 class Experienced: public JobSeeker { // 有工作经验的求职者 57 public: 58 Experienced(const string &name, int age):name(name),age(age){ 59 JobSeeker::name=name; 60 JobSeeker::age=age; 61 whoo(); 62 }; 63 void answerPhone(const string &message); // 如果是程序员的工作,就应聘 64 string name; 65 int age; 66 67 int who=2; 68 void whoo(); 69 //void printall(); 70 }; 71 // 72 void JobCenter::addseeker(JobSeeker *seek){ 73 seeker[num++]=seek; 74 } 75 76 void JobCenter::publishMessage(const string &message){ 77 messageorg=message; 78 cout<<"发布招聘信息:"<<messageorg; 79 cout<<endl; 80 } 81 void JobCenter::notifyJobSeekers() { 82 cout<<"通知所有求职者..."; 83 84 } 85 void Student::answerPhone(const string &message) { 86 if(GPA<2.5) 87 ok=0; 88 else ok=1; 89 JobSeeker::ok=ok; 90 return; 91 92 93 } 94 void Experienced::answerPhone(const string &message) { 95 string a="程序员"; 96 if (message.find(a) != string::npos) { 97 98 //cout << "found!" << endl; 99 ok=1; 100 JobSeeker::ok=ok; 101 return ; 102 } 103 ok=0; 104 JobSeeker::ok=ok; 105 return ; 106 } 107 void Experienced::whoo(){ 108 JobSeeker::who=2; 109 } 110 void Student::whoo() { 111 JobSeeker::who=1; 112 113 } 114 115 void JobSeeker::printall(JobCenter* centerr){ 116 cout<<"我是"<<name<<","; 117 if(who==1){ 118 cout<<"我是一名毕业生,"; 119 120 } else 121 cout<<"我有工作经验,待遇要好,"; 122 cout<<"我收到了一个招聘通知:"; 123 cout<<centerr->messageorg; 124 //cout<<"我觉得"; 125 if(ok==1){ 126 cout<<"可以应聘."; 127 128 } 129 else{ 130 if(who==1) { 131 132 cout << "无法毕业,不能应聘."; 133 } else{ 134 cout<<"工作不合适,不应聘."; 135 } 136 } 137 138 139 } 140 141 int main() { 142 JobCenter *jobCenter = new JobCenter(); // 创建“求职中心” 143 cout<<"求职中心成立了"<<endl; 144 145 // 创建求职者,并在求职中心登记 146 Student *zhang = new Student("小张", 22, 3.3); 147 JobSeeker *wang = new Experienced("小王", 30); 148 Student *li = new Student("小李", 21, 2.4); 149 jobCenter->addseeker(zhang); 150 jobCenter->addseeker(wang); 151 jobCenter->addseeker(li); 152 //cout<<"ok"<<endl; 153 // zhang->answerPhone(jobCenter->messageorg); 154 // wang->answerPhone(jobCenter->messageorg); 155 // li->answerPhone(jobCenter->messageorg); 156 // cout<<zhang->ok<<endl; 157 // cout<<wang->ok<<endl; 158 // cout<<li->ok<<endl; 159 // cout<<"who"<<endl; 160 // cout<<zhang->who<<endl; 161 // cout<<wang->who<<endl; 162 // cout<<li->who<<endl; 163 // 求职中心发布职位需求信息,并通知全体求职者 164 cout << endl; 165 cout<<"发布招聘信息:"; 166 jobCenter->publishMessage("腾辉公司需要10个c++程序员。"); 167 cout << endl; 168 jobCenter->notifyJobSeekers(); 169 cout << endl; 170 // 171 for (int i = 0; i < jobCenter->num; ++i) { 172 jobCenter->seeker[i]->answerPhone(jobCenter->messageorg); 173 jobCenter->seeker[i]->printall(jobCenter); 174 cout << endl; 175 176 } 177 cout << endl; 178 // 179 cout<<"发布招聘信息:"; 180 jobCenter->publishMessage("海景公司需要8个动画设计师。"); 181 cout << endl; 182 jobCenter->notifyJobSeekers(); 183 cout << endl; 184 for (int i = 0; i < jobCenter->num; ++i) { 185 jobCenter->seeker[i]->answerPhone(jobCenter->messageorg); 186 jobCenter->seeker[i]->printall(jobCenter); 187 cout << endl; 188 189 } 190 cout << endl; 191 // 192 cout<<"发布招聘信息:"; 193 jobCenter->publishMessage("仁海公司需要9个电工。"); 194 cout << endl; 195 jobCenter->notifyJobSeekers(); 196 cout << endl; 197 for (int i = 0; i < jobCenter->num; ++i) { 198 jobCenter->seeker[i]->answerPhone(jobCenter->messageorg); 199 jobCenter->seeker[i]->printall(jobCenter); 200 cout << endl; 201 202 } 203 cout << endl; 204 for (int j = 0; j < jobCenter->num; ++j) { 205 delete jobCenter->seeker[j]; 206 jobCenter->num--; // 防止空指针访问 207 208 } 209 cout<<" "<<"求职中心关门了"<<endl; 210 return 0; 211 212 }

    对xty dl标点符号级的指出错误表示十分的感谢!!!!!!!

  • 相关阅读:
    Java开发常用Util工具类
    冒泡排序
    EMQ 消息服务器
    将jar文件包打成exe文件
    mina框架搭建tcp服务器:编写自定义协议及编解码器
    SpringBoot中定时任务的设置
    SpringBoot项目+Shiro(权限框架)+Redis(缓存)集成
    计算两个时间之间的天数
    关于extern的使用
    ADC采样间隔问题+TRGO作为ADC的触发源头
  • 原文地址:https://www.cnblogs.com/zhmlzhml/p/12942701.html
Copyright © 2020-2023  润新知