# Thread: I need help with this Calculator Program ..

1. ## I need help with this Calculator Program ..

Hi there ..
Can someone help me with this Assignment .. I dunno what's the problem in it ><"
There are no Errors.. But in every operation I use The output look like :

Code:
```1
You Choose Addition
Enter two numbers to add : 3 5
The sum = 3

Thank You..```
Code:
```2
You Choose Subtraction
Enter two numbers to subtract : 5 7
The difference = 5

Thank You..```
In every option It seems like it took only the first number I enter ..

Also I have Proplems in the Division Part .. :S

Anyway .. This is the code I've written :

First These are the operations :
1.Addition
2.Subtraction
3.Multiplication
4.Division
5.Reminder
6.Minimum
7.Maximum
8.Exit

Using if_else_if .

And this is the Code :

Code:
```
#include <iostream>
#include <conio>

int main ()
{

int x , y , opt , answer ;

cout<< "*********************************"
<< "\n*  Welcome to my Calculator ^^  *"
<< "\n*  Choose What you want to do:  *"
<< "\n*    1.Addition                 *"
<< "\n*    2.Subtraction              *"
<< "\n*    3.Multiplication           *"
<< "\n*    4.Division                 *"
<< "\n*    5.Reminder                 *"
<< "\n*    6.Minimum                  *"
<< "\n*    7.Maximum                  *"
<< "\n*    8.Exit                     *"
<< "\n*********************************" << endl;

cin>> opt;
if ( opt==1)
{
cout<< "You Choose Addition " << endl;
cout<< "Enter two numbers to add : " ;
cin>> x , y ;
answer = x + y ;
cout<< "The sum = " << answer << endl;
}
else if ( opt==2 )
{
cout<< "You Choose Subtraction " << endl;
cout<< "Enter two numbers to subtract : " ;
cin>> x , y ;
answer = x - y ;
cout<< "The difference = " << answer << endl;
}
else if ( opt==3 )
{
cout<< "You Choose Multiplication " << endl;
cout<< "Enter two numbers to multiply: " ;
cin>> x , y ;
answer = x * y ;
cout<< "The product = " << answer << endl;
}
else if ( opt==4 )
{
cout<< "You Choose Division " << endl;
cout<< "Enter two numbers to divide : " ;
cin>> x , y ;
if ( y!=0 )
{
answer = x/y ;
cout<< "The quotient = " << answer << endl;
}
else
{
cout<< "No Division over 0 ";
}
}
else if ( opt==5)
{
cout<< "You Choose Reminder " << endl;
cout<< "Enter two numbers to get reminder : " ;
cin>> x , y ;
answer = x % y ;
cout<< "The Reminder = " << answer << endl;
}
else if ( opt==6 )
{
cout<< "You Choose Minimum" << endl;
cout<< "Enter two numbers to find the minimum : ";
cin>> x , y ;
if (x>y)
cout<< "The minimum = " << x << endl ;
else
cout<< "The minimum = " << y << endl;
}

else if ( opt==7 )
{
cout<< "You Choose Maximum " << endl;
cout<< "Enter two numbers to find the maximum : ";
cin>> x , y ;
if ( x > y )
cout<< "The maximum = " << x << endl;
else
cout<< "The maximum = " << y << endl;
}
else if ( opt==8 )
cout<< "You Choose Exit" << endl;
else
{
cout<< "Error : Not Valid Option"  << endl;
}
cout<< "\nThank You.." << endl ;

getch ();
return 0 ;
}```
Actully .. I'm in my first grade in Computer Science .. ^^"
I'm also confused about if I can write if inside else if in Block ..

Any help greatly appreciated..

2. comma is an operator that doesn't do what you expect it to.
Read how to chain cin variables together in your book once more.

3. Salem is right. The , operator is used to separate expressions, then evaluate them left to right. This means y is undefined (uninitialized). try
Code:
`cin >> x >> y;`
instead.
I'm also confused about if I can write if inside else if in Block ..
You can put anything you want inside an else if. For example, this is fine.
Code:
```if(...) {
if(...) {
}
else if(...) {
}
else {
}
}
else if(...) {
}
else {
}```
Also you should look at how to indent code. It makes it much easier to read.

4. omg .. It was noob mistake .. ^^"

THANX ALOT .. Salem & linuxdude ..

I really appreciate Your Help .. =)

5. For the division part of the program, you'll need to use to use floats or doubles to get it to work properly. At the moment, all ur variables are declared as ints, and so if you try working out something like 2/5, it'll churn out an answer of 0! Something similar can happen if you were to try and work out 2.4*3.7

So you'll need to use a different type for those variables.

Popular pages Recent additions