Menu Options 1. Compute new expressions -Should stay active unless the \"back\"
ID: 3553483 • Letter: M
Question
Menu Options
1. Compute new expressions
-Should stay active unless the "back" or "quit" commands are used
2. Help
- Will have suboptions of its own regarding the format for different operations and program modes
3. Review Previous Expressions and Answers
- Suboption: Show floating-point form for then answer for the previous expression "n"
- Suboption: Set "ans" to previous expression "n"s answer
The most recent expression should be marked "1", the second most recent marked "2", etc...
4. Quit
Explanation / Answer
#include <iostream>
#include "conio.h"
using namespace std;
void main()
{
Start:
int Answer;
cout << "Welcome to Ghoster's basic C++ Calculator." << endl;
cout << "What would you like to do?" << endl;
cout << "(1) Addition" << endl;
cout << "(2) Subtraction" << endl;
cout << "(3) Multiplication" << endl;
cout << "(4) Divsion" << endl;
cout << "(5) Exponents" << endl;
cin >> Answer;
cout << endl;
if (Answer == 1)
{
goto Add;
}
else if (Answer == 2)
{
goto Sub;
}
else if (Answer == 3)
{
goto Mult;
}
else if (Answer == 4)
{
goto Div;
}
else if (Answer == 5)
{
goto Exp;
}
else
{
cout << "Invalid option." << endl;
system("pause");
exit(0);
}
system("cls");
Add:
int AmmountAdd;
int FinishedAdd = 0;
int AnswerAdd = 0;
int CurrentAdd;
cout << "How many numbers would you like to add together: ";
cin >> AmmountAdd;
cout << endl;
Add2:
cout << "Enter a number: ";
cin >> CurrentAdd;
cout << endl;
AnswerAdd += CurrentAdd;
FinishedAdd++;
if (FinishedAdd != AmmountAdd)
{
goto Add2;
}
else
{
cout << "Your answer is: " << AnswerAdd << endl;
goto Menu;
}
Sub:
int AmmountSub;
int FinishedSub = 0;
int AnswerSub = 0;
int CurrentSub;
cout << "How many numbers would you like to subtract: ";
cin >> AmmountSub;
cout << endl;
if (AmmountSub == 1 || AmmountSub == 0)
{
cout << "Please don't use 1 or 0." << endl;
goto Sub;
}
cout << "Enter the base number: ";
cin >> AnswerSub;
cout << endl;
FinishedSub++;
Sub2:
cout << "Enter a number: ";
cin >> CurrentSub;
cout << endl;
AnswerSub -= CurrentSub;
FinishedSub++;
if (FinishedSub != AmmountSub)
{
goto Sub2;
}
else
{
cout << "Your answer is: " << AnswerSub << endl;
goto Menu;
}
Mult:
int AmmountMult;
int FinishedMult = 0;
long AnswerMult = 0;
int CurrentMult;
cout << "How many numbers would you like to multiply: ";
cin >> AmmountMult;
cout << endl;
if (AmmountMult == 1 || AmmountMult == 0)
{
cout << "Please don't use 1 or 0." << endl;
goto Mult;
}
cout << "Enter a base number: ";
cin >> AnswerMult;
cout << endl;
FinishedMult++;
Mult2:
cout << "Enter a number: ";
cin >> CurrentMult;
cout << endl;
AnswerMult = AnswerMult * CurrentMult;
FinishedMult++;
if (FinishedMult != AmmountMult)
{
goto Mult2;
}
else
{
cout << "Your answer is: " << AnswerMult << endl;
goto Menu;
}
Div:
int AmmountDiv;
int FinishedDiv = 0;
double AnswerDiv = 0;
int CurrentDiv;
cout << "How many numbers would you like to divide: ";
cin >> AmmountDiv;
cout << endl;
if (AmmountDiv == 1 || AmmountDiv == 0)
{
cout << "Please don't use 1 or 0." << endl;
goto Div;
}
cout << "Enter the base number: ";
cin >> AnswerDiv;
cout << endl;
FinishedDiv++;
Div2:
cout << "Enter a number: ";
cin >> CurrentDiv;
cout << endl;
AnswerDiv /= CurrentDiv;
FinishedDiv++;
if (FinishedDiv != AmmountDiv)
{
goto Div2;
}
else
{
cout << "Your answer is: " << AnswerDiv << endl;
goto Menu;
}
Exp:
long AnswerExp;
int BaseExp;
int PowerExp;
int FinishedExp = 1;
cout << "Enter a base: ";
cin >> BaseExp;
AnswerExp = BaseExp;
cout << endl;
cout << "Enter a power: ";
cin >> PowerExp;
cout << endl;
while (FinishedExp < PowerExp)
{
AnswerExp *= BaseExp;
FinishedExp++;
}
cout << "Your answer is: " << AnswerExp << endl;
goto Menu;
Menu:
int Choice;
cout << "What would you like to do?" << endl;
cout << "(1) Go to the main menu" << endl;
cout << "(2) Exit" << endl;
cin >> Choice;
cout << endl;
if (Choice == 1)
{
system("cls");
goto Start;
}
else if (Choice == 2)
{
exit(0);
}
else
{
cout << "Invalid option." << endl;
system("pause");
exit(0);
}
}