Calculator program (with pointers) problem

Here is my program.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
using namespace std;


int Add (*x , *y)
{
	int a=*x;
	int b=*y;
	int c=a+b;
	
	return (&c);
}

int Sub (*x , *y)
{
	int a=*x;
	int b=*y;
	int c=a-b;
	
	return (&c);
}

int Mul (*x , *y)
{
	int a=*x;
	int b=*y;
	int c=a*b;
	
	return (&c);
}

int Div (*x , *y)
{
	int a=*x;
	int b=*y;
	int c=a/b;
	
	return (&c);
}

int Mod (*x , *y)
{
	int a=*x;
	int b=*y;
	int c=a%b;
	
	return (&c);
}



int InputFunction (int *a , int *b , char op)
{
	int x=*a;
	int y=*b;
	int c=0;
	
	cout<<"Please enter first number : ";
	cin>>x;
	
	cout<<"Please enter second number : ";
	cin>>y;
	
	cout<<endl;
	
	cout<<"Please choose an operator to perform the operation :- "<<endl<<endl;
	cout<<" \t \t \t + for addition"<<endl;
	cout<<" \t \t \t - for sunbtraction"<<endl;
	cout<<" \t \t \t x for mutiplication"<<endl;
	cout<<" \t \t \t / for division"<<endl;
	cout<<" \t \t \t % for modulus"<<endl<<endl<<endl;
	cout<<" \t \t    Your choice : ";
	cin>>op;
	
	switch (op)
	{
		case '+':
		         Add (&x , &y);
		         break;
		
		case '-':
		         Sub (&x , &y);
		         break;
		
		case 'x':
		         Mul (&x , &y);
				 break;
		
		case '/':
		         Div (&x , &y);
				 break;
		
		case '%':
		         Mod (&x , &y);
				 break;
		
		default:
		         cout<<"Your symbol is not recognized!";
				 break;
	}

	int i=*c;


	return (&i);
}

int main()
{
	int a=0;
	int b=0;
	char op;
	char ch;
	int i;
	
    do
	{
	InputFunction (&a , &b , op);

	int m=*i;

	cout<<" \t \t Your answer : "<<m<<endl<<endl;
        cout<<"Do you want to repeat the program ? (Y/N) ";
	cin>>ch;

	}while (ch == 'Y' || ch == 'y');

	cout<<"Good- Bye"<<endl;

	return 0;

}


This program is giving many errors.

Here is what needs to be done in this program compulsory :
--> Calculator with 5 arithmetic operator.
--> Creation of a separate input function to take the input of two numbers and
operator from the user.
--> Must use pointers to give and receive values between functions.
--> Must give user the choice to repeat program.

The following output is predicted :
--->
Please enter first number : 5 
Please enter second number : 9

Please choose an operator to perform the operation :-
                             
                   + for addition
                   - for subtraction
                   x for multiplication
                   / for division
                   % for modulus

                            
                   Your choice : x


               Your answer : 5 x 9 = 45

Do you want to repeat the program (Y/N) ? __

If yes then goto arrow (--->)
If no then exit the program.



Any help is appreciated.
Last edited on

So what is your question? After all
this is not so tough
No. I have made stupid mistakes. I'll check this more thoroughly soon and re-post if there is a problem. Thanks. CASE CLOSED!
Topic archived. No new replies allowed.