Trying to loop a basic calculator

I'm a total beginner, so I thought : Hey, I should try and program a calculator, just for fun. After 1 hour of programming ( Yes, I'm THAT much of a beginner ) I finished my calculator, but after 1 use, I have to close, and open it again to be able to use it, and I looked in the internet for ways to loop it to no avail.

This is the complete code ( It's in spanish btw, but it shouldn't be a problem right? )

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
#include <iostream>
using namespace std;

int main ()
{

double num1, num2, resultado;
char letra;

cout << "Bienvenido a mi calculadora " << endl;
cout << "\nColoca el primer numero" << endl;
cin >> num1;

cout << "coloca la operacion deseada ( + - * / ) " << endl;
cin >> letra;

cout << "Coloca tu segundo numero" << endl;
cin >> num2;

    if(letra == '+')
    {
        resultado= num1 + num2;
        cout << "el resultado de " << num1 << " mas " << num2 << " es igual a " << resultado << endl;
    }

    if(letra == '-')
    {
        resultado= num1 - num2;
        cout << "el resultado de " << num1 << " menos " << num2 << " es igual a " << resultado << endl;
    }

    if(letra == '*')
    {
        resultado= num1 * num2;
        cout << "el resultado de " << num1 << " por " << num2 << " es igual a " << resultado << endl;
    }

    if(letra == '/')
    {
        resultado= num1 / num2;
        cout << "el resultado de " << num1 << " entre " << num2 << " es igual a " << resultado << endl;
    }
    return 0;
}


I tried to make it somewhat easy to read :S.
Last edited on
You could try this.
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
cout << "Bienvenido a mi calculadora " << endl;
do{
cout << "\nColoca el primer numero" << endl;
cin >> num1;

cout << "coloca la operacion deseada ( + - * / ) " << endl;
cin >> letra;

cout << "Coloca tu segundo numero" << endl;
cin >> num2;
if(num1>0 && num2 >0)
{
    if(letra == '+')
    {
        resultado= num1 + num2;
        cout << "el resultado de " << num1 << " mas " << num2 << " es igual a " << resultado << endl;
    }

    if(letra == '-')
    {
        resultado= num1 - num2;
        cout << "el resultado de " << num1 << " menos " << num2 << " es igual a " << resultado << endl;
    }

    if(letra == '*')
    {
        resultado= num1 * num2;
        cout << "el resultado de " << num1 << " por " << num2 << " es igual a " << resultado << endl;
    }

    if(letra == '/')
    {
        resultado= num1 / num2;
        cout << "el resultado de " << num1 << " entre " << num2 << " es igual a " << resultado << endl;
    }
}
}while(num1!=0 &&  num2 !=0);
could you explain a little bit of what you did? It would be useful to know for future instances.
Last edited on
whitenite1 put the majority of your code within a do..while loop.
Sorry, that code I gave you didn't work. I hadn't checked it before posting, and I should have. I redid it, and this code actually works.

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
#include <iostream>

using namespace std;

int main ()
{

 double num1, num2, resultado;
 char letra;

 cout << "Bienvenido a mi calculadora " << endl;
 do{
	cout << "\nColoca el primer numero" << endl;
	cin >> num1;

	cout << "coloca la operacion deseada ( + - * / ) " << endl;
	cin >> letra;

	cout << "Coloca tu segundo numero" << endl;
	cin >> num2;
	if(num1 + num2 > 0.0) // If num1 and num2 are greater than 0, then do math
// Just checking by adding the numbers. Negative numbers will still work
	{
	 if(letra == '+')
	 {
		resultado= num1 + num2;
		cout << "el resultado de " << num1 << " mas " << num2 << " es igual a " << resultado << endl;
	 }

	 if(letra == '-')
	 {
		resultado= num1 - num2;
		cout << "el resultado de " << num1 << " menos " << num2 << " es igual a " << resultado << endl;
	 }

	 if(letra == '*')
	 {
		resultado= num1 * num2;
		cout << "el resultado de " << num1 << " por " << num2 << " es igual a " << resultado << endl;
	 }

	 if(letra == '/')
	 {
		resultado= num1 / num2;
		cout << "el resultado de " << num1 << " entre " << num2 << " es igual a " << resultado << endl;
	 }
	}
 }while(num1 + num2 > 0.0); // Keep asking calc problems until two zeros are inputted
 return 0;
}
Thank you very much, I will use that in the future.
Registered users can post here. Sign in or register to post.