Resulta que he intentado crear una calculadora simple capaz de sumar, restar, multiplicar y dividir. Los cálculos los realiza sin problemas pero cuando da la solución quiero que pregunte al usuario si quiere realizar otra operación o salir del programa.Cuando el usuario selecciona la opción que quiere es donde se cuelga el programa. Por mas que lo busco no consigo encontrar donde está el fallo.
Código:
/* Calculadora simple en C */
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int integer1, integer2, total, opcion, opcion2;
printf("Hola mundo\n");
printf("Soy una calculadora\ny voy a hacer la operaci\242n que tu quieras\n");
top:
printf ("Pulsa 1 para sumar\nPulsa 2 para restar\nPulsa 3 para multiplicar\nPulsa 4 para dividir\nPulsa 5 para salir\n");
/*
sumar = 1
restar =2
multiplicar =3
dividir = 4
salir = 5
*/
scanf ("%d", &opcion);
if (opcion == 5) {
printf("Adios!!!\n");
getch(); //<conio.h>
return 0;
}else
if (opcion == 1) {
printf("Primero introduce la cantidad inicial\n");
scanf("%d", &integer1);
printf("Ahora introduce la cantidad que quieras sumarle a la cantidad anterior\n");
scanf ("%d", &integer2);
total = integer1 + integer2;
printf("Estoy sumando....\n");
getch(); //<conio.h>
printf("La cantidad es %d\n", total);
getch(); //<conio.h>
goto fin;
}else;
if (opcion ==2){
printf ("Primero introduce la cantidad inicial\n");
scanf("%d", &integer1);
printf("Ahora introduce la cantidad que quieras restarle a la cantidad anterior\n");
scanf ("%d", &integer2);
total = integer1 - integer2;
printf("Estoy restando....\n");
getch(); //<conio.h>
printf("La cantidad es %d\n", total);
getch(); //<conio.h>
goto fin;
}else
if (opcion ==3){
printf ("Primero introduce la cantidad inicial\n");
scanf("%d", &integer1);
printf("Ahora introduce la cantidad por la que quieras multiplicar la cantidad anterior\n");
scanf ("%d", &integer2);
total = integer1 * integer2;
printf("Estoy multiplicando....\n");
getch(); //<conio.h>
printf("La cantidad es %d\n", total);
getch(); //<conio.h>
goto fin;
}else
if (opcion ==4)
printf ("Primero introduce la cantidad inicial\n");
scanf("%d", &integer1);
printf("Ahora introduce la cantidad entre la que quieras dividir la cantidad anterior\n");
scanf ("%d", &integer2);
total = integer1 / integer2;
printf("Estoy dividiendo....\n");
getch(); //<conio.h>
printf("La cantidad es %d\n", total);
getch(); //<conio.h>
goto fin;
fin:
printf("Si quieres salir pulsa 1\nSi quieres hacer otra operaci\242n pulsa 2\n");
scanf ("%d", opcion2);
if (opcion2 == 1){
printf("Adios!!!\n");
getch(); //<conio.h>
return 0;
}else
if (opcion2 ==2)
goto top;
}
Gracias adelantadas.