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也是一种列表容 ...
随机推荐
- find . / -newer oldest_file.txt ! -newer newest_file.txt
如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项. 它的一般形式为: $ find . / -newer oldest_file.txt ! -newer newe ...
- 监控apache虚拟主机进程
mod_status模块能输出例如以下内容: 正在伺服请求的工作者(线程或进程)数量 空暇的工作者数量 每一个工作者的状态:已完毕的请求数.已发送的字节数.(*) 总訪问数和已发送的字节总数(*) s ...
- 在使用supervisord 管理tomcat时遇到的小问题
使用 supervisord 监控管理的进程必须以 nodaemon 启动,而 tomcat 的 startup.sh 脚本是daemon方式的,假设不做改动的话,supervisord 会一直报错 ...
- Oauth认证的时候报错:timestamp_refused
今天server大规模报错,大部分用户无法登陆,小部分能够登陆,非常是奇怪. 查看log.调试代码,发现问题是在oauth认证的时候出了问题,报 timestamp_refused. google了下 ...
- ThinkPhp学习10
原文:ThinkPhp学习10 查询操作 Action模块 User下的search public function search(){ //判断username是否已经传入,且不为空 if(isse ...
- java--ThreadPool线程池简单用法
package com.threadPool; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent. ...
- vdsm的SSL证书验证过程
1. Copy the VDSM certificate of the RHEV-H(Red Hat Enterprise Virtualization Hypervisor ) host to th ...
- C++ 指针—02 指针与引用的对照
★同样点: ●都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:而引用则是某块内存的别名. ★不同点: ●指针是一个实体,而引用仅是个别名: ●引用仅仅能在定义时被初始化一次,之后不可变: ...
- nodejs启动守护程序pm2
nodejs启动守护程序pm2 by 伍雪颖 做了个应用,server放阿里云,只是server总会自己断,后来写了个心跳程序,就是检測应用线程是否还在,不在就再启动, 这种方法好笨重啊,后来发现no ...
- OCA读书笔记(13) - 性能管理
使用EM监控性能使用自动内存管理(AMM)使用Memory Advisor分配内存查看性能相关动态视图诊断无效的和不可用的对象 创建问题SQLsqlplus / as sysdbaconn scott ...