Program: File GamePurse.h: class GamePurse { // data int purseAmount; public: // public functions GamePurse(int); void Win(int); void Loose(int); int GetAmount(); }; File GamePurse.cpp: #include "GamePurse.h" // constructor initilaizes the purseAmount variable GamePurse::GamePurse(int amount){ purseAmount = amount; } // function definations // add a winning amount to the purseAmount void GamePurse:: Win(int amount){ purseAmount+= amount; } // deduct an amount from the purseAmount. void GamePurse:: Loose(int amount){ purseAmount-= amount; } // return the value of purseAmount. int GamePurse::GetAmount(){ return purseAmount; } File main.cpp: // include necessary header files #include #include "GamePurse.h" #include #include using namespace std; int main(){ // create the object of GamePurse class GamePurse dice(100); int amt=1; // seed the random generator srand(time(0)); // to play the dice game repeatedly while(amt!=0){ cout<<"Welcome to the diceware game. You have 100 in your game purse."<>amt; // exit condition if(amt==0){ break; } // to to bet only a positive amount to play a game. while(amt<0){ cout<<"Enter a bet amount to play (0 means exit the program):"<>amt; } // generate the dice randomly int comp_dice = rand()%5 + 1; int user_dice = rand()%5 + 1; cout<<"Your dice is "<=comp_dice){ cout<<"You won "<< amt <<" dollars!"<

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Program:

File GamePurse.h:

class GamePurse

{

// data

int purseAmount;

public:

// public functions

GamePurse(int);

void Win(int);

void Loose(int);

int GetAmount();

};

 

File GamePurse.cpp:

#include "GamePurse.h"

// constructor initilaizes the purseAmount variable

GamePurse::GamePurse(int amount){

     purseAmount = amount;

}

// function definations

// add a winning amount to the purseAmount

void GamePurse:: Win(int amount){

     purseAmount+= amount;

}

//  deduct an amount from the purseAmount.

void  GamePurse:: Loose(int amount){

     purseAmount-= amount;

}

 

// return the value of purseAmount.

int GamePurse::GetAmount(){

     return purseAmount;

}

 

File main.cpp:

// include necessary header files

#include <stdlib.h>

#include "GamePurse.h"

#include<iostream>

#include<time.h>

using namespace std;

int main(){

     // create the object of GamePurse class

     GamePurse dice(100);

     int amt=1;

     // seed the random generator

     srand(time(0));

     // to play the dice game repeatedly

     while(amt!=0){

          cout<<"Welcome to the diceware game. You have 100 in your game purse."<<endl;

          cout<<"Enter a bet amount to play (0 means exit the program):"<<endl;

          cin>>amt;

          // exit condition

          if(amt==0){

              break;

          }

          // to to bet only a positive amount to play a game.

          while(amt<0){

              cout<<"Enter a bet amount to play (0 means exit the program):"<<endl;

              cin>>amt;

          }

          // generate the dice randomly

          int comp_dice = rand()%5 + 1;

          int user_dice = rand()%5 + 1;

          cout<<"Your dice is "<<user_dice<<endl;

          cout<<"Computer dice is "<<comp_dice<<endl;

          // update the purse amount

          if(user_dice>=comp_dice){

              cout<<"You won "<< amt <<" dollars!"<<endl;

              dice.Win(amt);

          }else{

              cout<<"You lost "<< amt <<" dollars!"<<endl;

              dice.Loose(amt);

          }

          cout<<"Your game purse now has "<< dice.GetAmount()<<" dollars"<<endl<<endl;

     }

     // exit statements

     cout<<"You choose to exit the program. Thank you and goodbye."<<endl;

}

Add these features:

  • Multilevel Inheritance with polymorphism and includes at least one abstract class.
  • Dynamic memory (new, delete) using pointers within a class.
  • At least one template class.
  • At least one operator overloading
Expert Solution
steps

Step by step

Solved in 4 steps with 6 images

Blurred answer
Knowledge Booster
Variables
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-engineering and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY