Foros del Web » Programación para mayores de 30 ;) » C/C++ »

como salir de un programa en C

Estas en el tema de como salir de un programa en C en el foro de C/C++ en Foros del Web. Buenas noches!!!!!!!!!!!!!! Tengo el siguente menu en un programa con switch case, como podran ver mi opcion 4 es para salir del programa, pero no ...
  #1 (permalink)  
Antiguo 08/05/2011, 22:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
como salir de un programa en C

Buenas noches!!!!!!!!!!!!!!

Tengo el siguente menu en un programa con switch case, como podran ver mi opcion 4 es para salir del programa, pero no tengo idea de como hacerlo, utilizo el Borland Turbo C++ 4.5 portable, no sé si eso tenga que ver, ya que siempre que corro los programas al finalizar la ventana se queda inactiva pero no se cierra mas que de forma manual, asi que en mi opcion 4 meti una limpieza de pantalla al menos, pero la ventana del programa se queda abierta inactiva.

Gracias de antemano por la ayuda!!!!!!!!!!!!!!!!




#include <stdio.h>
#include <conio.h>
#include <math.h>


int main (void)

{
int opcion;
int control,num,resultado,col=0,ren=3;
double potencia;
float num1;
int col1=1,ren1=1;
int numero, divisor,Primo;

do
{
printf (" MENU \n\n");
printf ("(1) Potencia los números(20 primeros)\n\n");
printf ("(2) Tablas de multiplicar\n\n");
printf ("(3) Números primos(100 primeros)\n\n");
printf ("(4) Salir\n\n");
printf ("Elije una opción( )\n");
scanf ("%d",&opcion);


switch (opcion)
{
case 1:
  #2 (permalink)  
Antiguo 09/05/2011, 02:13
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: como salir de un programa en C

Soy relativamente nuevo en esto, pero creo que con un 'return 0' sales del programa.

Un saludo y a ver si te sirve.
  #3 (permalink)  
Antiguo 09/05/2011, 03:59
 
Fecha de Ingreso: abril-2011
Mensajes: 88
Antigüedad: 13 años
Puntos: 24
Respuesta: como salir de un programa en C

Efectivamente, con un return en la función principal (main) sales de la aplicación. main() es una función tipo int por lo que al devolver 0, es decir, return 0;, le dejas saber a la máquina, que terminastes la aplicación sin problemas.
__________________
Foros Desarrollo de Juegos
  #4 (permalink)  
Antiguo 09/05/2011, 08:31
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: como salir de un programa en C

Ok, Antes que nada muchas gracias por su tiempo. Creo que debi poner el codigo completo : | .
Así que eso hago en estos momentos, por lo que podran ver si incluyo el retorno de un valor a la funcion main del programa, pero aun asi en todos mis programas la ventana se queda inactiva y no se cierra. También soy nuevo en esto de C, Gracias.

Lei el tema de las FAQS en este mismo foro y sólo que tenga que ver con el compilador o IDE que utilizo que ahi mencionan que es obsoleto.

Como pueden ver tambien en el case 4: no meti nada mas que una limpieza de pantalla, crei que se podia hacer algo similar como en Java como igualar el codigo al presionar el boton de cerrar la ventana y declararlo en el case 4: pero sólo son suposiciones mias jajaja.

Gracias nuevamente!!!!!!!!!!!!!!!!!!!!


Código C:
Ver original
  1. /*Programa realizado por Mariana Porfiria Gomez Garcia el Domingo 08 de Mayo del 2011 a las 20:44*/
  2.  
  3. #include <stdio.h>
  4. #include <conio.h>
  5. #include <math.h>
  6.  
  7.  
  8. int main (void)
  9.  
  10. {
  11.     int opcion;
  12.     int control,num,resultado,col=0,ren=3;
  13.     double potencia;
  14.     float num1;
  15.     int col1=1,ren1=1;
  16.     int numero, divisor,Primo;
  17.  
  18.      do
  19.      {
  20.   printf ("               MENU        \n\n");
  21.   printf ("(1) Potencia los números(20 primeros)\n\n");
  22.   printf ("(2) Tablas de multiplicar\n\n");
  23.   printf ("(3) Números primos(100 primeros)\n\n");
  24.   printf ("(4) Salir\n\n");
  25.   printf ("Elije una opción( )\n");
  26.   scanf  ("%d",&opcion);
  27.  
  28.  
  29.      switch (opcion)
  30.         {
  31.         case 1:
  32.  
  33.  
  34.   printf ("Este programa te dara las primeras 20 potencias de los 20 primeros numeros\n");
  35.         getch ();
  36.         clrscr ();
  37.  
  38.      for (num1=1; num1<=20; num1++)
  39.       {
  40.       for (double i=0; i<=20; i++)
  41.          {
  42.          gotoxy (col1,ren1);
  43.          potencia= pow (num1,i);
  44.          printf ("%.0f ^%.0f = %.0f\n",num1,i,potencia);
  45.          ren1++;
  46.             if (ren1==22)
  47.               {
  48.                   getch ();
  49.                   clrscr ();
  50.                   col1=1;
  51.                   ren1=1;
  52.               }
  53.          }
  54.         }
  55.         break;
  56.     case 2:
  57.  
  58.       clrscr ();
  59.  
  60.   printf ("Este programa te muestra las tablas de multiplicar del 1 al 10\n\n");
  61.       for (control=1; control<=10; control++)
  62.         {
  63.           for (num=1; num<=10; num++)
  64.             {
  65.                 resultado= num * control;
  66.                 gotoxy (col,ren);
  67.                 printf ("%d * %d = %d\n",control,num,resultado);
  68.                 ren++ ;
  69.                   if (ren==13)
  70.                      {
  71.                          col+=15,ren=3;
  72.                      }
  73.                   if (col==75)
  74.                     {
  75.                       getch ();
  76.                       clrscr ();
  77.                       col=0;
  78.                       ren=3;
  79.                     }
  80.  
  81.             }
  82.         }
  83.         break;
  84.      case 3:
  85.  
  86.         clrscr();
  87.  
  88.   for (numero=2; numero<=541; numero++)
  89.      {
  90.       Primo=1;
  91.   for (divisor=2; divisor<=sqrt(numero); divisor++)
  92.      {
  93.           if (numero%divisor==0)
  94.              {
  95.               Primo=0;
  96.            break;
  97.              }
  98.       }
  99.  
  100.       if(Primo==1)
  101.       printf("%d\n", numero);
  102.  
  103.       }
  104.       getch ();
  105.      clrscr ();
  106.      break;
  107.        case 4:
  108.           clrscr();
  109.           break;
  110.  
  111.      }
  112.      }while (opcion!=4);
  113.  
  114.      return 0;
  115.  
  116. }
  #5 (permalink)  
Antiguo 09/05/2011, 08:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: como salir de un programa en C

Código C:
Ver original
  1. printf ("Este programa te dara las primeras 20 potencias de los 20 primeros numeros\n");
  2.         getch ();
  3.         clrscr ();
  4.  
  5.      for (num1=1; num1<=20; num1++)
  6.       {
  7.       for (double i=0; i<=20; i++)
  8.          {
  9.          gotoxy (col1,ren1);
  10.          potencia= pow (num1,i);
  11.          printf ("%.0f ^%.0f = %.0f\n",num1,i,potencia);
  12.          ren1++;
  13.             if (ren1==22)
  14.               {
  15.                   getch ();
  16.                   clrscr ();
  17.                   col1=1;
  18.                   ren1=1;
  19.               }
  20.          }
  21.         }
  22.         break;
  23.     case 2:
  24.  
  25.       clrscr ();
  26.  
  27.   printf ("Este programa te muestra las tablas de multiplicar del 1 al 10\n\n");
  28.       for (control=1; control<=10; control++)
  29.         {
  30.           for (num=1; num<=10; num++)
  31.             {
  32.                 resultado= num * control;
  33.                 gotoxy (col,ren);
  34.                 printf ("%d * %d = %d\n",control,num,resultado);
  35.                 ren++ ;
  36.                   if (ren==13)
  37.                      {
  38.                          col+=15,ren=3;
  39.                      }
  40.                   if (col==75)
  41.                     {
  42.                       getch ();
  43.                       clrscr ();
  44.                       col=0;
  45.                       ren=3;
  46.                     }
  47.  
  48.             }
  49.         }
  50.         break;
  51.      case 3:
  52.  
  53.         clrscr();
  54.  
  55.   for (numero=2; numero<=541; numero++)
  56.      {
  57.       Primo=1;
  58.   for (divisor=2; divisor<=sqrt(numero); divisor++)
  59.      {
  60.           if (numero%divisor==0)
  61.              {
  62.               Primo=0;
  63.            break;
  64.              }
  65.       }
  66.  
  67.       if(Primo==1)
  68.       printf("%d\n", numero);
  69.  
  70.       }
  71.       getch ();
  72.      clrscr ();
  73.      break;
  74.       case 4:
  75.          clrscr();
  76.        
  77.          break;
  78.      }
  79.      }while (opcion!=4);
  80.  
  81.      return 0;
  82.  
  83. }
  #6 (permalink)  
Antiguo 09/05/2011, 08:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: como salir de un programa en C

Código C:
Ver original
  1. printf ("Este programa te dara las primeras 20 potencias de los 20 primeros numeros\n");
  2.         getch ();
  3.         clrscr ();
  4.  
  5.      for (num1=1; num1<=20; num1++)
  6.       {
  7.       for (double i=0; i<=20; i++)
  8.          {
  9.          gotoxy (col1,ren1);
  10.          potencia= pow (num1,i);
  11.          printf ("%.0f ^%.0f = %.0f\n",num1,i,potencia);
  12.          ren1++;
  13.             if (ren1==22)
  14.               {
  15.                   getch ();
  16.                   clrscr ();
  17.                   col1=1;
  18.                   ren1=1;
  19.               }
  20.          }
  21.         }
  22.         break;
  23.     case 2:
  24.  
  25.       clrscr ();
  26.  
  27.   printf ("Este programa te muestra las tablas de multiplicar del 1 al 10\n\n");
  28.       for (control=1; control<=10; control++)
  29.         {
  30.           for (num=1; num<=10; num++)
  31.             {
  32.                 resultado= num * control;
  33.                 gotoxy (col,ren);
  34.                 printf ("%d * %d = %d\n",control,num,resultado);
  35.                 ren++ ;
  36.                   if (ren==13)
  37.                      {
  38.                          col+=15,ren=3;
  39.                      }
  40.                   if (col==75)
  41.                     {
  42.                       getch ();
  43.                       clrscr ();
  44.                       col=0;
  45.                       ren=3;
  46.                     }
  47.  
  48.             }
  49.         }
  50.         break;
  51.      case 3:
  52.  
  53.         clrscr();
  54.  
  55.   for (numero=2; numero<=541; numero++)
  56.      {
  57.       Primo=1;
  58.   for (divisor=2; divisor<=sqrt(numero); divisor++)
  59.      {
  60.           if (numero%divisor==0)
  61.              {
  62.               Primo=0;
  63.            break;
  64.              }
  65.       }
  66.  
  67.       if(Primo==1)
  68.       printf("%d\n", numero);
  69.  
  70.       }
  71.       getch ();
  72.      clrscr ();
  73.      break;
  74.       case 4:
  75.          clrscr();
  76.        
  77.          break;
  78.      }
  79.      }while (opcion!=4);
  80.  
  81.      return 0;
  82.  
  83. }
  #7 (permalink)  
Antiguo 09/05/2011, 08:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 15
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: como salir de un programa en C

Bueno, no se si te irán bien las otras opciones, en el caso de la opcion 4, ponle el 'return 0' justo despues del clrscr.

Un saludo
  #8 (permalink)  
Antiguo 09/05/2011, 08:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: como salir de un programa en C

Muchas Gracias por su tiempo!!!!!!!!!!!!!!!!

Tambien lo meti ahi jejejeje, se me olvido mencionarlo, pero me votaba un warning, ademas con el break te bota directamente al return 0 de abajo : )

Sigo investigando que sucede con esto, si logro solucionarlo antes lo posteare aqui al igual que en mi duda pasada.

Tambien utilice lo que es el

Código C:
Ver original
  1. exit ();
  2. el Enviroment.exit

Nuevamente Gracias por su tiempo : - )
  #9 (permalink)  
Antiguo 09/05/2011, 09:39
 
Fecha de Ingreso: abril-2011
Mensajes: 88
Antigüedad: 13 años
Puntos: 24
Respuesta: como salir de un programa en C

Si estás ejecutando el código en modo debug, la ventana no se cerrará automaticamente. Sin embargo prueba a hacer un release y ejecuta el fichero, entonces si debería cerrarse el programa.
__________________
Foros Desarrollo de Juegos

Etiquetas: programa, salir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:21.