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

[SOLUCIONADO] Cerrar ventana en C++

Estas en el tema de Cerrar ventana en C++ en el foro de C/C++ en Foros del Web. Hola, bueno soy nuevo aqui y en C++ y quisiera pedirles de su ayuda. Veran, me encargaron este trabajo y pues no se como añadir ...
  #1 (permalink)  
Antiguo 13/10/2011, 18:49
Avatar de DragonShiryu  
Fecha de Ingreso: octubre-2011
Mensajes: 16
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Cerrar ventana en C++

Hola, bueno soy nuevo aqui y en C++ y quisiera pedirles de su ayuda. Veran, me encargaron este trabajo y pues no se como añadir la opcion "SALIR" en el menu que hice con case. Es que quiero, que cuando se presione el numero 4 se cierre la ventana. Trate de hacer otra funcion, pero el proceso de repite varias veces. Necesito de su ayuda masters!

Código:
#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(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;
		}
	}
}
Saludos!
  #2 (permalink)  
Antiguo 14/10/2011, 14:41
 
Fecha de Ingreso: abril-2011
Ubicación: Guadalajara, Jalisco, Mexico
Mensajes: 27
Antigüedad: 13 años, 7 meses
Puntos: 4
De acuerdo Respuesta: Cerrar ventana en C++

mira lo mas facil que se me ocurre seria que hicieras el
Código C++:
Ver original
  1. case 4:
  2.     return 0;
  3.     break;
y donde esta el
Código C++:
Ver original
  1. while(Op != 4);
y creo que con eso querada listo
  #3 (permalink)  
Antiguo 14/10/2011, 15:36
Avatar de DragonShiryu  
Fecha de Ingreso: octubre-2011
Mensajes: 16
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Respuesta: Cerrar ventana en C++

Gracias por contestar!! Lo hice asi pero no funciono (Uso Borland C++), aqui esta el codigo:

Código:
#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:
         	return 0;
         break;
         default:
         gotoxy(10,16);cprintf("Opcion incorrecta :(, intente de nuevo... :D");
         	getch();
            clrscr();
         }
         }
         while(Op!=4);
}

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;
		}
	}
}
Me aparecen estos errores:
Cita:
Info :Compiling C:\Users\Francisco\Documents\Programacion\ejercici oconversionletrasterminado.cpp

Error: ejercicioconversionletrasterminado.cpp(97,20):'con version()' cannot return a value
Warn : ejercicioconversionletrasterminado.cpp(98,15):Unre achable code
Warn : ejercicioconversionletrasterminado.cpp(116,14):Con version may lose significant digits
Warn : ejercicioconversionletrasterminado.cpp(129,14):Con version may lose significant digits
Espero me puedas ayudar, por fas..
Saludos y GRACIAS!!
  #4 (permalink)  
Antiguo 15/10/2011, 21:50
Avatar de DragonShiryu  
Fecha de Ingreso: octubre-2011
Mensajes: 16
Antigüedad: 13 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Cerrar ventana en C++

Ya lo pude hacer... . Tuve que quitar una funcion (La funcion conversion) y todo lo hice en la main. He aqui el codigo; cualquier sugerencia es bienvenida:

Código:
#include<stdio.h>
#include<conio.h>
   void conversion (void);
   void MinToMay(char string[]);
   void MaytoMin(char string[]);
   void Salir(void);
main()
{
int i,NO, Op;
char cadena[80];
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 NumOp[80];
   fgets(NumOp, sizeof(NumOp), stdin);
   sscanf(NumOp, "%d",&NO);
   	switch(NO)
      {
 		case 1: 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();
               return 0;
         		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();
               return 0;
         		break;
         		case 3:
               clrscr();
         		gotoxy(8,6);cprintf(" ");
         		clrscr();
         		break;
         		case 4:
               return 0;
               clrscr();
            	getch();
         		break;
         		default:
         		gotoxy(10,16);cprintf("Opcion incorrecta :(, intente de nuevo... :D");
         		getch();
            	clrscr();
         		}
      		}
            while(Op!=3);
      break;
      case 2:
      gotoxy(18,15);cprintf("Ha decidido salir... :(");
      getch();
      clrscr();
      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 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;
		}
	}
}
Saludos!!

Etiquetas: cerrar, funcion, ventanas, cadenas
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 22:28.