Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/01/2014, 03:38
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 5 meses
Puntos: 38
Respuesta: Problema con Menu en C

¿Que te parece esta solucion? ;)
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. main() {
  5.     int num;
  6.     char resp;
  7.     int terminar,killb1,killb2;
  8.  
  9.     printf(" Bienvenidos al programa  AN_ T1T213 que resolvera 4 operaciones: \n\n" );
  10.     do {
  11.         terminar = killb1 = killb2 = 0; // inicialisamos los bucles a 0
  12.         printf("Seleccione la operacion que desea realizar \n\n");
  13.         printf("1- Factorial de un numero\n");
  14.         printf("2- Suma de elementos que no se encuentran en la diagonal principal de un matriz\n");
  15.         printf("3- Ecuacion de 2do grado aplicando la discriminante\n");
  16.         printf("4- Dividir polinomio con un binomio aplicando ruffini\n\n");
  17.         printf ("opcion:"); scanf("%d",&num);printf ("\n\n");
  18.  
  19.         switch (num) {
  20.         case 1:
  21.             do {
  22.  
  23.                 int fact,i;
  24.                 fact=1;
  25.                 printf("Ingrese elemento del que desea el factorial \n");
  26.                 scanf("%d",&num);
  27.                 for (i=1; i <=num; i++) {
  28.                     fact = fact*i;
  29.                 }
  30.                 printf("El factorial de %d es %d\n\n",num,fact);
  31.                 printf ( "Deseas realizar un nuevo factorial?\n1-si\n0-no" );
  32.                 scanf("%d", &killb1 );
  33.                 killb1 = (( killb1 == 1 ) ? 0 : 1 );
  34.             } while( !killb1 );
  35.             break;
  36.  
  37.         case 2:
  38.             do {
  39.  
  40.                 int A[5][5],n,m,i,j,acum,sum;
  41.                 acum=0;
  42.                 sum=0;
  43.  
  44.  
  45.                 printf("Introducir las filas de la matriz: \n");
  46.                 scanf("%d",&n);
  47.                 printf("Introducir las columnas de la matriz: \n");
  48.                 scanf("%d",&m);
  49.  
  50.  
  51.                 for (i=1; i<=n; i++)
  52.                     for (j=1; j<=m; j++) {
  53.                         printf("[%d],[%d] =",i,j);
  54.                         scanf("%d",&A[i][j]);
  55.                         if (i==j) {
  56.  
  57.                         } else {
  58.                             sum=sum+A[i][j];
  59.                         }
  60.                     }
  61.                 printf("\nLa suma de los elementos que no se encuentran en la diagonal principal de la matriz %d x %d es = %d \n\n",n,m,sum);
  62.                 printf ( "Deseas realizar una nueva suma?\n1-si\n0-no" );
  63.                 scanf("%d", &killb2 );
  64.                 killb2 = (( killb2 == 1 ) ? 0 : 1 );
  65.             } while( !killb2 );
  66.             break;
  67.         }
  68.  
  69.         printf ( "Deseas hacer otra operacion?\n1-si\n0-no" );
  70.         scanf("%d", &terminar );
  71.         terminar = (( terminar == 1 ) ? 0 : 1 );// si no es 0 es 1 ;), 0 sigue, 1 rompe el bucle ;)
  72.  
  73.  
  74.  
  75.     } while( !terminar ); // si terminar no es verdadero fin.
  76.  
  77.         getch();
  78. }