Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C++ PROGRAMMING QUESTION Better FlashDrive I have provided you with a sample cla

ID: 3812857 • Letter: C

Question

C++ PROGRAMMING QUESTION

Better FlashDrive


I have provided you with a sample class named FlashDrive which has been diagrammed below. You can acquire the source to the FlashDrive class by clicking on the correct link for their development platform ( XCode5 or XCode6 or XCode7 or VS2010 or VS2012  ). I'd like you to identify additional member variables (data) that would be appropriate for the class FlashDrive. I would also like you to identify additional methods (functions) that would be appropriate for the class FlashDrive. Update and resubmit the .h file for FlashDrive with the new possible methods and members you have identified commented and explained.

YOU ARE NOT REQUIRED TO CODE UP ANYTHING MORE THAN THE .H FILE CHANGES, ALTHOUGH YOU ARE WELCOME TO DO MORE THAN THIS IF YOU WISH.

FlashDrive

void plugIn( );
void pullOut( );
void writeData( int amount );
void eraseData( int amount );
void formatDrive( );

int getCapacity( );
void setCapacity( int amount );

int getUsed( );
void setUsed( int amount );

bool isPluggedIn( );

Sample Driver Code

FlashDrive

FlashDrive( );
FlashDrive( int capacity, int used, bool pluggedIn );

void plugIn( );
void pullOut( );
void writeData( int amount );
void eraseData( int amount );
void formatDrive( );

int getCapacity( );
void setCapacity( int amount );

int getUsed( );
void setUsed( int amount );

bool isPluggedIn( );

int my_StorageCapacity;
int my_StorageUsed;
bool my_IsPluggedIn;

Sample Driver Code

  #include <iostream>  #include "FlashDrive.h"  
  using namespace std;  
  void main( )  {    int i;    cout << "Welcome to Howie's Flash USB Drive Store!"          << endl;    cout << "How much memory do you need? ";    cin >> i;  
    FlashDrive f( i, 0, false );    cout << "Let's format the drive..." << endl;    f.formatDrive();    cout << "Let's plug in the drive..." << endl;    f.plugIn();    cout << "Let's write some data..." << endl;    f.writeData( 10 );     cout << "Let's unplug the drive..." << endl;     f.pullOut();  
       
    cout << "Enjoy your drive!!" << endl;  }  

Explanation / Answer

You can write the following code in your header file.

#ifndef FlashDrive_h

#define FlashDrive_h

#include <iostream>

using namespace std;

class FlashDrive

{

//as seen in the format, we have 3 private variables

int StorageCapacity;

int StorageUsed;

bool IsPluggedIn;

  

public:

//default constructor will set everything to false or 0

FlashDrive()

{

StorageCapacity=0;

StorageUsed=0;

IsPluggedIn=0;

}

  

FlashDrive( int capacity, int used, bool pluggedIn )

{

StorageUsed=used;

StorageCapacity=capacity;

IsPluggedIn=pluggedIn;

}

  

void plugIn()

{

IsPluggedIn=1;

}

void pullOut()

{

IsPluggedIn=0;

}

  

void writeData( int amount )

{

//this condition is important as we might not want to overflow data

if(StorageCapacity-StorageUsed>amount)

StorageUsed+=amount;

else

cout<<" Not enough space ";

}

void eraseData( int amount )

{

StorageUsed-=amount;

if(StorageUsed<0)

StorageUsed=0;

}

void formatDrive( )

{

StorageUsed=0;

}

int getCapacity( )

{

return StorageCapacity;

}

void setCapacity( int amount )

{

StorageCapacity=amount;

}

int getUsed( )

{

return StorageUsed;

}

  

void setUsed( int amount )

{

if(amount>StorageCapacity)

cout<<" Amount given greater than capacity";

else

StorageUsed=amount;

}

  

bool isPluggedIn( )

{

return IsPluggedIn;

}

  

};

#endif /* FlashDrive_h */

Output:

Welcome to Howie's Flash USB Drive Store!

How much memory do you need? 100

Let's format the drive...

Let's plug in the drive...

Let's write some data...

Let's unplug the drive...

Enjoy your drive!!

Program ended with exit code: 0

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote