corporate careers

Must be C++

Problem Statement

Your assignment is to track the corporate careers of some up-and-coming executives who are busily changing jobs, being promoted and demoted, and, of course, getting paid. In this (admittedly unrealistic) version of the corporate world, people either belong to a company or are unemployed. The list of people the program must deal with is not fixed: initially there are none, and new people may be introduced by the JOIN command (see below). Executives within a company are ordered according to a seniority system and are numbered from 1 to N (the number of people in the company) to indicate their rank: 1 is the lowest rank and N is the highest. A new employee always enters at the bottom of the ladder and hence always starts with a rank of 1. When a new person joins a company, the rank of everyone in the company is increased by one, and when an employee quits, the rank of employees above him or her in that company is decreased by one. Promotions can also occur and affect the ranks in the obvious way. Naturally, salaries are based on rank. An employee's salary is Rank*$1000. Unemployed people draw $50 in unemployment compensation. INPUT 1. From file "company": The company names are listed one per line. There are at most 20 companies. Company names are at most 10 characters and do not contain embedded blanks. 2. From file "commands": commands, as listed below. <Person> and <Company> names are at most 10 characters and do not contain embedded blanks.

JOIN <person> <company> <Person> joins the specified <company>. This may be the first reference to this person, or he or she may be unemployed. The person does not currently belong to another company. Remember that when a person joins a company, he or she always starts at the bottom.

QUIT <person> <Person> quits his or her job and becomes unemployed. You may assume that the person is currently employed. CHANGE <person> <company>

<Person> quits his or her job and joins the specified new <company>. You may assume that the person is currently employed.

PROMOTE <person>

<Person> is moved up one step in the current company, ahead of his or her immediate superior. ff the person has highest rank within the company, no change occurs.

continued in next section.....

## Deliverables

DEMOTE <person>

<Person> is moved one step down in the current company, below his or her immediate subordinate. If the person has lowest rank within the company, no change occurs.

HISTORY <person>

Prints out a chronological employment history of <person> from first job to last, including salaries and final rank.


Each person is paid his or her salary as specified in the Problem Statement. (You must keep track of the amount each person has earned from the start of the program.)

EMPLOYEES <company>

The current list of employees should be printed for the specified <company>. The employees must be printed in order of rank; either top to bottom or bottom to top is appropriate.


The list of unemployed people should be printed.


Print the employees in each company, as specified under the EMPLOYEES command above, then print the unemployed people. Label the output appropriately


Stop accepting commands.

Note that the CHANGE, PROMOTE, and DEMOTE commands do not tell you the person's current employer; you have to search the data structure to find the person.

OUTPUT (to screen and file "employee-out")

1. Echo print all commands, and print out a message that indicates what action has been taken. (For the EMPLOYEES and UNEMPLOYED commands, print out the information specified in the Input section.)

2. After all the commands have been processed, print out one list consisting of all the people who have been mentioned in any command and the total amount of money they have accumulated.

Your solution should be object-oriented. You should create a Corporate World Class that responds to the action commands. You should make use of one of the two list ADTs (array or pointer based) that you already wrote in your solution.

## Platform

windows xp

Habilidades: Programação C, Engenharia, MySQL, PHP, Arquitetura de software, Teste de Software

Veja mais: world programming system, world programming, what jobs make the most money, what is the problem statement, what is problem statement, what is object oriented programming, what is embedded programming, what is data structure in programming, what is a problem statement, what is an object in programming, what is an assignment problem, what is an array in programming, what data structure, what are data structure, use of data structure in programming, top programming jobs, top programming companies, top paid jobs, top down programming, top 10 jobs that make the most money, top 10 jobs, statement problem, solution to assignment problem, solution of assignment problem, search data structure

Acerca do Empregador:
( 0 comentários ) United States

ID do Projeto: #3011947

Concedido a:


See private message.

$10 USD em 21 dias
(101 Comentários)

8 freelancers estão ofertando em média $9 para esse trabalho


See private message.

$8.5 USD in 21 dias
(52 Comentários)

See private message.

$6.8 USD in 21 dias
(16 Comentários)

See private message.

$8.5 USD in 21 dias
(3 Comentários)

See private message.

$12.75 USD in 21 dias
(5 Comentários)

See private message.

$8.5 USD in 21 dias
(5 Comentários)

See private message.

$11.05 USD in 21 dias
(0 Comentários)

See private message.

$8.5 USD in 21 dias
(1 Comentário)