Array of Objects
You should be comfortable with the content in the modules up to and including the module "Arrays" for this project.
Create a class called consultCo that holds a private class called employee that contains the name, pay rate and social security number of an employee of a consulting firm called consultCo. The consultCo class should also have an array that holds all of the objects of all of the employees in the array. This will be an array of employee objects.
Here is a logical diagram of this array of objects:
You will also need functions to satisfy the following requirements:
Minimum Requirements:
- An add function to hire a new employee. This function should create a new object with the employee information (name, payrate and social security number) and then it should add that new object to the array. You are not required to update an employee’s data if the employee exists. (5 points)
- A report function that will display the name, pay rate and social security number of all employees. (5 points).
- A raise function that will give all employees a 10% raise. (5 points).
- You will also need a main function that creates calls the function(s) you created to meet the requirements of this project (5 points).
Notes:
The Module Lab Activity "Lookup!" can be extremely helpful for this project. Just by following the lab activity (and the video demos if needed), you can make significant progress toward completing this assignment.
Answer
#include"class.h"
int main()
{
bool running = true;
companyCo database;
int choice = 0;
while (running == true)
{
std::cout << "\n1. Add
an employee" << std::endl;
std::cout << "\n2. Check
database" << std::endl;
std::cout << "\n3. This
is a good day... INCREASE ALL SALARIES BY 10%!" << std::endl;
std::cout << "\n4.
Exit\n" << std::endl;
std::cin >> choice;
if (choice == 1)
{
std::cout << "Add an
employee" << std::endl;
database.addEmployee();
}
else if (choice == 2)
{
std::cout << "Check
database" << std::endl;
database.displayData();
}
else if (choice == 3)
{
database.increaseSalary();
}
else
{
std::cout <<
"Exit" << std::endl;
running = false;
}
}
return 0;
}
#include"class.h"
companyCo::companyCo()
{
//to keep the size of the array small
enough for testing purposes...
size = 7;
populated = 0;
}
companyCo::employee::employee()
{
//Default value for all the
unpopulated areas within the array
name = "not applicable";
payRate = 0.0;
ssN = 000;
}
void companyCo::addEmployee()
{
employee record;
std::string name;
float payRate;
int ssN;
std::cout << "Please enter the Name: " <<
std::endl;
std::cin >> name;
std::cout << "Please enter
the Payrate: " << std::endl;
std::cin >> payRate;
std::cout << "Please enter
the SSN: " << std::endl;
std::cin >> ssN;
record.name = name;
record.payRate = payRate;
record.ssN = ssN;
std::cout << "Record
added\n\n\n" << std::endl;
//update table
entries[populated] = record;
populated++;
}
void companyCo::displayData()
{
int limit; //user can specify how much
to output
std::cout << "Enter the number of eployees you want to see:
" << std::endl;
std::cin >> limit;
for (int i = 0; i<limit; i++)
{
std::cout << entries[i].name
<< std::endl;
std::cout <<
entries[i].payRate << std::endl;
std::cout << entries[i].ssN
<< std::endl;
std::cout << std::endl;
}
}
void companyCo::increaseSalary() //increases salary by 10% however, all new
members of the array will have no benefit from this...
{
for (int i = 0; i<size; i++)
{
entries[i].payRate =
entries[i].payRate * 1.1;
}
std::cout << "\nSalary increased.\n" << std::endl;
木其工作室
#include<iostream>
#include<sstream>
class companyCo
{
private:
class employee
{
public:
std::string name;
float payRate;
int ssN;
employee();
};
int size;
int populated;
employee entries[7]; //7.. is a magic
number
public:
companyCo();
void addEmployee();
void displayData();
void increaseSalary();
};
Array of Objects的更多相关文章
- The method below converts an array of objects to a DataTable object in C#.
http://www.c-sharpcorner.com/blogs/dynamic-objects-conveting-into-data-table-in-c-sharp1 public stat ...
- How to use Jackson to deserialise an array of objects
first create a mapper : import com.fasterxml.jackson.databind.ObjectMapper; ObjectMapper mapper = ne ...
- Why does typeof array with objects return “Object” and not “Array”?
https://stackoverflow.com/questions/4775722/check-if-object-is-an-array One of the weird behaviour a ...
- Co-variant array conversion from x to y may cause run-time exception
http://stackoverflow.com/questions/8704332/co-variant-array-conversion-from-x-to-y-may-cause-run-tim ...
- [JavaScript] Array.prototype.reduce in JavaScript by example
Let's take a closer look at using Javascript's built in Array reduce function. Reduce is deceptively ...
- iOS 判断数组array中是否包含元素a,取出a在array中的下标+数组方法详解
目前找到来4个解决办法,第三个尤为简单方便 NSArray * arr = @["]; //是否包含 "]) { NSInteger index = [arr indexOfObj ...
- PHP 根据对象属性进行对象数组的排序(usort($your_data, "cmp");)(inside the class: usort($your_data, array($this, "cmp")))
PHP 根据对象属性进行对象数组的排序(usort($your_data, "cmp");)(inside the class: usort($your_data, array($ ...
- [Ramda] R.project -- Select a Subset of Properties from a Collection of Objects in Ramda
In this lesson we'll take an array of objects and map it to a new array where each object is a subse ...
- Cocos2d-x之Array
| 版权声明:本文为博主原创文章,未经博主允许不得转载. Array是一个列表类容器,是一种线性序列结构:列表容器中的元素是有序的,可以通过下标来访问,就和数组一样.其中Vector也是一种列表容 ...
随机推荐
- 使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集(转)
摘要 使用Elasticsearch.Logstash.Kibana与Redis(作为缓冲区)对Nginx日志进行收集 版本 elasticsearch版本: elasticsearch-2.2.0 ...
- hdu 5183(hash)
传送门:Negative and Positive (NP) 题意:给定一个数组(a0,a1,a2,⋯an−1)和一个整数K, 请来判断一下是否存在二元组(i,j)(0≤i≤j<n)使得 NP− ...
- Java使用javax.mail.jar发送邮件并同意发送附件
因为Java在开发网页上占有绝大优势.所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必定,网络安全一再安全我们须要把账号的安全级别提到更高.因此这些对于开发者也就成了必须掌握的技能!我一 ...
- fastjson 之常见的数据类型与json的相互转换
public class FastJsonTest1 { /** * 数组转json格式字符串 */ public void array2Json(){ String[] arr = {"b ...
- RSA密码系统 基于大数环境编写 密码学课程设计
RSA密码系统的实现 1.问题描述 RSA密码系统可具体描述为:取两个大素数p和q,令n=pq,N=(p-1)(q-1),随机选择整数d,满足gcd(d,N)=1,ed=1 modN. 公开密钥:k1 ...
- JSCapture实现屏幕捕捉
JSCapture 是用纯 JavaScript 和 HTML5 实现的屏幕捕捉库. 能够随意在浏览器或者桌面视频进行截图, JSCapture 使用 getUserMedia 来实现屏幕捕获. 当前 ...
- 基于Linux根据僵尸网络病毒平台《比尔盖茨》
感觉分析的非常好,所以决定翻译出来,希望和大家多多交流O(∩_∩)O~ 转载请注明出处:http://blog.csdn.net/u010484477 O(∩_∩)O谢谢 keyword:病毒 ...
- 简单深刻:为控件创建MouseEnter和MouseLeave事件(覆盖WndProc,增加对消息的处理,真简单!)——连对CM_MOUSEENTER的消息处理都是颇有深意啊!
其实很简单: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, D ...
- c#超时锁定
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- hdu 5071 Chat(模拟)
题目链接:hdu 5071 Chat 题目大意:模拟题. .. 注意最后说bye的时候仅仅要和讲过话的妹子说再见. 解题思路:用一个map记录每一个等级的妹子讲过多少话以及是否有这个等级的妹子.数组A ...