Remember from lecture that using

Assignment Help Basic Computer Science
Reference no: EM13160051

For this assignment, you must create a simple calculator program. In a normal calculator, you give the first number (the X value), then the operation (+,-,*,/), then the second number (the Yvalue) and finally you hit the equal sign. In this calculator, there is no equal sign. You enter the first number (the X value), then the second number (the Y value), and lastly the operation (+,-,*,/). The result is given as soon as you enter the operation.(That style of calculation is called "Reverse Polish" and is the style used by the original HP calculator. For engineers, it is more efficient and does not require parentheses in long expressions.)

To implement this program, declare two integer variables for the X and Y values. Starting with this assignment, coding styles will be enforced, including Hungarian prefixes. So you should name your variables iValue1 and iValue2 or iXoperand and iYoperand or similar names that are descriptive and include a type prefix. For the operation, you are to read in a single character. The character type is a char. Name this variable chOperator.You will need to use if or if else statements to perform only the operation that is requested. A literal character is not a string, an d uses single quotes as in the following example:if (chOperand =='+') In the code, make sure that you include a prompt for each value. For reasons that you will see later, make sure that you prompt for the first and second values separately. Make sure that your program works before moving on to the next part. It should be able to perform the following dialog: Enter the first value as an integer: 12 Enter the second value as an integer: 5

Enter the operation you want to perform:- The result is 7 For the

next part, make the following changes. In the two prompts, change the words "first"

to "initial" and the word "second" to "next". When you compute the result of the operation,

assign the result to the first variable (e.g. iXoperand = iXoperand + iYoperand).

Make sure that your program still works. Then add the following two lines. Between the cin

line that reads the initial variable and the cout line that prompts for the next variable, insert the line:

do {Then,

right before the ending " return 0; " line, insert the line:} while (iXoperand != 0);

For the name iXoperand, use whatever name you used for your first variable which is the one

that also got the result of the operation.Now try running your program. The program should continue to get new values and operations to apply to the previous result. It will stop when the result is 0. Enter the initial value as an integer: 5 Enter the next value as an integer: 7 Enter the operation you want to perform: + The result is 12

Enter the next value as an integer: 3 Enter the operation you want to perform: -

The result is 9 Enter the next value as an integer: 10 Enter the operation you want to perform: + The result is 19 Enter the next value as an integer: 19 Enter the operation you want to perform: - The result is 0 Press any key to continue . . . Making your program robust For the divide operation, you should add another condition to make sure that the second or Y operand is not zero. Do not perform divide if the divisor is 0. The cin operation is fragile. If you enter something other than an integer, you can get odd results. If your program starts to loop forever, type Ctrl -

C to stop it. To prevent this behavior,you can add the following code. After a cin to read an integer, add this code: if (cin.fail()) { cout <<"No integer found . Using"<< iYoperand << endl; cin.clear(); cin.ignore(10000, '\n');}

Remember from lecture that using { and } creates a block of code within the condition instead of just one line.Also, not the use of single quotes instead of double quotes. (Double quotes signify a literal string while single quotes signify a literal character.) If reading the integer failed, you can either proceed with whatever the previous value of iYoperand might have been, or you can avoid doing anything else in the loop. There are two ways to prevent the rest of the code from being executed. One way is to make the rest of the code

be the else case from this if: else { ... }all the way to just before the while at the end of the loop. The other way

to have the same effect is the use a special loop "continue" statement which

says: skip the rest of the loop but keep looping. if (cin.fail()){ cout << "No integer

found. Try again."<< endl;cin.clear();cin.ignore(10000,'\n');continue;}

The cin to read a character will read any character so the problem here is different. If you

type more than one character, the input will be messed up. In this case you need an extra line to clear any bad input. In this case, just add the following two lines just before the while statement (inside the loop, but at the end of the loop code).cin.clear();cin.ignore(10000,'\n'); 

Reference no: EM13160051

Questions Cloud

Explain how to record the patent : At May 5, 2011, MacDougal's common stock was quoted at $34 per share, and the patent had a carrying value of $55,000 on Masset's books. MacDougal should record the patent at.
Calculate the three given overhead variances : Manufacturing overhead for the period is budgeted at $135,000, of which 20 percent is fixed. The 17,200 hours worked during the period resulted in production of 8,500 units. Manufacturing overhead cost incurred was $136,500.Calculate the following..
Propose a biochemical pathway for flower pigmentation : Two plants with white flowers, each from true-breeding strains,were crossed. All the F1 plants had red flowers. Whenthese F1 plants were intercrossed, they produced anF2 consisting of 92 plants with red flowers and 69 withwhite flowers.
Differences and similarities between the two operating syste : What are some distinct differences and similarities between the two operating systems? Why do you think it is important to know about both of these operating systems
Remember from lecture that using : Remember from lecture that using { and } creates a block of code within the condition instead of just one line.Also, not the use of single quotes instead of double quotes. (Double quotes signify a literal string while single quotes signify a literal ..
How are entries made under each type of accounting : Write a 700- to 1,050-word paper in APA format comparing and contrasting the different types of accounting, namely accrual, cash flow, and fund accounting.
Evaluate arthur schopenhauer : Explain and evaluate Arthur Schopenhauer's view that people are rarely rational in their actions, is he correct?
Determine participation in the year-s net income : Determine Hassell's and Lawson's participation in the year's net income of $288,000 under each of the independent assumptions above.
Phenomena and the noumena : Explain the distinction between the phenomena and the noumena.

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Future applications will change manufacturing industry

Prepare a response which explains the future applications which will change manufacturing industry, judiciary, and field of sports. Explain at least one application for each field.

  Explain change like that for business purposes

This adaptation of gaming by seniors was due in large part to ease of use. The Wii controller changed everything. Take a look at the news article and imagine a change like that for business purposes. Will it happen?

  Application development and programming languages

Compare and contrast object-oriented languages (Java, C++, C#, etc.) to imperative languages (C, Pascal, etc.) in terms of: Programmability, Maintainability, Performance, Development tools

  Research details of ad of current web site or magazine

Pick a current web site or magazine ad for a complete, working computer system, including computer, monitor, keyboard, and software, together with extra devices such as a mouse or printer

  Relationship between squared biases and variances

Assume we have sample of N pairs xi, yi drawn i.i.d. from distribution characterized as given: xi ∼ h(x), design density. Illustrate relationship between squared biases and variances.

  Explaining parse tree n-m nodes

W has derivation of m steps, show that w has a parse tree n+m nodes.

  Develop a structure chart with a main module

Develop a structure (hierarchy) chart with a main module, submodules, the parameter variables, and reference in the reference variables in the parentheses as needed.

  How management use smith systems consulting as outside

How Boardman Management Group should utilize Smith Systems Consulting as an outside consultant for this project. Include a discussion of why the specific elements of your plan are important.

  Secure windows-unix-linux servers from known shortcoming

The CIO has asked you to explain why you suggest it is so significant to secure your Windows and Unix/Linux servers from known shortcomings/vulnerabilities.

  Specific design criteria

Give two languages that are in direct conflict with each other. Provide examples of these conflicts as either programming examples (features allowed or not allowed) or program model, (environment). Compare and contrast the terms readability and write..

  Dscribe implications of e-publishing they effect way we read

Dscribe implications of e-publishing as they effect way we read and understand content. Describe e-books, print on demand, copyright and XrML and use of multimedia.

  Technology aided in the evolution of instrument

Identify one musical instrument that has evolved over the centuries (e.g., the piano or guitar) so that you can enlighten us about the evolution of this instrument.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd