Fractions calculator

Write your question here.

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
#include <iostream>
#include <cmath>
#include "test.h"

using namespace std;

int main()

{

	int num1, num2, dom1, dom2;
	int outnum, outdom;
	char op;

	cout << "Soma de duas fraccoes " << endl << endl;

	cout << "Fraccao 1:";
	cin >> num1;
	cin >> dom1;

	cout << "Operacao: ";
	cin >> op;

	cout << "Fraccao 2:";
	cin >> num2;
	cin >> dom2;

	/*MultiplyFracc(num1, dom1, num2, dom2,outnum, outdom);*/
	reduceFracc(outnum, outdom);

	cout << outnum << " " << outdom << endl;

	switch (op)
	{
	case 1:
		op = '+';
		AddFracc(num1, dom1, num2, dom2, outnum, outdom);
		reduceFracc(outnum, outdom);

		cout << outnum << " " << outdom << endl;
		break;
	case 2:
		op = '-';
		SubFracc(num1, dom1, num2, dom2, outnum, outdom);
		break;
	case 3:
		op = '*';
		MultiplyFracc(num1, dom1, num2, dom2, outnum, outdom);
		break;
	case 4:
		op = '/';
		DivideFracc(num1, dom1, num2, dom2, outnum, outdom);
		break;
	}

	system("pause");


}


Hey there guys, so I'm trying to make a fractions calculator. I did a research and I read that is easier to make a class but I'm not allowed to do that yet. I think my code isnt that wrong, probably some slightly error is escaping me.
When I run this program it just gets stucked after I put both fractions and the op symbol. Something wrong with my switch?



Thank you very much, hope you can help me :)

Last edited on
programming challenge check it out-->> http://helpprogram.webeden.co.uk/
Updated!
Some help pl0x :(
You chosen to withhold from us the definition of your reduceFracc() function, so you've limited our ability to help you. I assume you have a good reason for doing that.

I'd recommend you step through your code with a debugger, to identify exactly where it's getting stuck.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void reduceFracc(int &numerator, int &denominator)
{
	int *pNum;
	int *pDom;

	pNum = &numerator;
	pDom = &denominator;

	for (int i = numerator*denominator; i > 1; i--)
	{
		if (denominator%i == 0 && numerator%i == 0)
		{
			denominator = denominator / i;
			numerator = numerator / i;

		}
	}

}


This is my reduceFracc() function and as far as I know its working properly :)

Could you explain me how to work with debugger? Just 1 or 2 tips. It would be really helpful in the future.

Cheers
Topic archived. No new replies allowed.