Hola,vereis intente culminar el programa pero la opcion de salir no me funciona bien me sale lo de pulsa una tecla para finalizar pero al dar intro me vuelve a pedir los numeros,... como podria modificar mi codifo para que se visualize correctamente?
Código C:
Ver original/*1. Programa donde se introducen dos enteros y se visualizará el siguiente menú (en una función a crear):
1.- Suma
2.- Diferencia entre 1º y 2º
3.- Diferencia entre 2º y 1º
4.- Producto
5.- División del 1º entre 2º
6.- División del 2º entre 1º
7.- Comparar
8.- Fin del programa.
El programa se ejecutará hasta que se introduzca la opción 8.
Las opciones se validarán comprendidas entre 1 y 8, ambos incluidos.
Si la opción introducida es 1, se llamará a una función que retorne el valor de la suma y posteriormente, desde el programa principal, se visualizará dicho valor.
Si la opción introducida es 2, se llamará a una función que retorne el valor de la diferencia del 1º y 2º, posteriormente y desde el programa principal se visualizará dicho valor.
Si la opción introducida es 3, se llamará a una función que retorne el valor de la diferencia del 2º y 1º, posteriormente y desde el programa principal se visualizará dicho valor.
Si la opción introducida es 4, se llamará a una función que retorne el valor del producto y posteriormente, desde el programa principal, se visualizará dicho valor.
Si la opción introducida es 5, se llamará a una función que retorne el valor de la división del 1º entre el 2º y posteriormente, desde el programa principal, se visualizará dicho valor.
Si la opción introducida es 6, se llamará a una función que retorne el valor de la división del 2º entre el 1º y posteriormente, desde el programa principal, se visualizará dicho valor.
Si la opción introducida es 7, se llamará a una función que retorne si son iguales o no y posteriormente, desde el programa principal, se visualizará dicha igualdad o diferencia.
¿De qué tipos serán los valores retornados por las distintas funciones a crear? (Razona la respuesta).*/
int suma(int,int);//declaracion de prototipo
int resta(int,int);
int producto(int,int);
int division(int,int);
int compara(int,int);
void menu();
void pausa();
#include<stdio.h>
#include<conio.h>//por gotoxy
void main(void){
int num1,num2,resul=0,op;
menu();
do{
do{
printf("elige la operacion a realizar:\n"); if(op==8){
printf("FIN,saliendo del programa..."); }
}while(op<1 || op>8);
printf("\nIntroduce un numero:\n");
printf("Introduce un segundo numero:\n");
switch(op){
case 1:
resul=suma(num1,num2); //llamada a la funcion recepcionando el entorno
printf("el resultado es:%d",resul
);
break;
case 2:
resul=resta(num1,num2);
printf("el resultado es:%d\n",resul
);
break;
case 3:
resul=resta(num2,num1);
printf("El resultado es:%d\n",resul
);
break;
case 4:
resul=producto(num1,num2);
printf("El resultado es:%d\n",resul
);
break;
case 5:
resul=division(num1,num2);
printf("El resultado es:%d\n",resul
);
break;
case 6:
resul=division(num2,num1);
printf("El resultado es:%d\n",resul
);
break;
case 7:
resul=compara(num1,num2);
if(resul
==1) printf("\nSON IGUALES\n"); else printf("SON DISTINTOS\n");
case 8:
break;
default: break;
};
menu();
}while(op>=1 && op<=7);
}
//implementacion de la funcion
int suma(int a,int b){
return a+b;
}
int resta(int a,int b){
return a-b;
}
int producto(int a,int b){
return a*b;
}
int division(int a,int b){
return a/b;
}
int compara(int a,int b){
if(a==b)
return 1;
else
return 0;
}
void pausa(){
char basura;
printf("\nPulsa ENTER para fin..\n"); }
void menu(){
printf("****MENU PRINCIPAL********\n"); printf("2.-Resta primer numero menos el segundo\n"); printf("3.-Resta segundo numero menos el primero\n"); printf("4.-Producto de 2 numeros\n"); printf("5.-Division del primero entre el segundo\n"); printf("6.-Division del segundo por el primero\n"); printf("7.-Compara 2 numeros:\n");
}