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.