CIS170 Lab 4 in C++ – old one. Updated Link is given below
CIS170A Week 4 lab in c++ – 100% score.
CIS170B Week 4 lab in c++ – 100% score.
CIS170C Week 4 lab in c++ – 100% score.
Week 4: Modules/Procedures – iLab
Lab 4 of 7: Methods – (45 points)
Scenario/Summary
You will code, build, and execute a program that simulates the dialing of a phone using methods.
Deliverables
Submit the following to this week’s Dropbox:
• A zipped Visual Studio project folder for each programming exercise. Refer to the Deliverables section of the Week 1 iLab page for detailed instructions on how to zip a project folder.
• A single MS Word file named YourLastName_Lab1_ex1.docx containing the following items:
o The source code for each program in the lab: Your source code should use proper indentation, include meaningful comments, and be error free. Start each with a specification that includes your name, the lab and exercise number, and a description of what the program accomplishes, similar to this:
/* Specification:
First Name Last Name
Lab 1 Exercise #
This program does X */
o Labeled screenshot(s) of the output windows for each program, showing that each program produces correct results
NOTE: A screenshot of a window can be created by first clicking on it to activate it. Next, press the key or key combination your specific computer uses to do a “print screen” (typically the Prnt Scrn or Prnt key in combination with the ctrl or FN key). Then, click the MS Word “paste” option to paste the screenshot into the MS Word file.
Objectives and Grading
Lab Objectives:
• Distinguish between by value, by ref, and out parameter types.
• Call class methods using by value, by ref, and out parameters.
• Write your own class methods using by value, by ref, and out parameters.
• To be able to define and use global named constants
• To be able to debug a program of syntax and logic errors
• To be able to use the debug step-into feature to step through the logic of the program and to see how the variables change values
Your lab grade will be based upon:
• the formatting of your source code;
• the use of meaningful identifiers;
• the extent of internal documentation; and
• the degree to which an exercise’s specifications are met.
Preparation:
If you are using the Citrix remote lab, follow the login instructions located in the iLab tab in Course Home.
iLab Steps
Step 1: Requirements – Phone Dialing Program
Your mission: A prepaid phone service needs a program that converts alphanumeric keyboard input into a phone number. The user will input eight characters and the program will output either an error message or the translated seven-digit phone number. The input may contain digits, letters, or both. Letters can be uppercase or lowercase.
The program will perform the conversion per a standard telephone keypad layout.
0 5 J K L
1 6 M N O
2 A B C 7 P Q R S
3 D E F 8 T U V
4 G H I 9 W X Y Z
The program implements the following methods.
• Main(): Declares seven character variables and passes these to the following methods by reference:
o ProcessInput(): gets user input and performs the conversion
o ShowResults(): displays the results
• GetInput(): Gets seven characters from the user and stores them into the seven variables Main() has passed by reference.
• ProcessInput(): Calls ToDigit() for each, passing each character variable by reference, and returns one of these codes to Main() by value:
o 0 if there were no input errors
o -1 if there were input errors
Input errors include the following:
• The first character is 0 (seven-digit phone numbers can’t start with 0).
• The first three characters are “555” (no phone numbers start with 555).
• Any character is not a digit or an uppercase or lowercase letter.
• ToDigit(): Converts a character (passed by reference) to its corresponding digit per the table above, and returns one of these codes to ProcessInput() by value:
o 0 if the character is valid (a digit or uppercase or lowercase letter)
o -1 if the character is not valid
• ShowResults(): Writes converted telephone number to the screen, inserting a dash (-) between the third and fourth digits, and accepts the seven character variables from Main() by reference.
Sample Output:
Enter a 7 character phone number: 2132121
The converted phone number is: 213-2121
Enter a 7 character phone number: 2scdfER
The converted phone number is: 272-3337
Enter a 7 character phone number: 555resw
Invalid input, please try again.
Enter a 7 character phone number: 0988765
Invalid input, please try again.
Enter a 7 character phone number: 12345678
Invalid input, please try again.
Enter a 7 character phone number: @34*uy
Invalid input, please try again.
Tips
Best practice: Don’t try to write too much at a time! First, write an outline in comments based on the requirements and the pseudocode. Then, implement declaring seven char variables. Make sure to fix any compiler errors before implementing more. Then, write and call an empty GetInput() method that accepts parameters, but does nothing but return a dummy value. Make sure you can pass the seven character variables by reference without compiler errors before implementing any of the GetInput() logic. Keep working incrementally like this, testing as you go. Set breakpoints and use the debugger at each phase to make sure your logic is working correctly. Then, use the same approach to implement the other methods. Test each phase with valid input before handling any invalid conditions.
Pseudocode
• ProcessInput( ) Method
o Get 7 characters from the user and store them in the 7 variables that Main() has passed by reference
o Call ToDigit() for each of the 7 characters
If toDigit returns an error code (-1), return an error code (-1)
o If the first character is 0, return an error code (-1) to Main()
o If the first three characters are 555, return an error code (-1)
o If there are no errors, return 0
• ToDigit ( ) Method
o Convert the characters (passed from ProcessInput() by reference) to upper case
o Use a switch statement to translate characters into their corresponding digits.
Write a case statement for each digit and for each valid uppercase letter
Write a default case that returns an error code (-1) for invalid letters
o If there are no invalid letters, return 0
• ShowResults ( ) Method
o Display the Phone Number using the character variables Main() has passed by reference
• Main() Method
o Declare 7 char variables
o Get user input by calling the GetInput() method, passing it the 7 variables by reference
o Perform the conversion by calling the ProcessInput( ) method, passing it the 7 variables by reference
o Display an error message or call ShowResults(), depending on the code ProcessInput() returns
END OF LAB
* You can also use 2CO option if you want to purchase through Credit Cards/Paypal but make sure you put the correct billing information otherwise you wont be able to receive any download link.
* Your paypal has to be pre-loaded in order to complete the purchase or otherwise please discuss it with us at [email protected].
* As soon as the payment is received, download link of the solution will automatically be sent to the address used in selected payment method.
* Please check your junk mails as the download link email might go there and please be patient for the download link email. Sometimes, due to server congestion, you may receive download link with a delay.
* All the contents are compressed in one zip folder.
* In case if you get stuck at any point during the payment process, please immediately contact us at [email protected] and we will fix it with you.
* We try our best to reach back to you on immediate basis. However, please wait for atleast 8 hours for a response from our side. Afterall, we are humans.
* Comments/Feedbacks are truely welcomed and there might be some incentives for you for the next lab/quiz/assignment.
* In case of any query, please donot hesitate to contact us at [email protected].
* MOST IMPORTANT Please use the tutorials as a guide and they need NOT to be used for any submission. Just take help from the material.
******************************************** Good Luck ***************************************************
Any personal information received will only be used to fill your order. We will not sell or redistribute your information to anyone.
We will try our best to resolve the issue and if still persists we can discuss for a refund in case its required.