Fijate lo siguiente:
demostracion llama a operaciones_basicas(1,3,1)
pero en opciones basicas haces:
printf("\n -> Introduzca el primer sumando: ");
scanf("%i",&num1);
printf("\n -> Introduzca el segundo sumando: ");
scanf("%i",&num2);
osea que estas pidiendo por teclado esos valores....
La logica del programa esta mal.... el scanf deberia estar fuera de la funcion operaciones basicas.
Código C++:
Ver originalvoid operaciones_basicas(int opcion,int num1,int num2) {
if (opcion == 1) /* Suma */
{
int resultado;
resultado=num1+num2;
printf("\n La SUMA de %i + %i es igual a %i",num1
,num2
,resultado
);
}
else if (opcion == 2) /* Resta */
{
int resultado;
resultado=num1-num2;
printf("\n La RESTA de %i - %i es igual a %i",num1
,num2
,resultado
);
}
else if (opcion == 3) /* Multiplicación */
{
int resultado;
resultado=num1*num2;
printf("\nLa MULTIPLICACION de %i * %i es igual a %i",num1
,num2
,resultado
); }
else /* División */
{
float resultado;
if (num2!=0)
{
resultado=(float) num1/num2;
printf(" El cociente de la DIVISION es igual a %f\n",resultado
); }
else printf("\n No se puede realizar esa division porque el divisor es 0!!\n"); } }
Por otro lado en el main:
Código C:
Ver originalint num1,num2;
if((opcion > 0)&& (opcion < 5))
{
printf("\n -> Introduzca el primer operador: "); printf("\n -> Introduzca el segundo operador: "); operaciones_basicas(opcion,num1,num2);
}
Basicamente esa es la logica de tu programa.
Saludos