//Created by Arc on 2020/5/23
////
//// 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;
//}
////
#include <bits/stdc++.h>
using namespace std;
class JobSeeker;
class JobCenter {
public:
void addseeker(JobSeeker *seek); // 添加学生求职者
//void addExperienced(Experienced *pExperienced); // 添加有工作经验求职者
void publishMessage(const string &message); // 发布职位需求信息
void notifyJobSeekers(); // 通知所有的求职者,让他们接收职位需求信息 string messageorg; // 职位需求信息 JobSeeker *seeker[]; // 指针数组,保存Student对象的指针
// Experienced *experiencedList[100]; // 指针数组,保存Experienced对象的指针
int num=;// 当前求职者的数量
}; class JobSeeker {
public:
// JobSeeker(const string &name, int age);
virtual void answerPhone(const string &message)=; // 接收职位需求信息
void printall(JobCenter *centerr); string name; //名字
int age; //年龄
int ok;
int who=;
}; class Student: public JobSeeker { // 应届大学毕业生
public:
Student(const string &name, int age, double GPA):name(name),age(age),GPA(GPA){
JobSeeker::name=name;
JobSeeker::age=age; whoo(); }; // 在求职中心登记
void answerPhone(const string &message); string name;
int age;
double GPA;
int who=;
void whoo(); }; class Experienced: public JobSeeker { // 有工作经验的求职者
public:
Experienced(const string &name, int age):name(name),age(age){
JobSeeker::name=name;
JobSeeker::age=age;
whoo();
};
void answerPhone(const string &message); // 如果是程序员的工作,就应聘
string name;
int age; int who=;
void whoo();
//void printall();
};
//
void JobCenter::addseeker(JobSeeker *seek){
seeker[num++]=seek;
} void JobCenter::publishMessage(const string &message){
messageorg=message;
cout<<"发布招聘信息:"<<messageorg;
cout<<endl;
}
void JobCenter::notifyJobSeekers() {
cout<<"通知所有求职者..."; }
void Student::answerPhone(const string &message) {
if(GPA<2.5)
ok=;
else ok=;
JobSeeker::ok=ok;
return; }
void Experienced::answerPhone(const string &message) {
string a="程序员";
if (message.find(a) != string::npos) { //cout << "found!" << endl;
ok=;
JobSeeker::ok=ok;
return ;
}
ok=;
JobSeeker::ok=ok;
return ;
}
void Experienced::whoo(){
JobSeeker::who=;
}
void Student::whoo() {
JobSeeker::who=; } void JobSeeker::printall(JobCenter* centerr){
cout<<"我是"<<name<<",";
if(who==){
cout<<"我是一名毕业生,"; } else
cout<<"我有工作经验,待遇要好,";
cout<<"我收到了一个招聘通知:";
cout<<centerr->messageorg;
//cout<<"我觉得";
if(ok==){
cout<<"可以应聘."; }
else{
if(who==) { cout << "无法毕业,不能应聘.";
} else{
cout<<"工作不合适,不应聘.";
}
} } int main() {
JobCenter *jobCenter = new JobCenter(); // 创建“求职中心”
cout<<"求职中心成立了"<<endl; // 创建求职者,并在求职中心登记
Student *zhang = new Student("小张", , 3.3);
JobSeeker *wang = new Experienced("小王", );
Student *li = new Student("小李", , 2.4);
jobCenter->addseeker(zhang);
jobCenter->addseeker(wang);
jobCenter->addseeker(li);
//cout<<"ok"<<endl;
// zhang->answerPhone(jobCenter->messageorg);
// wang->answerPhone(jobCenter->messageorg);
// li->answerPhone(jobCenter->messageorg);
// cout<<zhang->ok<<endl;
// cout<<wang->ok<<endl;
// cout<<li->ok<<endl;
// cout<<"who"<<endl;
// cout<<zhang->who<<endl;
// cout<<wang->who<<endl;
// cout<<li->who<<endl;
// 求职中心发布职位需求信息,并通知全体求职者
cout << endl;
cout<<"发布招聘信息:";
jobCenter->publishMessage("腾辉公司需要10个c++程序员。");
cout << endl;
jobCenter->notifyJobSeekers();
cout << endl;
//
for (int i = ; i < jobCenter->num; ++i) {
jobCenter->seeker[i]->answerPhone(jobCenter->messageorg);
jobCenter->seeker[i]->printall(jobCenter);
cout << endl; }
cout << endl;
//
cout<<"发布招聘信息:";
jobCenter->publishMessage("海景公司需要8个动画设计师。");
cout << endl;
jobCenter->notifyJobSeekers();
cout << endl;
for (int i = ; i < jobCenter->num; ++i) {
jobCenter->seeker[i]->answerPhone(jobCenter->messageorg);
jobCenter->seeker[i]->printall(jobCenter);
cout << endl; }
cout << endl;
//
cout<<"发布招聘信息:";
jobCenter->publishMessage("仁海公司需要9个电工。");
cout << endl;
jobCenter->notifyJobSeekers();
cout << endl;
for (int i = ; i < jobCenter->num; ++i) {
jobCenter->seeker[i]->answerPhone(jobCenter->messageorg);
jobCenter->seeker[i]->printall(jobCenter);
cout << endl; }
cout << endl;
for (int j = ; j < jobCenter->num; ++j) {
delete jobCenter->seeker[j];
jobCenter->num--; // 防止空指针访问 }
cout<<"\n"<<"求职中心关门了"<<endl;
return ; }

对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. 2020年的六种编程语言排名中,java排第几只有不到1%的人知道

    前言 编程语言是开发的基础.有不同的类型和特征,并且开发人员针对不同的场景选择正确的语言,但是您知道使用哪种语言吗?中国和世界各地有多少开发人员正在使用它?他们的排名是多少?快来看看您知道多少个列表! ...

  2. Java常见23中设计模式之【代理模式】

    一.静态代理模式 静态代理,使用继承的方式实现自己新增的服务 这种模式可以实现帮助被代理者完成一些前期的准备工作和后期的善后工作,但是核心的业务逻辑仍然是由被代理者完成. 在某些情况下,一个客户不想或 ...

  3. AcWing 走廊泼水节 题解

    这道题大致题意就是让一棵树任意两点有连边(也就是完全图),但是补完后最小生成树是一开始的那棵树,问最小加的边权之和是多少. 了解题意后,我们可以想到用Kruskal(废话),当每两个集合合并的时候,除 ...

  4. (私人收藏)React教程手册

    React教程手册 https://pan.baidu.com/s/1ka2PJ54HgqJ8lC6XgbvdLg pedx React 教程 含有3个附件,如下: react.js react-do ...

  5. MVC + EFCore 项目实战 - 数仓管理系统2- 搭建基本框架配置EFCore

    本次课程就正式进入开发部分. 首先我们先搭建项目框架,还是和之前渐进式风格保持一致,除必备组件外,尽量使用原生功能以方便大家理解. 开发工具:vs 2019 或以上 数据库:SQL SERVER 20 ...

  6. python学习笔记之数据类型(二)

    上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...

  7. 微信网页授权access_token和普通access_token爬坑

    两者的区别: 1.相同点:两者的有效期都是7200s 2.不同点: ①.网页授权access_token无需用户授权,无需用户关注,在网页授权回调域名下可获取到code,通过code换取网页授权acc ...

  8. Android/iOS内嵌Unity开发示例

    Unity 与 Android/iOS 交叉开发主要有两种方式,以 Android 为例,一是 Android 生成 jar 或者 aar 包,导入到 unity3d plugin/bin/ 目录下: ...

  9. Tensorflow-gpu环境搭建

    显卡设备:英伟达1060 系统:Windows10 python版本:3.7.4 CUDA:cuda_10.0.130_411.31_win10 cudnn:cudnn-10.0-windows10- ...

  10. (三)学习了解OrchardCore笔记——灵魂中间件ModularTenantContainerMiddleware的第一行①的模块部分

    了解到了OrchardCore主要由两个中间件(ModularTenantContainerMiddleware和ModularTenantRouterMiddleware)构成,下面开始了解Modu ...