Comando cerrar ventana de C++

Iniciado por DragonShiryu, 14 Octubre 2011, 00:59 AM

0 Miembros y 1 Visitante están viendo este tema.

DragonShiryu

Bueno, veran ya anteriormente habia pedido ayuda para este problema ;D. Bueno, es que ahora necesito que se ejecute la opcion Cerrar en este codigo:

#include<stdio.h>
#include<conio.h>
  void conversion (void);
  void MinToMay(char string[]);
  void MaytoMin(char string[]);
main()
{
int i,NO;
textbackground(5);
textcolor(WHITE);
clrscr();
for(i=0; i<80;i++)
{
gotoxy(i,1);cprintf("=");
gotoxy(i,23);cprintf("=");
}
gotoxy(30,5);cprintf("Bienvenidos(as)");
gotoxy(10,7);cprintf("Programa de conversion de letras de Minus. a Mayus. o Viceversa");
gotoxy(30,21);cprintf("Presione una tecla para continuar...");
getch();
clrscr();
textbackground(5);
clrscr();
do
{
clrscr();
gotoxy(30,4);cprintf("MENU DE OPCIONES\n\n");
gotoxy(5,7);cprintf("  1.- Iniciar conversion.\n");
gotoxy(5,8);cprintf("  2.- Salir.");
gotoxy(10,8);cprintf("\n\n\n\n   Presione una opcion... ");
char cad[80];
  fgets(cad, sizeof(cad), stdin);
  sscanf(cad, "%d",&NO);
  switch(NO)
  {
case 1: clrscr();
     conversion();
getch();
break;
     default:
     gotoxy(1,15);cprintf("   Opcion Inconrrecta :(, presione una tecla para volver a intentarlo... :D");
     getch();
     clrscr();
     }
  }while(NO!=2);
gotoxy(30,4);cprintf("\n\n\n\n\n   ADIOS!! :D");
getch();
}

void conversion (void)
{
  int Op;
  char cadena[80];
  clrscr();
gotoxy(30,1);cprintf("\n\CONVERSION DE PALABRA(S)\n");
gotoxy(1,2);cprintf("\n\nPor favor, Introduzca la(s) palabra(s) que desea convertir y presione ENTER: \n");
printf("\n    ");
gets(cadena);
  clrscr();
  do
  {
  gotoxy(30,1);cprintf("\nMODO DE CONVERSION\n\n\n");
  gotoxy(2,4);cprintf("  1.- De minusculas a mayusculas\n");
  gotoxy(2,6);cprintf("  2.- De mayusculas a minusculas\n");
  gotoxy(2,8);cprintf("  3.- Cambiar la(s) palabra(s)\n");
  gotoxy(2,10);cprintf("  4.- Salir\n\n");
  gotoxy(10,12);cprintf("\n\nSeleccione el Modo de Conversion: ");
  scanf("%d,\n",&Op);
     switch(Op)
     {
      case 1:
        MinToMay(cadena);
        clrscr();
        gotoxy(30,1);cprintf("\nCONVERSION DE PALABRA(S)\n\n");
        gotoxy(8,6);cprintf("En Mayusculas: %s \n", cadena);
        gotoxy(12,10);cprintf("Presione una tecla para continuar...");
        getch();
        clrscr();
        break;
        case 2:
        MaytoMin(cadena);
        clrscr();
        gotoxy(30,1);cprintf("\nCONVERSION DE PALABRA(S)\n\n");
        gotoxy(8,6);cprintf("En Minusculas: %s \n", cadena);
        gotoxy(12,10);cprintf("Presione una tecla para continuar...");
        getch();
        clrscr();
        break;
        default:
        gotoxy(10,16);cprintf("Opcion incorrecta :(, intente de nuevo... :D");
        getch();
           clrscr();
        }
        }
        while(Op!=3);
}


void MinToMay(char string[])
{
int i=0;
int desp='a'-'A';
for (i=0;string[i]!='\0';++i)
{
if(string[i]>='a'&&string[i]<='z')
{
string[i]=string[i]-desp;
}
}
}

void MaytoMin(char string[])
{
int a=0;
int desp='A'-'a';
for (a=0;string[a]!='\0';++a)
{
if(string[a]>='A'&&string[a]<='Z')
{
string[a]=string[a]-desp;
}
}
}


Si me pueden ayudar, lo quiero agregar en el "MENU DE CONVERSION" que hice con case, nadamas que cuando se presion "4" se cierre la ventana. ;D
Saludos!!

Queta

http://www.cplusplus.com/reference/clibrary/cstdlib/exit/

Aunque en tu caso, utilizando la sentencia return hay más que suficiente.
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

DragonShiryu

Cita de: Queta en 14 Octubre 2011, 18:01 PM
http://www.cplusplus.com/reference/clibrary/cstdlib/exit/

Aunque en tu caso, utilizando la sentencia return hay más que suficiente.

Gracias por contestar, peroooo... Como lo agrego? Intente de esta forma y no me salio, soy noob en esto ;D

#include<stdio.h>
#include<conio.h>
   void conversion (void);
   void MinToMay(char string[]);
   void MaytoMin(char string[]);
   void Salir(void);
main()
{
int i,NO;
textbackground(5);
textcolor(WHITE);
clrscr();
for(i=0; i<80;i++)
{
gotoxy(i,1);cprintf("=");
gotoxy(i,23);cprintf("=");
}
gotoxy(30,5);cprintf("Bienvenidos(as)");
gotoxy(10,7);cprintf("Programa de conversion de letras de Minus. a Mayus. o Viceversa");
gotoxy(30,21);cprintf("Presione una tecla para continuar...");
getch();
clrscr();
textbackground(5);
clrscr();
do
{
clrscr();
gotoxy(30,4);cprintf("MENU DE OPCIONES\n\n");
gotoxy(5,7);cprintf("  1.- Iniciar conversion.\n");
gotoxy(5,8);cprintf("  2.- Salir.");
gotoxy(10,8);cprintf("\n\n\n\n   Presione una opcion... ");
char cad[80];
   fgets(cad, sizeof(cad), stdin);
   sscanf(cad, "%d",&NO);
   switch(NO)
   {
case 1: clrscr();
      conversion();
getch();
break;
      default:
      gotoxy(1,15);cprintf("   Opcion Inconrrecta :(, presione una tecla para volver a intentarlo... :D");
      getch();
      clrscr();
      }
   }while(NO!=2);
gotoxy(30,4);cprintf("\n\n\n\n\n   ADIOS!! :D");
getch();
}

void conversion (void)
{
   int Op;
   char cadena[80];
   clrscr();
gotoxy(30,1);cprintf("\n\CONVERSION DE PALABRA(S)\n");
gotoxy(1,2);cprintf("\n\nPor favor, Introduzca la(s) palabra(s) que desea convertir y presione ENTER: \n");
printf("\n    ");
gets(cadena);
   clrscr();
   do
   {
   gotoxy(30,1);cprintf("\nMODO DE CONVERSION\n\n\n");
   gotoxy(2,4);cprintf("  1.- De minusculas a mayusculas\n");
   gotoxy(2,6);cprintf("  2.- De mayusculas a minusculas\n");
   gotoxy(2,8);cprintf("  3.- Cambiar la(s) palabra(s)\n");
   gotoxy(2,10);cprintf("  4.- Salir\n\n");
   gotoxy(10,12);cprintf("\n\nSeleccione el Modo de Conversion: ");
   scanf("%d,\n",&Op);
      switch(Op)
      {
      case 1:
         MinToMay(cadena);
          clrscr();
         gotoxy(30,1);cprintf("\nCONVERSION DE PALABRA(S)\n\n");
         gotoxy(8,6);cprintf("En Mayusculas: %s \n", cadena);
         gotoxy(12,10);cprintf("Presione una tecla para continuar...");
          getch();
          clrscr();
         break;
         case 2:
         MaytoMin(cadena);
          clrscr();
         gotoxy(30,1);cprintf("\nCONVERSION DE PALABRA(S)\n\n");
         gotoxy(8,6);cprintf("En Minusculas: %s \n", cadena);
         gotoxy(12,10);cprintf("Presione una tecla para continuar...");
          getch();
          clrscr();
         break;
         case 3:
         MaytoMin(cadena);
          clrscr();
         gotoxy(8,6);cprintf(" ");
          clrscr();
         break;
         case 4:
         Salir();
          clrscr();
          getch();
         break;
         default:
         gotoxy(10,16);cprintf("Opcion incorrecta :(, intente de nuevo... :D");
          getch();
            clrscr();
         }
         }
         while(Op!=3);
}

void MinToMay(char string[])
{
int i=0;
int desp='a'-'A';
for (i=0;string[i]!='\0';++i)
{
if(string[i]>='a'&&string[i]<='z')
{
string[i]=string[i]-desp;
}
}
}

void MaytoMin(char string[])
{
int a=0;
int desp='A'-'a';
for (a=0;string[a]!='\0';++a)
{
if(string[a]>='A'&&string[a]<='Z')
{
string[a]=string[a]-desp;
}
}
}

void Salir(void)
{
return 0;
}


Alguna otra idea? Espero me ayuden porfa, se los agradecere!
Saludos!!

Queta

void no puede devolver un valor, pero sí puedes utilizar return ;).
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

DragonShiryu

Entonces como le hago? ;D. Ayudame porfas, namas me falta eso, estare muy agradecido si me ayudas...

Saludos!!

Queta

No te gusta leer...

void Salir(void)
{
return;
}
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

DragonShiryu

Cita de: Queta en 14 Octubre 2011, 22:17 PM
No te gusta leer...

void Salir(void)
{
return;
}


Gracias iba a ponerlo asi, pero me puso en duda si era asi o no, pero ahora no se sale cuando presiono "4" nadamas limpia la pantalla y se regresa, en si que hace "return"...?? Mira, aqui te dejo el codigo y si me pudieras corregir o decir en donde esta mal te lo agradecere

#include<stdio.h>
#include<conio.h>
   void conversion (void);
   void MinToMay(char string[]);
   void MaytoMin(char string[]);
   void Salir(void);
main()
{
int i,NO;
textbackground(5);
textcolor(WHITE);
clrscr();
for(i=0; i<80;i++)
{
gotoxy(i,1);cprintf("=");
gotoxy(i,23);cprintf("=");
}
gotoxy(30,5);cprintf("Bienvenidos(as)");
gotoxy(10,7);cprintf("Programa de conversion de letras de Minus. a Mayus. o Viceversa");
gotoxy(30,21);cprintf("Presione una tecla para continuar...");
getch();
clrscr();
textbackground(5);
clrscr();
do
{
clrscr();
gotoxy(30,4);cprintf("MENU DE OPCIONES\n\n");
gotoxy(5,7);cprintf("  1.- Iniciar conversion.\n");
gotoxy(5,8);cprintf("  2.- Salir.");
gotoxy(10,8);cprintf("\n\n\n\n   Presione una opcion... ");
char cad[80];
   fgets(cad, sizeof(cad), stdin);
   sscanf(cad, "%d",&NO);
   switch(NO)
   {
case 1: clrscr();
      conversion();
getch();
break;
      default:
      gotoxy(1,15);cprintf("   Opcion Inconrrecta :(, presione una tecla para volver a intentarlo... :D");
      getch();
      clrscr();
      }
   }while(NO!=2);
gotoxy(30,4);cprintf("\n\n\n\n\n   ADIOS!! :D");
getch();
}

void conversion (void)
{
   int Op;
   char cadena[80];
   clrscr();
gotoxy(30,1);cprintf("\n\CONVERSION DE PALABRA(S)\n");
gotoxy(1,2);cprintf("\n\nPor favor, Introduzca la(s) palabra(s) que desea convertir y presione ENTER: \n");
printf("\n    ");
gets(cadena);
   clrscr();
   do
   {
   gotoxy(30,1);cprintf("\nMODO DE CONVERSION\n\n\n");
   gotoxy(2,4);cprintf("  1.- De minusculas a mayusculas\n");
   gotoxy(2,6);cprintf("  2.- De mayusculas a minusculas\n");
   gotoxy(2,8);cprintf("  3.- Cambiar la(s) palabra(s)\n");
   gotoxy(2,10);cprintf("  4.- Salir\n\n");
   gotoxy(10,12);cprintf("\n\nSeleccione el Modo de Conversion: ");
   scanf("%d,\n",&Op);
      switch(Op)
      {
      case 1:
         MinToMay(cadena);
          clrscr();
         gotoxy(30,1);cprintf("\nCONVERSION DE PALABRA(S)\n\n");
         gotoxy(8,6);cprintf("En Mayusculas: %s \n", cadena);
         gotoxy(12,10);cprintf("Presione una tecla para continuar...");
          getch();
          clrscr();
         break;
         case 2:
         MaytoMin(cadena);
          clrscr();
         gotoxy(30,1);cprintf("\nCONVERSION DE PALABRA(S)\n\n");
         gotoxy(8,6);cprintf("En Minusculas: %s \n", cadena);
         gotoxy(12,10);cprintf("Presione una tecla para continuar...");
          getch();
          clrscr();
         break;
         case 3:
         MaytoMin(cadena);
          clrscr();
         gotoxy(8,6);cprintf(" ");
          clrscr();
         break;
         case 4:
         Salir();
          clrscr();
          getch();
         break;
         default:
         gotoxy(10,16);cprintf("Opcion incorrecta :(, intente de nuevo... :D");
          getch();
            clrscr();
         }
         }
         while(Op!=3);
}

void MinToMay(char string[])
{
int i=0;
int desp='a'-'A';
for (i=0;string[i]!='\0';++i)
{
if(string[i]>='a'&&string[i]<='z')
{
string[i]=string[i]-desp;
}
}
}

void MaytoMin(char string[])
{
int a=0;
int desp='A'-'a';
for (a=0;string[a]!='\0';++a)
{
if(string[a]>='A'&&string[a]<='Z')
{
string[a]=string[a]-desp;
}
}
}

void Salir(void)
{
return;
}


Saludos y GRACIAS!!

Queta

No, perdona, no puedes utilizar return ya que sólo terminarás la ejecución de la función, que en este caso no es main. Usa exit:

void Salir(void)
{
exit(1);
}


No olvides stdlib.
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.