Case 3-2 Rite Aid Inventory Surplus Fraud
Occupational fraud comes in many shapes and sizes. The fraud at Rite Aid is one such case. In February 2015, VP Jay Findling pleaded guilty to fraud. VP Timothy Foster pleaded guilty to making false statements to authorities. On November 16, 2016, Foster was sentenced to five years in prison and Findling, four years. Findling and Foster were ordered to jointly pay $8,034,183 in restitution. Findling also forfeited and turned over an additional $11.6 million to the government at the time he entered his guilty plea. In sentencing Foster, U.S. Middle District Judge John E. Jones III expressed his astonishment that in one instance at Rite-Aid headquarters, Foster took a multimillion dollar cash pay-off from Findling, then stuffed the money into a bag and flew home on Rite Aid’s corporate jet.1
The charges relate to a nine-year conspiracy to defraud Rite Aid by lying to the company about the sale of surplus inventory to a company owned by Findling when it was sold to third parties for greater amounts. Findling would then kick back a portion of his profits to Foster. Foster’s lawyer told Justice Jones that, even though they conned the company, the efforts of Foster and Findling still earned Rite Aid over $100 million “instead of having warehouses filled with unwanted merchandise.” Assistant U.S. Attorney Kim Daniel focused on the abuse of trust by Foster and persistent lies to the feds. “The con didn’t affect some faceless corporation, Daniel said, “but harmed Rite Aid’s 89,000 employees and its stockholders.” Findling’s attorney, Kevin Buchan, characterized his client as “a good man who made a bad decision.” “He succumbed to the pressure. That’s why he did what he did and that’s why he’s here,” Buchan said during sentencing.
Findling admitted he established a bank account under the name “Rite Aid Salvage Liquidation” and used it to collect the payments from the real buyers of the surplus Rite Aid inventory. After the payments were received, Findling would send lesser amounts dictated by Foster to Rite Aid for the goods, thus inducing Rite Aid to believe the inventory had been purchased by J. Finn Industries, not the real buyers. The government alleged Findling received at least $127.7 million from the real buyers of the surplus inventory but, with Foster’s help, only provided $98.6 million of that amount to Rite Aid, leaving Findling approximately $29.1 million in profits from the scheme. The government also alleged that Findling kicked back approximately $5.7 million of the $29.1 million to Foster.
Assume you are the director of internal auditing at Rite Aid and discover the surplus inventory scheme. You know that Rite Aid has a comprehensive corporate governance system that complies with the requirements of Sarbanes-Oxley, and the company has a strong ethics foundation. Moreover, the internal controls are consistent with the COSO framework. Explain the steps you would take to determine whether you would blow the whistle on the scheme applying the requirements of AICPA Interpretation 102-4 that are depicted in Exhibit 3.11. In that regard, answer the following questions.
Questions
Explain the following concepts in the context of the case and how it relates to individual and organizational factors that contribute to fraud:
Rationalizations for unethical actions.
Stakeholder effects.
Ethical dissonance.
Sometimes good people do bad things.
Assume you are the director of internal auditing and have uncovered the fraud. What would you do and why?
Assume, instead, that you are the audit engagement partner of KPMG and are the first to uncover the fraud. You approach management of the firm and discuss making the necessary adjustments. Top management tells you not to press the issue because the firm doesn’t want to rock the boat with one of its biggest clients. What would you do and why?
In: Accounting
this is a four part question and I am lost: the question is at the top and the data follows:
a. Response: Hemoglobin Model: Glucoseb.
General Regression Analysis: Hemoglobin versus Glucose
Regression Equation
Hemoglobin = 4.44742 + 0.0241019 Glucose
Coefficients
Term Coef SE Coef T P
Constant 4.44742 0.124943 35.5957 0.000
Glucose 0.02410 0.001017 23.6982 0.000
Summary of Model
S = 0.831988 R-Sq = 53.00% R-Sq(adj) = 52.91%
PRESS = 348.310 R-Sq(pred) = 52.51%
Analysis of Variance
Source DF Seq SS Adj SS Adj MS F P
Regression 1 388.744 388.744 388.744 561.603 0.0000000
Glucose 1 388.744 388.744 388.744 561.603 0.0000000
Error 498 344.718 344.718 0.692
Lack-of-Fit 135 167.864 167.864 1.243 2.552 0.0000000
Pure Error 363 176.854 176.854 0.487
Total 499 733.462
Fits and Diagnostics for Unusual Observations
Obs Hemoglobin Fit SE Fit Residual St Resid
14 12 10.0150 0.121499 1.98503 2.41175 R X
17 6 7.7976 0.043273 -1.79759 -2.16352 R
22 12 9.6775 0.108033 2.32246 2.81529 R X
55 12 9.3883 0.096666 2.61168 3.16049 R X
74 6 7.7735 0.042763 -1.77349 -2.13445 R
84 11 9.5088 0.101378 1.49117 1.80576 X
88 6 7.8699 0.044908 -1.86990 -2.25078 R
99 11 8.3278 0.057982 2.67217 3.21961 R
133 6 7.7976 0.043273 -1.79759 -2.16352 R
138 6 7.8217 0.043801 -1.82169 -2.19261 R
142 10 8.1109 0.051299 1.88909 2.27490 R
152 10 7.9904 0.047940 2.00959 2.41943 R
159 6 7.8940 0.045485 -1.89400 -2.27988 R
161 11 8.5447 0.065267 2.45525 2.96019 R
165 6 7.8699 0.044908 -1.86990 -2.25078 R
173 6 7.7012 0.041344 -1.70118 -2.04725 R
189 6 7.8217 0.043801 -1.82169 -2.19261 R
192 10 9.7739 0.111861 0.22605 0.27419 X
202 10 8.0145 0.048588 1.98549 2.39052 R
218 10 8.1109 0.051299 1.88909 2.27490 R
223 12 9.7739 0.111861 2.22605 2.70010 R X
229 6 7.8458 0.044346 -1.84579 -2.22169 R
237 11 9.2196 0.090137 1.78040 2.15260 R
241 10 8.2073 0.054180 1.79268 2.15927 R
243 11 9.2196 0.090137 1.78040 2.15260 R
278 10 8.0627 0.049921 1.93729 2.33271 R
282 6 7.8458 0.044346 -1.84579 -2.22169 R
312 6 7.7012 0.041344 -1.70118 -2.04725 R
321 12 12.1600 0.209508 -0.16004 -0.19876 X
368 12 9.5811 0.104223 2.41887 2.93042 R X
375 11 8.9786 0.080983 2.02142 2.44121 R
385 11 10.1837 0.128295 0.81632 0.99305 X
470 6 7.8940 0.045485 -1.89400 -2.27988 R
471 6 7.9181 0.046077 -1.91810 -2.30898 R
475 6 7.7735 0.042763 -1.77349 -2.13445 R
483 6 7.9181 0.046077 -1.91810 -2.30898 R
499 10 8.2796 0.056437 1.72037 2.07256 R
R denotes an observation with a large standardized residual.
X denotes an observation whose X value gives it large leverage.
Normplot of Residuals for Hemoglobin
Residual Histogram for Hemoglobin
Response: Glucose Model: carb_intake
In: Statistics and Probability
*********C++ Program************
This assignment is the continuation of project 4, with the modification and improvement with the following modifications:
7/3 + 1/3 = 8/3
7/3 - 1/3 = 2
7/3 * 1/3 = 7/9
7/3 / 1/3 = 7
7/3 is:
> 1/3 according to the overloaded > operator
>= 1/3 according to the overloaded < operator
Press any key to continue
******Fraction.h*********
#ifndef FRACTION_H
#define FRACTION_H
#include <iostream>
using namespace std;
class Fraction {
// not
fully commented
public:
Fraction(int = 0, int = 1); // default
constructor
Fraction add(const Fraction&); //addition
function
Fraction subtract(const Fraction&); //subtraction
function
Fraction multiply(const Fraction&);
//multiplication function
Fraction division(const Fraction&); //division
function
void display(ostream& out) const; //display
function
void printFractionAsFloat(ostream& out) const;
//print the fraction as a float function
private:
int numerator;
int denominator;
void reduce();
// utility function, reduce
to lowest terms
};
#endif
*****Fraction.cpp*******
#include <cmath>
#include "Fraction.h"
using namespace std;
//------------------------------ Fraction
------------------------------------
// default constructor: parameters are numerator and denominator
respectively
// if the number is negative, the negative is always stored in the
numerator
Fraction::Fraction(int n, int d)
{
numerator = (d < 0 ? -n : n);
denominator = (d < 0 ? -d : d);
reduce();
}
//(a)--------------------------------- add
--------------------------------------
// overloaded +: addition of 2 Fractions, current object and
parameter
Fraction Fraction::add(const Fraction& a)
{
Fraction t;
t.numerator = a.numerator * denominator +
a.denominator * numerator;
t.denominator = a.denominator * denominator;
t.reduce();
return t;
}
//(b)------------------------------ subtract
------------------------------------
// subtraction of 2 Fractions, current object and parameter
//overload operator -
Fraction Fraction::subtract(const Fraction& a)
{
Fraction t;
int num = this->numerator; //the value of numerator
equals the num
int denom = this->denominator; //the value of
denominator equals the denom
int second_num = a.numerator; //second numerator
equals the second num
int second_denom = a.denominator; //the second
denominator equals the second denom
int overall_numerator = (num* second_denom - denom *
second_num); //equation for the numerator
int den = (denom * second_denom); //equation for the
denominator
t.numerator = overall_numerator; //setting the value
of the overall numerator to t.numerator
t.denominator = den; //setting the value of the den to
t.denominator
t.reduce(); //reduce the fration
return t; //return the fraction value
}
//Multpilication function that overrides the multiplication
function
Fraction Fraction::multiply(const Fraction& a)
{
Fraction t; //declared variable
t.numerator = a.numerator * numerator; //simple
equation for multiplication
t.denominator = a.denominator * denominator;
t.reduce();
return t;
}
//division function that overrides the / operator
Fraction Fraction::division(const Fraction& a)
{
Fraction t;
t.numerator = numerator * a.denominator;
t.denominator = a.numerator * denominator;
t.reduce();
return t;
}
//the display function the displays the fraction as numerator/denominator
void Fraction::display(ostream& out) const
{
out << numerator << "/" <<
denominator;
}
//the float function that turns the fration into a decimal
void Fraction::printFractionAsFloat(ostream& out)
const
{
if (denominator == 0)
{
out << "The fraction has a
denomintor of 0!";
}
else
out << float(numerator) /
float(denominator);
}
void Fraction::reduce()
{
int i;
i = abs(denominator * numerator); //set the value of
integer i to the denominator multiplied by the
//absolute value of numerator
while (i > 1) //will cntinue through the loop until
i is equal equal to or less than one
{
if ((denominator % i == 0)
&& (numerator % i == 0))
{
denominator /=
i;
numerator /=
i;
}
i--;
}
}
In: Computer Science
I did the previous steps and now im at 6 and 7. I can not figure it out. It is a calculator code, and this part we need to make it password protected. The user is asked to enter in a username and password, and if the password is the backwards of the username you get into the calulator code (that i already have finished below). Use strings and arrays to hold the username and password (maybe use something like gets() and fgets()) and use a do while loop to reverse the password and use strcmp() to compair the two words, if they are the same the calculator will unlock showing my calculator menu, else something like "invalid password" appears on the screen, and asking the user if they desire to try again. Use <stdio.h> and <string.h>
6. Now I want to make sure that nobody uses my calculator without authorization. So a user will have to enter a username and password, which if correct will show the welcome page and menu to the user else it will print the message like “Incorrect password. Authorization denied”. The correct password will be the reverse of the username. So after the user enters the username and password, you will check if the reverse of the password is the username. You will use a while loop to reverse your password. And you will you strcmp() to compare the username the user entered to the reverse of the password.
7. Below are the snapshots of the desired output screen. Figure 1: The above shows the program asking for username and password. We have entered a name in the username and the reverse of that name as the password. Figure 2: If the logging is successful you should print a message “Successful login” and then the menu should be displayed.
#include<stdio.h>
int main() {
char c;
do {
printf("Welcome to my
calculator\nPlease look at the menu below for your
calculations\n");
printf("1. Addition\n2.
Subtraction\n3. Multiplication\n4. Division\n5. Modulus \n6.
Factorial \n");
int n, x, y, f, i;
unsigned long long a = 1;
printf("Please press your choice
from 1-6: ");
scanf_s("%d", &n);
getchar();
switch (n) {
case 1:
printf("Enter
first number: ");
scanf_s("%d",
&x);
getchar();
printf("Enter
second number: ");
scanf_s("%d",
&y);
getchar();
printf("%d + %d
= %d \n", x, y, x + y);
break;
case 2:
printf("Enter
first number: ");
scanf_s("%d",
&x);
getchar();
printf("Enter
second number: ");
scanf_s("%d",
&y);
getchar();
printf("%d - %d
= %d \n", x, y, x - y);
break;
case 3:
printf("Enter
first number: ");
scanf_s("%d",
&x);
getchar();
printf("Enter
second number: ");
scanf_s("%d",
&y);
getchar();
printf("%d * %d
= %d \n", x, y, x*y);
break;
case 4:
printf("Enter
first number: ");
scanf_s("%d",
&x);
getchar();
printf("Enter
second number: ");
scanf_s("%d",
&y);
getchar();
if (y == 0)
{
printf("Division by 0 is not allowed\n");
}
else {
printf("%d / %d = %d \n", x, y, x / y);
}
break;
case 5:
printf("Enter
first number: ");
scanf_s("%d",
&x);
getchar();
printf("Enter
second number: ");
scanf_s("%d",
&y);
getchar();
if (y == 0)
{
printf("Division by 0 is not allowed\n");
}
else {
printf("The Modulus of %d and %d is: %d \n", x,
y, x%y);
}
break;
case 6:
printf("Enter
your number: ");
scanf_s("%d",
&f);
getchar();
if (f <
0)
printf("Error! Factorial of a negative number
does not exist\n");
else {
for (i = 1; i <= f; i++) {
a *= i;
}
printf("Factorial of %d = \n", f, a);
}
break;
default:
printf("Error!!
Enter a valid option 1-6\n");
}
printf("Do you want to Continue?
(Y/N): ");
scanf_s(" %c", &c);
getchar();
} while (c != 'N');
return 0;
}
In: Computer Science
C++
Download Lab10.cpp . In this file, the definition of the class personType has given. Think of the personType as the base class.
Lab10.cpp is provided below:
#include <iostream>
#include <string>
using namespace std;
// Base class personType
class personType
{
public:
void print()const;
//Function to output the first name and last name
//in the form firstName lastName.
void setName(string first, string last);
string getFirstName()const;
string getLastName()const;
personType(string first = "", string last = "");
//Constructor
//Sets firstName and lastName according to the parameters.
//The default values of the parameters are null strings.
//Postcondition: firstName = first; lastName = last
private:
string firstName; //variable to store the first name
string lastName; //variable to store the last name
};
void personType::print() const
{
cout << "Person FirstName="<<firstName << "
LastName=" << lastName<< endl;
}
void personType::setName(string first, string last)
{
firstName = first;
lastName = last;
}
string personType::getFirstName() const
{
return firstName;
}
string personType::getLastName() const
{
return lastName;
}
//constructor
personType::personType(string first, string last)
{
firstName = first;
lastName = last;
}
// --------------------Start your code from here
//--------------------driver program
int main()
{
personType person1("Lisa", "Regan");
doctorType doctor1("Sarah", "Conner", "Dentist");
patientType patient1("Sam", "Fire",200,100,1916);
billType b1;
b1.setDoctor(doctor1);
b1.setPatient(patient1);
b1.setCharge(250.66);
cout << "<personType> Printing...\n";
person1.print();
cout << endl;
cout << "<doctorType> Printing...\n";
doctor1.print();
cout << endl;
cout << "<patientType> Printing...\n";
patient1.print();
cout << endl;
cout << "<billType> Printing...\n";
b1.print();
cout << endl;
return 0;
}
Question:
● Derive the class doctorType, inherited from the class
personType, with an additional class member variable member to
store a doctor’s specialty(string type) Then, implement following
class member function prototypes.
doctorType(string,string,string);//Firstname Lastname
Specialty
doctorType();//Default constructor
void setSpecialty(string);//Set doctor specialty
string getSpecialty()const;// Get doctor specialty
void print()const;//Display doctor information the same as given
output format
● Derive the class patientType, inherited from the class
personType, with additional class
member variables to store a patient’s id , age , and dob (Date of
birth)(All are integer ).
Then, implement following class member function prototypes.
patientType(string, string, int, int, int);//Firstname Lastname id
age dob
patientType();Default constructor
void setId(int);//Set patient id
void setage(int);//Set patient age
void setDob(int);//Set patient DOB
int getId()const;//Get patient id
int getage()const;//Get patient
int getDob()const;//Get patient DOB
void print()const; //Display patient information the same as given
output format
● Design a class billType, with class member variables to store
a patient’s information
( patientType ), the patient’s doctor’s information ( doctorType ),
and the hospital
charges( double ). Then, implement following class member function
prototypes.
billType(doctorType &, patientType &); // Constructor
void setCharge(double);//Set hospital charges
double getCharge()const;//Get hospital charges
void print()const;//Display a bill information the same as given
output format
Use the provided driver program to test your program. You should get the same output
Output:
<perspnType> Printing...
Person FirstName=Lisa LastName=Regan
<doctorType> Printing...
Doctor FirstName=Sarah LastName=Conner Specialty=Dentist
<patientType> Printing...
Patient FirstName=Sam LastName=Fire Id=200 Age=100 DOB=1916
<billType> Printing..
Patient FirstName=Sam LastName=Fire Id=200 Age=100 DOB=1916
Patient's doctor FirstName=Sarah LastName=Conner Specialty=Dentist
Hospital charge=250.66$
Press any key to continue...
In: Computer Science
For this assignment, you will apply what you learned in analyzing Java™ code so far in this course by writing your own Java™ program. The Java™ program you write should do the following:
Complete this assignment by doing the following:
Program Summary: This program demonstrates these basic Java
concepts:
* - defining variables of different types
* - if-then and if-then-else logic
* - constructing a string to display onscreen
* - switch logic
*
* To complete this assignment, you will add code where indicated.
The
* behavior of your completed assignment should be to accept an
input
* value for the number of sides of a two-dimensional figure. Based
on that value,
* your code should display the type of figure that corresponds to
the number of polygon angles
* indicated (3=triangle, 4=rectangle, etc.)
*
* Here are the specific requirements:
*
* After the user types in a value from 3 to 5 inclusive (i.e., 3,
4, or 5):
*
* 1. Your code determines whether the input value is out of range
(less than 3 or more than 5)
* and, if so, displays a meaningful error message on the screen and
ends the program.
*
* 2. Because you will be comparing a single expression (the input
value) to multiple constants (3, 4, and 5),
* your code should use a switch statement to display the following
message onscreen:
*
* If user inputs 3, onscreen message should say "A triangle has 3
sides."
* If user inputs 4, onscreen message should say "A rectangle has 4
sides."
* If user inputs 5, onscreen message should see "A pentagon has 5
sides."
*
* 3. Be sure to test your program. This means running your program
multiple
* times with test values 3, 4, 5, as well as at least two values
that fall outside that range
* (one lower than the lowest and one higher than the highest) and
making sure
* that the correct message displays for each value you input. Also
be sure
* that running your program does not cause any compiler
errors.
***********************************************************************/
package week2codingassignment;
import java.util.Scanner;
public class PRG420Week2_CodingAssignment {
public static void main(String[] args) {
String userInputStringOfAngles; // Declare a variable of type
String to capture user input
int numberOfAngles; // Declare a variable of type int to hold the
converted user input
Scanner myInputScannerInstance = new Scanner(System.in); //
Recognize the keyboard
System.out.print("Please type the integer 3, 4, or 5 and then press
Enter: "); // Prompt the user
userInputStringOfAngles= myInputScannerInstance.next(); // Capture
user input as string
numberOfAngles = Integer.parseInt(userInputStringOfAngles); //
Convert the string to a number in case this will be useful
later
// LINE 1. CODE TO DETERMINE WHETHER USER INPUT IS OUT OF BOUNDS
GOES HERE
// LINE 2. SWITCH CODE TO PRINT CORRECT "SHAPE" MESSAGE BASED ON
USER INPUT GOES HERE
}
}
In: Computer Science
In: Computer Science
Objective:
Write a program which simulates a hot potato game. In this version of a classic game, two or more players compete to see who can hold onto a potato the longest without getting caught. First the potato is assigned a random value greater than one second and less than three minutes both inclusive. This time is the total amount of time the potato may be held in each round. Next players are put into a circular list. Then each person gets possession of the potato in order. The player with the potato indicates how long they wish to hold on to it by entering a number from 1-10 seconds. If the player’s time is less than the remaining potato possession time then it moves on to the next player. However, if the time is larger, then the player is removed from the circular list and the potato’s time is reset. This is done until there is one player remaining.
Notes:
Example Dialog:
Welcome to the Hot Potato Game!
Enter the number of players (2 or more required).
3
Enter the player 1's name
Human H. Human
Enter the player 2's name
Person H. Person
Enter the player 3's name
NotLizard H. NotLizard
Human H. Human Enter a number from 1-10 corresponding to the number of seconds to hold the potato
4
Human H. Human is safe for now.
Person H. Person Enter a number from 1-10 corresponding to the number of seconds to hold the potato
6
Person H. Person is safe for now.
NotLizard H. NotLizard Enter a number from 1-10 corresponding to the number of seconds to hold the potato
10
NotLizard H. NotLizard is safe for now.
Human H. Human Enter a number from 1-10 corresponding to the number of seconds to hold the potato
44
The number must be between 0 and 10. We will assume you meant 10
Human H. Human is safe for now.
Person H. Person Enter a number from 1-10 corresponding to the number of seconds to hold the potato
10
HOT POTATO!!! Person H. Person has been eliminated!
NotLizard H. NotLizard Enter a number from 1-10 corresponding to the number of seconds to hold the potato
3
NotLizard H. NotLizard is safe for now.
Human H. Human Enter a number from 1-10 corresponding to the number of seconds to hold the potato
10
Human H. Human is safe for now.
NotLizard H. NotLizard Enter a number from 1-10 corresponding to the number of seconds to hold the potato
5
NotLizard H. NotLizard is safe for now.
Human H. Human Enter a number from 1-10 corresponding to the number of seconds to hold the potato
10
HOT POTATO!!! Human H. Human has been eliminated!
NotLizard H. NotLizard WINS!
Would you like to continue? Press ENTER to continue or enter "quit" to quit
quit
Goodbye
//I'm a beginner level coder and have a hard time understanding it. If the code could include a note for what each method is doing I would really appreciate it. Plus I would appreciate it if the code stayed as simple as possible with no advanced coding within it. Typically the language I use while coding and what the professor recommended is Java Eclipse
In: Computer Science
Read the Case Study below and answer the questions that follow
Microsoft Xbox 360
When Microsoft rushed its video game console, Xbox, to market in November 2005 it had a one-year advantage over Sony and Nintendo. By 2007 they had sold over 11.6 million units at prices between $279 and $479 … depending on the configuration.
Unresolved issues plagued the project from the beginning. When Journalists and reviewers were invited to try the game in 2005, before it became available on store shelves, they encountered problems when connecting it to the internet (N’Gai, 2007). Shortly after the game was introduced to the public, users complained that the console damaged game disks and that these disks could no longer be used (Cliff, 2007). In 2005 Microsoft recalled the power cords concerned that they posed a fire hazard (Wolverton and Takanashi, 2007). Then in December 2006, in an apparent response to these and other issues, Microsoft extended the warranty from 90 days to one year.
But problems persisted. Blogs and forums complained about the “Red Ring of Death” referring to a string of three lights that illuminate on the console when a serious problem is detected. One survey found that the return rate was 33 percent (Cliff, E, 2007)
Then in July 2007, Robbie Bach, president of Microsoft’s Entertainment and Device Division, said that “In the past few months, we have been having to make Xbox 360 console repairs at a rate too high for
our liking” (Associated Press, 2007) (Mintz, 2007). Shortly thereafter, Microsoft announced an extension of the warranty from one to three years at an expected cost of $1 billion. This represented about $100 for every Xbox sold since its introduction in 2005.
Later in the same month Microsoft announced that its top gaming executive, Peter Moore, was leaving the company, but they denied that his departure was related to the Xbox’s engineering problems (Wingfield, 2007)).
Lessons Learned
Perhaps the dominant lesson here is the trap called “conservatism” in which new data is largely ignored to protect the status quo. Here, in the face of a continuous stream of product returns and customer complaints, those who were responsible for the project were unwilling to acknowledge that the problem was serious; that customer satisfaction and loyalty was deteriorating rapidly; that the product needed to be redesigned; and that customer satisfaction needed to be addressed.
The sunk cost trap also played its part. In the sunk cost trap, a course of action is not abandoned because considerable time or money has already been spent on the project, and those in charge are reluctant to abandon the project or take steps to delay the project in any way. For the Xbox, considerable investment in the product had already been made, sales were strong, and since the division had yet to turn a profit, there was pressure to continue at any cost. Returning to earlier stages of design, issuing a recall for the defective units, and replacing them with new units was apparently not a realistic option.
Question 1
1.2. “For the Xbox, considerable investment in the product had already been made, sales were strong, and since the division had yet to turn a profit, there was pressure to continue at any cost. Returning to earlier stages of design, issuing a recall for the defective units, and replacing them with new units was apparently not a realistic option.”
It is clear that Microsoft had to deliver the project on schedule; hence they could not recall the defective units. Identify and briefly explain the theory that relates to extract above.
1.3. Successful completion of a project requires finishing the scope of work within budget and a certain time frame whilst managing resource utilization, meeting quality expectations and managing risks. All this must be done while assuring customer satisfaction. Discuss how Microsoft could have managed project constraints to successfully deliver the Xbox 360 project.
In: Operations Management
create a C++ Program
1. Ask and get a course name
2. Create an array of students of size 10,
3. Initialize the elements of the students array of appropriate names and grades
4. Create an object of class GradeBook (provide the course name and the created student array, in 3 above, as arguments to the constructor call. The arguments are used to initialize the data members of the class GradeBook.
Desired Output:
=========================================================
Enter course name: Object Oriented Programming
=====================Entering Students' Information===============================
Enter the name and grade for 10 students
student # 1 name: John
Student # 1 grade : 100
student # 2 name: Mark
Student # 2 grade : 100
student # 3 name: Jesus
Student # 3 grade : 89
student # 4 name: Tony
Student # 4 grade : 87
student # 5 name: Leo
Student # 5 grade : 79
student # 6 name: Don
Student # 6 grade : 75
student # 7 name: Devin
Student # 7 grade : 83
student # 8 name: Xavier
Student # 8 grade : 90
student # 9 name: jerry
Student # 9 grade : 25
student # 10 name: Jones
Student # 10 grade : 46
============================================================================
Welcome to the grade book for
Object Oriented Programming!
=====================After Processing Class's Grade===============================
The grades are:
Jonh : 100
Mark : 100
Jesus: 89
Tony : 87
Leo: 79
Don : 75
Devin: 83
Xavier : 90
Jerry : 25
Jones : 46
Class average is 77.40
Lowest grade is 25
Highest grade is 100
Grade distribution:
0-9:
10-19:
20-29: *
30-39:
40-49: *
50-59:
60-69:
70-79: **
80-89: ***
90-99: *
100: **
Press any key to continue . . .
SAMPLE CODE!!!!!!!!!!!!!!!!!!!!!!!!
GradeBook.h
|
#pragma once #include<string> #include<array> class GradeBook { public: GradeBook(std::string& cName,std::array<int,10>& sGrades) : courseName{ cName }, studentGrades{ sGrades } { } std::string getCourseName() const { return courseName; } void setCourseName(const std::string& cName) { courseName = cName; } void processGrades() const { outputGrades(); std::cout << "\nClass average: " << getAverage() << std::endl; std::cout << "\nClass maximum: " << getMaximum() << std::endl; std::cout << "\nClass minimum: " << getMinimum() << std::endl; std::cout << "Bar Chart:\n"; outputBarChart(); } int getMaximum() const { int highGrade{ 0 }; //range-based for loop for (int grade : studentGrades) { if (highGrade < grade) { highGrade = grade; } } return highGrade; } int getMinimum() const { int lowGrade{ 100 }; for (int grade : studentGrades) { if (lowGrade > grade) { lowGrade = grade; } } return lowGrade; } double getAverage() const { int sum{ 0 }; for (int grade : studentGrades) { sum += grade; } return static_cast<double>(sum) / studentGrades.size(); } void outputGrades() const { std::cout << "\n The grades are: \n\n"; for (size_t i{ 0 }; i < studentGrades.size(); ++i) { std::cout <<"Student "<< i + 1 << " grade: " << studentGrades.at(i) << std::endl; } } void outputBarChart() const { std::cout << "\nGrade distribution:\n"; std::array<int, 11> frequency{}; for (int grade : studentGrades) { ++frequency[grade / 10]; } for (size_t i{ 0 }; i < frequency.size(); ++i) { if (i == 0) { std::cout << " 0-9:"; } else if (i == 10) { std::cout << " 100:"; } else { std::cout << i * 10 << "-" << (i*10) + 9 << ":"; } for (unsigned stars{ 0 }; stars < frequency[i]; ++stars) { std::cout << '*'; } std::cout << std::endl;
} } private: std::string courseName; std::array<int, 10> studentGrades; }; |
GradeBookDriver.cpp
|
#include<iostream> #include<string> #include"GradeBook.h" #include<array> using namespace std; int main() { string courseName = "COSC 1337 Object Oriented Programming"; array<int, 10> studentGrades{ 87, 68, 94, 100, 83, 78, 85, 91, 76, 87 }; GradeBook myGradeBook(courseName,studentGrades); myGradeBook.setCourseName(courseName); myGradeBook.processGrades(); } |
In: Computer Science