spacenab

Spacenab

Log in

 Password
"Post your contents, writings, articles, info-graphics, and more on spacenab."
sign up with facebook
Create a new post
Santacruz

COMP 220 Object-Oriented Programming with iLab

Santacruz

COMP 220 Object-Oriented Programming with iLab

http://www.homeworkarena.com/comp-220-object-oriented-programming-with-ilab

 

 

COMP 220 iLab 1 Two-Dimensional Arrays Lab Report and Source Code
COMP 220 iLab 2 Resistor Lab Report and Source Code
COMP 220 iLab 3 Bank Account Lab Report and Source Code
COMP 220 iLab 4 Composition Lab Report and Source Code
COMP 220 iLab 5 Lab Report and Source Code
COMP 220 iLab 6 Overloaded Operators Lab Report and Source Code
COMP 220 iLab 7 Polymorphism Lab Report and Source Code

 

 

 

 

COMP 220 iLab 1 Two-Dimensional Arrays Lab Report and Source Code
BlackJack Table
Specification: Include a brief description of what the program accomplishes, including its input, key processes, and output.
There is always a dealer in the game. At the start of the game, the dealer’s first card will not be shown or displayed. The second card will be displayed. The dealer may
draw additional cards. The dealer must use a random-number generator to determine the maximum number of cards the dealer will draw–a value between 0 and 3.
In other words, the dealer is a computer player. The dealer does not show all the cards or the total until all the players have either gone bust (over 21) or hold (no more
cards drawn). There must be at least one other player (you) and up to a maximum of four other players (all played by you).
. On a player’s turn, that player may either draw a card or hold. Once a player holds, he or she should not be asked to draw another card during this game.
All the cards for each player, including the first card dealt, are displayed, along with the suit symbol: spades ♠, clubs ♣, hearts ♥, or diamonds ♦. Each game will start
with a new, 52-card deck, which is modeled on a real deck of cards.
. The card deck has 52 cards with no jokers.
The card deck is represented by a two-dimensional array of data-type character, where the first dimension represents the suit and the second dimension represents
the card in the suit, such as the following. i. char CardDeck[4][13]; At the start of each game, each element of the two-dimensional array is initialized to a value of ” “, or
the “space” character. The deck has four suits, represented by the following dimension indices.
.
i. ii. iii. Each suit has 13 cards: 2, 3, 4, 5, 6, 7, 8,9 ,10, jack, queen, king, and ace. Each card in a suit is represented by the following dimension indices.
. 2 card
i. 3 card ii. 4 card iii. 5 card iv. 6 card v. 7 card vi. 8 card vii. 9 card viii. 10 card ix. jack x. queen xi. king xii. ace All the number cards are worth their face value (i.e., a 3
of diamonds is worth 3). All face cards are worth 10. An ace is worth either 1 or 11. Your final-score calculation must be able to handle this correctly for both the dealer
and each player. A random-number generator must be used to select the suit and the card in the suit.
. Once a card and suit are selected, the program should check if the value of that array element is a “space.”
If the array set the element equal to an integer, identifying the dealer or the player. 1 2 3 4 If the array element ! = “space,” then the random-number and card-checking process should repeat until a “card” or an array element is selected that Once a card is drawn during a game, it cannot be drawn again. When the program first starts, it should prompt
the user, asking if he or she wants to play a game of Blackjack or exit the program. If the user inputs to play the game, the next decision should be 1, 2, 3, or 4 players. At the
start of the game, the dealer and each player should be dealt two cards. One of the dealer’s card’s value and suit should not be displayed. The number of cards that the
dealer will draw during a game should be determined by a random-number generator that will return a value of 0, 1, 2, or 3 cards to be drawn. Each player may then draw
a card or hold. If, after drawing a card, any player or the dealer goes over a score of 21, he or she is not allowed to draw any more cards during the game. Once a player
holds, he or she should not be asked to draw a card again during the game. The game continues until one of the following conditions occur:
. all players have declared hold;
all players and the dealer have gone over 21; a maximum of five cards total are held by any player at the end of a round of card draws; or any combination of the above.
The display should show each player’s (and the dealer’s) hand and update the display after each round of card draws.
spades ♠, clubs ♣, hearts ♥, and diamonds ♦
Example
Card 1
Card 2
Card 3
Card 4 Card 5
Dealer:
?
10♦
Player 1:
A♣
2♠
Player 2:
J♣
Q♥
Player 3:
3♦
8♣
At the end of a game, the display should be repeated, with the addition of win or lose and an updated balance.
Example
Card 1
Card 2
Card 3
Card 4
Card 5
Total
Stats
Dealer:
J♦
10♦
20
Lose
Player 1:
K♣
2♠
5♥
1♦
5♦
23
Lose
Player 2:
J♣
Q♥
20
Lose
Player 3:
3♦
8♣
K♦
21
Win!
The program should then ask each player if he or she wants to play again or leave the game. The game continues with a new round, as long as there is one player remaining. If there are no remaining players, the program should exit.

 

 

COMP 220 iLab 2 Resistor Lab Report and Source Code
Scenario and Summary

This lab requires you to create a multifile C++ project in order to design and implement an object-oriented program using a class to model the characteristics and function of a resistor.
Deliverables
Submit a single Notepad file containing the source code for Exercise 1 to the Dropbox for Week 2. Your source code should use proper indentation and be error free. Be sure that your last name and the lab number are part of the file name; see the following example: YourLastName_Lab1.txt.

Each program should include a comment section that includes (at a minimum) your name, the lab and exercise number, and a description of what the program accomplishes. Submit a lab report (a Word document) containing the following information to the Dropbox for Week 2. Include your name and the exercise number. Specification: Include a brief description of what the program accomplishes, including its input, key processes, and output. Test Plan: Include a brief description of the method you used to confirm that your program worked properly. If necessary, include a clearly labeled table with test cases, predicted results, and actual results. Summary and Conclusions: Include a summary of what the lab demonstrated and any conclusions drawn from the testing of the lab program. Answers to Lab Questions: Answer any and all lab questions included in the lab steps.
Summary: Write a statement summarizing your predicted and actual output. Identify and explain any differences.
Conclusions: Write at least one nontrivial paragraph that explains, in detail, either a significant problem you had and how you solved it or, if you had no significant problems, something you learned by doing the exercise.
Each lab exercise should have a separate section in the lab-report document.
Your lab grade will be based upon
the formatting of your source code; the use of meaningful identifiers; the extent of internal documentation; the degree to which an exercises’ specifications are met; and the completeness of your lab report.
i L A B S T E P S
STEP 1: Create a Multifile Project
Objective: Create a C++ console application that will model the characteristics of a resistor.
Create a multifile project. Create and add to the project an h file containing the resistor-class definition. Create and add to the project a cpp file containing the implementation of the class-member functions. Create and add to the project a ccp file containing the main() function, which will instantiate a resistor object and test its member functions.
STEP 2: Required Class Members
The resistor class will, at minimum, have members that do the following.
store the nominal resistance value of a resistor store the tolerance of a resistor initialize any and all nominal-resistance values to correct, EIA, nonzero values that are greater than 0 and less than 1,000,000 ohms initialize any and all resistance-tolerance values to correct, E12, E24, E48, or E96 resistance-tolerance values allow the nominal-resistance and tolerance values of a resistor object to be changed by the user All member functions should have a test message stating the name of the function. All the test messages should be displayed or not displayed, depending on the value of a Boolean variable declared in main(). If the Boolean , display the message. If the Boolean , do not display the message.
STEP 3: Program Operations
Function main() should instatiate two objects of class resistor. Function main() should display the current values of all resistor objects. Function main() should also calculate and display the minimum and maximum in-tolerance resistance values of each resistor object from the resistor data members. Function main() should allow the user to change the values of the nominal resistance and the resistor tolerance of both resistor objects, and it should also correctly handle out of numeric-range input. Main() is also responsible for making sure that the user can successfully enter only correct, EIA resistance and tolerance values. The user should be given the following data-entry choices: accept current EIA values for resistance and tolerance; The function main() should display the new, modified values of the resistor object, including the new min and max in-tolerance resistance values. The function main() should be executed twice: once with the test messages displayed and once without.
STEP 4: Lab Questions
You are not required to copy the question text into your document, but all answers should be listed with the question number they answer.
List the complete reference-source information for where you found the EIA standard resistor value and tolerance information. How was this reference discovered and where? The constructor requires the initialization values for the nominal resistance and the tolerance when an object is instantiated to be a correct E-series resistance and tolerance combination. Describe how this was accomplished in your program design and implementation. In the lab, you were required to provide mutator functions to change the nominal-resistance and tolerance values of a resistor object. Describe how this was accomplished so that the user could not enter an invalid nominal-resistance and E-series tolerance combination. Describe how this process was different and/or similar to how you implemented this validation in the class constructor.

 

 

COMP 220 iLab 3 Bank Account Lab Report and Source Code
This lab introduces you to writing a C++ program to implement the concept of class inheritance using different types of bank accounts as a model. In this lab, you will
create a base class, called CBankAccount, and two additional classes (each derived from CBankAccount), called CSavingsAccount and CCheckingAccount. You will then
test the operations of each class in function main() to simulate the transactions of both a checking account and a savings account.
Deliverables
Submit a single Notepad file containing the source code for all the files of the lab to the Dropbox for Week 3. Your source code should use proper indentation and be error free.
Be sure that your last name and the lab number are part of the file name: for example, YourLastName_Lab3.txt.

Each program should include a comment section that includes (minimally) your name, the lab and exercise number, and a description of what the program accomplishes.
Submit a lab report (a Word document) containing the following information to the Dropbox for Week 3. Include your name and the lab or lab-exercise number. Specification:
Include a brief description of what the program accomplishes, including its input, key processes, and output. Test Plan: Include a brief description of the method you used to confirm that your program worked properly. If necessary, include a clearly labeled table with test cases, predicted results, and actual results. Summary and Conclusions:
Includea summary of what the lab demonstrated and any conclusions drawn from the testing of the lab program. Provide a UML diagram showing the base and the derived
class relationships, access specifiers, data types, and function arguments. Answers to Lab Questions: Answer any and all of the lab questions included in the lab steps.
Summary: Write a statement summarizing your predicted and actual output. Identify and explain any differences.
Conclusions: Write at least one nontrivial paragraph that explains, in detail, either a significant problem you had and how you solved it or, if you had no significant problems, something you learned by doing the exercise.
Each lab exercise should have a separate section in the lab-report document.
Your lab grade is based upon
the formatting of your source code; the use of meaningful identifiers; the extent of internal documentation; the degree to which an exercises’ specifications are met; and the completeness of your lab report.
i L A B S T E P S
STEP 1: Create the Multifile Project and the Main (Base) Class
Create a new project that consists of the base class BankAccount.
The BankAccount class should contain, at minimum, the following members.
It should contain data members to store a bank customer’s balance and account number. These should be of different and appropriate data types. It should have function members that do the following: set the account number; return the account number; return the account balance; deposit money into the account; and withdraw money from the account.
STEP 2: Create the CheckingAccount Class Derived From the BankAccount Class
The class CheckingAccount should contain, at a minimum, the following members.
It should contain a data member to keep track of the number of withdrawal transactions made on the account. Whenever a withdrawal is made, this number should be incremented. Override the base class, withdraw-money function, and add the capability to deduct transaction fees from an account using the following guidelines.
The checking account is allowed three free transactions. For each successful withdrawal transaction past the three free transactions, there will be a service fee of 50
cents per transaction. The service fee should be deducted from the account balance at the time the transaction is made. If there are insufficient funds in the account balance
to cover the withdrawal plus the service fee, the withdrawal should be denied. The function should return a value to indicate whether the transaction succeeded or failed. Transaction fees should be deducted only from successful transactions, but the transaction count should be incremented in either case.
STEP 3: Create the SavingsingAccount Class Derived From the BankAccount Class
The class CheckingAccount should contain, at a minimum, the following members.
It should contain a data member to hold the daily interest rate. The daily interest rate can be calculated from a yearly interest rate by dividing the annual rate by 365.
It should contain a data member to keep track of the number of days since the last transaction or balance inquiry. This should be updated using a random-number
generator (reference Lab 1) that will return a value representing the number of days between 0 and 7, inclusive. We will assume that this bank is open every day of the year.
It should contain a data member to hold the interest earned since the last transaction or balance inquiry. It should contain a function member to set the annual interest rate.
Utilize the base-class functions for both withdrawal and deposit operations for the savings account. Override the base-class-balance inquiry function to add calculating
and adding interest to the account based on the daily interest rate, the current balance of the account, and the number of days since the last balance inquiry.
This should be called only when a balance inquiry is made, not when a deposit or withdrawal transaction or an account number inquiry is made. If there are insufficient funds
in the account balance to cover a withdrawal, the withdrawal should be denied. The number of days since the last transaction or balance inquiry and the interest calculations should still be made. A value should be returned to in

Views(19) Opinions(0) 09/03/2016 13:51:57 Report abuse
Copyright © 2014 spacenab.com . All the right reserved.