Program #1 Begin Programming in C++

$24.99 $18.99

Every assignment in this course is graded by demoing your work for 10 minutes with a TA. You are required to meet with a TA within two weeks of the due date to demo. You can schedule a demo with a TA from the TA Office Hours tab in Canvas. The available times can be…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Categorys:

Description

5/5 – (2 votes)

Every assignment in this course is graded by demoing your work for 10 minutes with a TA. You are required to meet with a TA within two weeks of the due date to demo. You can schedule a demo with a TA from the TA Office Hours tab in Canvas. The available times can be viewed in the far right column of the table (labeled “Grading Hours”).

Demo Outside 2 Weeks: Assignments that are not demo’d within the acceptable time period will be subject to a 50 point deduction.

Demo Late Assignments: Late assignments must still be demoed within the two week demo period beginning from the assignment’s original due date.

Missing a Demo: If you miss your demo with a TA, you will receive a 10 point (one letter grade) deduction to that assignment for each demo missed.

Your job is to convince the TA that your program works correctly, i.e. show your TA how to use/break your program. ☺

Each program needs to be written according to the style guidelines

(https://web.engr.oregonstate.edu/~goinsj/resources/general/cpp_style_guideline.pdf) for this class. Remember that an important part of computer programming is making sure that your work is easily understandable by other programmers.

We will spend the first lab session learning how to compile a C++ program. It may be helpful to wait until after you have completed Lab 1 before attempting this assignment.

(90 pts) Problem Statement

(20 pts) Write a C++ program that first prints the maximum and minimum values for the signed and unsigned ints, longs, and shorts using the macros from the climits library, http://www.cplusplus.com/reference/climits (http://www.cplusplus.com/reference/climits) . Notice there is not a minimum unsigned! You should just enter the numerical literal for this information, and make sure you print proper messages for each min and max you are printing.

Clarification (9/26/18): The example code shown in the lecture notes used the <limits (http://www.cplusplus.com/reference/limits) > library (rather than the <climits

11/30/2018 Program #1

(http://www.cplusplus.com/reference/climits) > library). You are welcome to use either of these libraries to complete the assignment.

(62 pts) Now, write a program to calculate and print the maximum and minimum signed and maximum and minimum (which of course is a literal number, that you still need to assign!) unsigned number stored in n bytes, and store the result in a variable to print.

Clarification (9/26/18): n is a variable that will contain an integer provided by the user at the terminal. Your code should prompt the user for a value and store the input in a variable. You do not have to handle the user entering a number of bytes greater than 8. So the user could enter a number between 0 and 8.

Think about the equation from class and recitation to determine how many numbers can be represented in 8 bits with two possible choices for each bit. How are you going to express an exponent? In C++, you need to use a built-in function, pow(base, exp), from the cmath library. For example:

#include <iostream>

#include <cmath>

using namespace std;

int main() {

int num = pow(2,3);

cout << “2^3 is: ” << num << endl;

return 0;

}

Hint (9/28/18): Please see the announcement that I posted regarding 8 byte max/min values.

(8 pts) Now, insert statements to add 1 to the unsigned and signed maximum number stored in the variable after you calculate the answer, and print the result of increasing the variable by one. Do the same for the unsigned and signed minimum number calculated by subtracting one from the variable and printing the value afterward.

(10 pts) Extra Credit

Now, make sure you can handle and print error messages for numbers <= 0 and > 8 bytes from the user.

(10 pts) Program Style/Comments

In your implementation, make sure that you include a program header in your program, in addition to proper indentation/spacing and other comments! Below is an example header to include. Make sure you review the

style guidelines for this class

(https://web.engr.oregonstate.edu/~goinsj/resources/general/cpp_style_guideline.pdf) , and begin trying to

follow them, i.e. don’t align everything on the left or put everything on one line!

11/30/2018 Program #1

/******************************************************

  • Program: numbers.cpp

  • Author: Your Name

  • Date: 09/24/2018

  • Description:

  • Input:

  • Output:

******************************************************/

Electronically submit your C++ programs (up to two .cpp files, not your executables!!!) by the assignment

due date, using TEACH (https://engineering.oregonstate.edu/teach) .

Program #1 Rubric

Criteria

Ratings

Pts

Macros printed

20.0 pts

9 macros printed (2 pts each) + 2 free pts

Read bytes (or bits) from user

10.0 pts

Program Header/Indentation

10.0 pts

Programs Header, 5 pts Indentation, 5 pts

Extra Credit

0.0 pts

(10pts) Print error message with numbers <=0 and >8.

(10 pts) min/max signed and max unsigned calculated for n bytes (or bits) (15 pts each) Print

output (7 pts)

Common errors: Calculation for signed max doesn’t -1 for starting at 0, -5 Calculation for

unsigned max doesn’t -1 for starting at 0, -5 Don’t cast pow for signed max to long or unsigned

52.0 pts

long to make whole number, -5 Don’t cast pow for signed min to long or unsigned long to make

whole number, -5 Don’t cast pow for unsigned max to unsigned long to make whole number, -5 It

is okay if the calculations for 8 bytes are hardcoded (manually set). For 0-7 byte inputs, subtract

10 points if the values are hardcoded.

Additional required expressions

Add one to signed and unsigned max values (4 pts) Subtract one from unsigned and signed min

8.0 pts

values (4 pts) For 8 bytes, max unsigned + 1 should rollover to 0. (-2 if broken)

Total Points: 100.0

https://oregonstate.instructure.com/courses/1698697/assignments/7370422 3/3

Program #1 Begin Programming in C++
$24.99 $18.99