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.h和JobCenter.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("腾辉公司需要10个C++程序员。");
    // jobCenter-> notifyJobSeekers();
    // cout << endl;
    //
    // jobCenter->publishMessage("海景公司需要8个动画设计师。");
    // jobCenter-> notifyJobSeekers();
    // cout << endl;
    //
    // jobCenter->publishMessage("仁海公司需要9个电工。");
    // jobCenter-> notifyJobSeekers();
    // cout << endl;
    //
    // delete li;
    // ...... // 其他代码,完成收尾工作
    //}
    //9.程序执行完毕后,命令行窗口显示的结果:
    //求职中心成立了
    //
    // 发布招聘信息:腾辉公司需要10个C++程序员。
    //
    //通知所有求职者...
    // 我叫小张,我是一名毕业生,我收到了招聘信息:腾辉公司需要10个C++程序员。可以应聘。
    //我叫小王,我有工作经验,待遇要好。我收到了招聘信息:腾辉公司需要10个C++程序员。可以应聘。
    //我叫小李,我是一名毕业生,我收到了招聘信息:腾辉公司需要10个C++程序员。无法毕业,不能应聘。
    //
    //发布招聘信息:海景公司需要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. JobSeeker *seeker[]; // 指针数组,保存Student对象的指针
  16. // Experienced *experiencedList[100]; // 指针数组,保存Experienced对象的指针
  17. int num=;// 当前求职者的数量
  18. };
  19.  
  20. class JobSeeker {
  21. public:
  22. // JobSeeker(const string &name, int age);
  23. virtual void answerPhone(const string &message)=; // 接收职位需求信息
  24. void printall(JobCenter *centerr);
  25.  
  26. string name; //名字
  27. int age; //年龄
  28. int ok;
  29. int who=;
  30. };
  31.  
  32. class Student: public JobSeeker { // 应届大学毕业生
  33. public:
  34. Student(const string &name, int age, double GPA):name(name),age(age),GPA(GPA){
  35. JobSeeker::name=name;
  36. JobSeeker::age=age;
  37.  
  38. whoo();
  39.  
  40. }; // 在求职中心登记
  41. void answerPhone(const string &message);
  42.  
  43. string name;
  44. int age;
  45. double GPA;
  46. int who=;
  47. void whoo();
  48.  
  49. };
  50.  
  51. class Experienced: public JobSeeker { // 有工作经验的求职者
  52. public:
  53. Experienced(const string &name, int age):name(name),age(age){
  54. JobSeeker::name=name;
  55. JobSeeker::age=age;
  56. whoo();
  57. };
  58. void answerPhone(const string &message); // 如果是程序员的工作,就应聘
  59. string name;
  60. int age;
  61.  
  62. int who=;
  63. void whoo();
  64. //void printall();
  65. };
  66. //
  67. void JobCenter::addseeker(JobSeeker *seek){
  68. seeker[num++]=seek;
  69. }
  70.  
  71. void JobCenter::publishMessage(const string &message){
  72. messageorg=message;
  73. cout<<"发布招聘信息:"<<messageorg;
  74. cout<<endl;
  75. }
  76. void JobCenter::notifyJobSeekers() {
  77. cout<<"通知所有求职者...";
  78.  
  79. }
  80. void Student::answerPhone(const string &message) {
  81. if(GPA<2.5)
  82. ok=;
  83. else ok=;
  84. JobSeeker::ok=ok;
  85. return;
  86.  
  87. }
  88. void Experienced::answerPhone(const string &message) {
  89. string a="程序员";
  90. if (message.find(a) != string::npos) {
  91.  
  92. //cout << "found!" << endl;
  93. ok=;
  94. JobSeeker::ok=ok;
  95. return ;
  96. }
  97. ok=;
  98. JobSeeker::ok=ok;
  99. return ;
  100. }
  101. void Experienced::whoo(){
  102. JobSeeker::who=;
  103. }
  104. void Student::whoo() {
  105. JobSeeker::who=;
  106.  
  107. }
  108.  
  109. void JobSeeker::printall(JobCenter* centerr){
  110. cout<<"我是"<<name<<",";
  111. if(who==){
  112. cout<<"我是一名毕业生,";
  113.  
  114. } else
  115. cout<<"我有工作经验,待遇要好,";
  116. cout<<"我收到了一个招聘通知:";
  117. cout<<centerr->messageorg;
  118. //cout<<"我觉得";
  119. if(ok==){
  120. cout<<"可以应聘.";
  121.  
  122. }
  123. else{
  124. if(who==) {
  125.  
  126. cout << "无法毕业,不能应聘.";
  127. } else{
  128. cout<<"工作不合适,不应聘.";
  129. }
  130. }
  131.  
  132. }
  133.  
  134. int main() {
  135. JobCenter *jobCenter = new JobCenter(); // 创建“求职中心”
  136. cout<<"求职中心成立了"<<endl;
  137.  
  138. // 创建求职者,并在求职中心登记
  139. Student *zhang = new Student("小张", , 3.3);
  140. JobSeeker *wang = new Experienced("小王", );
  141. Student *li = new Student("小李", , 2.4);
  142. jobCenter->addseeker(zhang);
  143. jobCenter->addseeker(wang);
  144. jobCenter->addseeker(li);
  145. //cout<<"ok"<<endl;
  146. // zhang->answerPhone(jobCenter->messageorg);
  147. // wang->answerPhone(jobCenter->messageorg);
  148. // li->answerPhone(jobCenter->messageorg);
  149. // cout<<zhang->ok<<endl;
  150. // cout<<wang->ok<<endl;
  151. // cout<<li->ok<<endl;
  152. // cout<<"who"<<endl;
  153. // cout<<zhang->who<<endl;
  154. // cout<<wang->who<<endl;
  155. // cout<<li->who<<endl;
  156. // 求职中心发布职位需求信息,并通知全体求职者
  157. cout << endl;
  158. cout<<"发布招聘信息:";
  159. jobCenter->publishMessage("腾辉公司需要10个c++程序员。");
  160. cout << endl;
  161. jobCenter->notifyJobSeekers();
  162. cout << endl;
  163. //
  164. for (int i = ; i < jobCenter->num; ++i) {
  165. jobCenter->seeker[i]->answerPhone(jobCenter->messageorg);
  166. jobCenter->seeker[i]->printall(jobCenter);
  167. cout << endl;
  168.  
  169. }
  170. cout << endl;
  171. //
  172. cout<<"发布招聘信息:";
  173. jobCenter->publishMessage("海景公司需要8个动画设计师。");
  174. cout << endl;
  175. jobCenter->notifyJobSeekers();
  176. cout << endl;
  177. for (int i = ; i < jobCenter->num; ++i) {
  178. jobCenter->seeker[i]->answerPhone(jobCenter->messageorg);
  179. jobCenter->seeker[i]->printall(jobCenter);
  180. cout << endl;
  181.  
  182. }
  183. cout << endl;
  184. //
  185. cout<<"发布招聘信息:";
  186. jobCenter->publishMessage("仁海公司需要9个电工。");
  187. cout << endl;
  188. jobCenter->notifyJobSeekers();
  189. cout << endl;
  190. for (int i = ; i < jobCenter->num; ++i) {
  191. jobCenter->seeker[i]->answerPhone(jobCenter->messageorg);
  192. jobCenter->seeker[i]->printall(jobCenter);
  193. cout << endl;
  194.  
  195. }
  196. cout << endl;
  197. for (int j = ; j < jobCenter->num; ++j) {
  198. delete jobCenter->seeker[j];
  199. jobCenter->num--; // 防止空指针访问
  200.  
  201. }
  202. cout<<"\n"<<"求职中心关门了"<<endl;
  203. return ;
  204.  
  205. }

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

cpp求职的更多相关文章

  1. 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

    前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...

  2. Json CPP 中文支持与入门示例

    在每一个Json Cpp自带*.cpp文件头加上: #include "stdafx.h" 将Json Cpp对自带的头文件的引用修改为单引号方式,例如json_reader.cp ...

  3. cpp 调用python

    在用cpp调用python时, 出现致命错误: no module named site  ,  原因解释器在搜索路径下没有找到python库.可以在调用Py_Initialize前,调用 Py_Se ...

  4. nginx+fastcgi+c/cpp

    参考:http://github.tiankonguse.com/blog/2015/01/19/cgi-nginx-three/ 跟着做了一遍,然后根据记忆写的,不清楚有没错漏步骤,希望多多评论多多 ...

  5. APM程序分析-ArduCopter.cpp

    该文件是APM的主文件. #define SCHED_TASK(func, rate_hz, max_time_micros) SCHED_TASK_CLASS(Copter, &copter ...

  6. APM程序分析-AC_WPNav.cpp

    APM程序分析 主程序在ArduCopter.cpp的loop()函数. /// advance_wp_target_along_track - move target location along ...

  7. Dev Cpp 输出中文字符问题

    最近 c++ 上机作业,vc++6.0 挂了没法用,只好用 Dev Cpp 先顶替一下,然而在遇到输出中文字符的时候出现了乱码的情况,但这种情况又非常诡异.于是简单了解了一下写成此博客. [写在前面] ...

  8. 【整理】待毕业.Net码农就业求职储备

    声明:本文题目来源于互联网,仅供即将从学校毕业的.Net码农(当然,我本人也是菜逼一个)学习之用.当然,学习了这些题目不一定会拿到offer,但是针对就业求职做些针对性的准备也是不错的.此外,除了技术 ...

  9. [转]9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路

    1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头of ...

随机推荐

  1. 【树形dp】Farmcraft

    题目 In a village called Byteville, there are houses connected with N-1 roads. For each pair of houses ...

  2. 运行python出现 SyntaxError: Non-ASCII character '\xe6' in file /Users/finup/Documents/python_project/test.py 解决办法

    使用pycharm运行程序时出现以下错误 这个错误主要是由于python2的编码默认是ASCII,你的文件里有中文就必须要用utf-8编码,只要在文件需要在文件开头标注 #coding=utf-8如下 ...

  3. 什么才是市场急需的前端工程师?要价1.8W,HR不敢还嘴!

    据统计,国外的前端开发人员和后端开发人员比例约1:1,但是在国内比例却在1:3以下, Web前端开发职位人才缺口巨大.前端工程师的发展之路十分有“钱”景. 每天,HR 群都有人在吐槽招不到前端工程师. ...

  4. ansible 2.7 API

    # coding:utf-8 # @Time : 2019-01-14 15:22 # @Author : 小贰 # @FileName: ansible_sync_hosts.py # @funct ...

  5. Spring-Validation(数据校验) 你值得拥有

    前言 最近看到很多童鞋在项目中的对请求参数的校验都用的if来判断各参数的属性,如: if(StringUtils.isBlank(username)){ return RR.exception(&qu ...

  6. Qt_Demo3:实现棋盘

    1  简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=53 说明:实现一个8*8的棋盘,点击棋盘的任意位置显示一个表情,并打印出当前的坐标( ...

  7. 我终于弄懂了Python的装饰器(四)

    此系列文档: 1. 我终于弄懂了Python的装饰器(一) 2. 我终于弄懂了Python的装饰器(二) 3. 我终于弄懂了Python的装饰器(三) 4. 我终于弄懂了Python的装饰器(四) 四 ...

  8. JavaScript学习 Ⅱ

    五. JavaScript 数据类型 JavaScript 变量能够保存多种数据类型:数值.字符串值.数组.对象等等: var length = 7; // 数字 var lastName = &qu ...

  9. Prometheus + Grafana 监控(mysql 和redis)

    1.监控MySQL(mysqld-exporter) https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/m ...

  10. Maven [ERROR] 不再支持源选项 5,请使用 7 或更高版本的解决办法

    刚刚学Maven,当我点击test时 就出现了这两个错误: [ERROR] 不再支持源选项 5.请使用 7 或更高版本.[ERROR] 不再支持目标选项 5.请使用 7 或更高版本. 后来在看到这篇文 ...