All of the work in this project is my own!  I have not left copies of my code in public folders on university computers. I have not given any of this project to others. I will not give any portion of this project to others taking this class. I realize that the penalty for turning in work that is not my own can range from an "F" in the class to dismissal from Trinity University. 

                                    Print Title  __________________________    Time Required = ______.____ Hrs.

                                    Signature   __________________________ (pledged)

                                    Print Title  __________________________    Time Required = ______.____ Hrs.

                                    Signature   __________________________ (pledged)

                                    Print Title  __________________________    Time Required = ______.____ Hrs.

                                    Signature   __________________________ (pledged)
 


Coin Class & CoinListHeader Lab
Individual/Team (1-3 Persons) Lab
25 Points - (15 Points For Class - 10 Points For Documentation & Diagnostic Level Testing)

Make Any Changes Necessary For Compilation
 
Coin Class

Copy DA-DLList-1-Hicks to Coin-Hicks (use Last Names of All Team Members)

1] The International Coin Collectors Agency would like you to create a doubly linked list application for that might be usable for their 10,000 members. Create Class.hpp and Class.cpp.

2] The members of Dr. Hicks software engineering class have met with several of the major players in the coin industry. They have concluded that the companies wish to have the following information about the coin class.

3] Create an overloaded coin constructor which overloads all of the arguments with default values of blank and 0 as is appropriate. The following should compile.

Coin
    Buffalo1("Buffalo Gold Bullion Coin",
"24 karat U.S. gold coins authorized through the 'Presidential $1 Coin Act'; distribution in 2006 by the United States Mint", 1, 295.00, 150.19, 17, 123456789012, 1);

4] The class private data is as follows:

public:

   short int
      HeaderNo;

private:

   char 
        Name [71],
        Description[1001];
   long double
        BarCode;
   short int
        MaterialNo;;
   long int
        QuantityInStock;
   double
        RetailPrice,
        WholeSaleCost;

 

I recommend that you find the a class .hpp and .cpp file set that closely matches the one we are to create! Use the editor to globally change the variables and names.

5] Write the constructor, destructor, Set, and Display methods. Modify the testing code for this class so that it tests each of these with Diagnostic_Levels (as demonstrated in your other classes).


Coin Class Support Functions

1] Write Get, Display50 and overload <<.  Function HeaderNo_() will explicitly return the HeaderNo. You know what they do; if not, review the other classes.

2] Modify the testing code for this class so that it tests each of these with Diagnostic_Levels (as demonstrated in your other classes).


Coin Class Support Functions

1] The operator overloads were selected by the software engineering team. Write them and test them.

2] Modify the testing code for this class so that it tests each of these with Diagnostic_Levels (as demonstrated in your other classes).


CoinListHeader Class

1] The members of Dr. Hicks software engineering class have met with several of the major players in the coin industry. They have concluded that the companies wish to have the following information in each of the coin header nodes:

I recommend that you find the a class .hpp and .cpp file set that closely matches the one we are to create! Use the editor to globally change the variables and names.

2] Write, and test, all of the functions in your CoinListHeader.hpp and CoinListHeader.cpp..


InitializeCoinListHeaderFile Function

1] Write function InitializeCoinListHeaderFile. Add this code it to DA_DLList.cpp. Place it immediately below function InitializePartListHeaderFile.

//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//                                                                              //
//                         InitializeCoinListHeaderFile                         //
//                                                                              //
// Purpose    :  Initialize the 6 CoinListHeader Headers in file *fp            //
//                                                                              //
//         Record[0] - BLANK HEADER                                             //
//         Record[1] - Country = USA          Manager =   "Dr. Hicks"           //
//                     HeaderNo = 1           NoCoins = 0   TotalInvestment = 0 //
//         Record[2] - Country = France       Manager =   "Dr. Eggen"           //
//                     HeaderNo = 1           NoCoins = 0   TotalInvestment = 0 //
//         Record[3] - Country = Mexico       Manager =   "Dr. Lewis"           //
//                     HeaderNo = 1           NoCoins = 0   TotalInvestment = 0 //
//         Record[4] - Country = Germany      Manager =   "Dr. Pitts"           //
//                     HeaderNo = 1           NoCoins = 0   TotalInvestment = 0 //
//         Record[5] - Country = Spain        Manager =   "Dr. Zhang"           //
//                     HeaderNo = 1           NoCoins = 0   TotalInvestment = 0 //
//                                                                              //
//  Written By : ???????????????         Environment : ????????????????????     //
//  Date ......: xx/xx/xxxx              Compiler ...: ??????????????????????   // 
//////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////// 
void InitializeCoinListHeaderFile(FILE * hfp)
{
//  You Do
}
 

Coins[26]

1] Go to function TestDA_DLList1(void);

2] Declare

Coin
    Coins[26];

3] Use your Set Method to fill the Coins[1]-Coins[25] with data from twenty-five actual coins. The coins must be from USA, Mexico, Germany, Spain, and/or France. You must have coins from at least 3 countries. You must fill all 25 coins with realistic data. Make up the QuantityInStock and 12 digit UPC BarCode. Make some type of guess about the pricing. Either make up a Description or get on from some web page. Make sure that the HeaderNo in the coin is correct (i.e. all USA coins should have a HeaderNo = 1)

4]  You should have realistic data in the 25 coins.

            Coins[1].Set(...)
            Coins[2].Set(...)
            Coins[3].Set(...)
            .       
            .
            .
            Coins[25].Set(...)

5] Place this block of code immediately below the Parts[z].Set(...) code in the test function TestDA_DLList1(void);


When Finished!

1] Spot Check!

Make sure each and every file is properly documented.

2]   Your main program should call only TestCoin();

3]  Place a copy folder in  the To Be Graded folder of each team member on Ananke.

4] Backup this project on your Y drive. Back up this project on a thumb drive or your personal computer.


5] Those Labs labeled "Individual Assignment" are to be done separately by each individual. Using a pen,  each individual is to print  his/her Title at the top of this document in the space provided and sign it.  Those Labs labeled "Team Assignment" may be done as a team or individually. Using a pen,  each individual on the team is to print print his/her Title at the top of this document in the space provided and sign it.


Turn in the following:

A] Copy of first page of this assignment sheet. Using an ink pen, print your Name and sign this lab at the top. Record the amount of time you spent working on the lab.

B] Print Coin.hpp, Coin.ccp, CoinListHeader.hpp, CoinListHeader.cpp. Staple to back in this order.

C] Make sure your files are on Ananke when you submit this lab

D] Never place your only copy of your project just on Ananke. Never leave a copy of your project on a public server. Always maintain a copy your project to your Y drive. Always maintain a copy your project on your personal computer.

E] Nothing will be graded until this lab form is submitted.  Staple the pages. Fold the lab Horizontally (like a hot dog) and write your name nice and large on the outside.  Place it on the professor desk before the beginning of lecture on the day it is due. All assignments are due the next class period unless otherwise designated on the schedule page.