Foro Oficial De C++

Leete este codigo..

http://www.tuaulaonline.somee.com/aulavirtual/cereal.zip


Ahi se ve un ejemplo de lo que te digo...lo unico es que debes de poner el switch al inicar la aplicacion....

Si te fijas bien en el proyecto se usan las funciones para dibujar las pantallas y no tener que hacerlo siempre manual..


Puedes encontrar las librerias que te faltaran aqui... http://www.tuaulaonline.somee.com/

SuerteX ;)


Bien... ya he trabajado anteriormente de esa manera, pero como son varios textos tendría que crear varias funciones, no obstante... el programa está dentro de un switch case general, que a su vez tiene otros internos... cómo validar que llame a una u otra función si está un menú dentro de otro?

Discúlpeme por ser tan preguntona:\, es que soy nueva en esto y estoy confundida. :s
 
Bien... ya he trabajado anteriormente de esa manera, pero como son varios textos tendría que crear varias funciones, no obstante... el programa está dentro de un switch case general, que a su vez tiene otros internos... cómo validar que llame a una u otra función si está un menú dentro de otro?

Discúlpeme por ser tan preguntona:\, es que soy nueva en esto y estoy confundida. :s

me parece a mi que laforma mas sencilla de manejar esto es crear un arreglo que contenga todos los mansajes...y mediante 2 ficheros de texto guardar en disco los mensajes en español y en ingles...luego todo lo que se necesita es cargar en el vector los mensajes de uno u otro fichero...asi el problema del idioma se reduce a una sola decicion...suerte
 
Bien... ya he trabajado anteriormente de esa manera, pero como son varios textos tendría que crear varias funciones, no obstante... el programa está dentro de un switch case general, que a su vez tiene otros internos... cómo validar que llame a una u otra función si está un menú dentro de otro?

Discúlpeme por ser tan preguntona:\, es que soy nueva en esto y estoy confundida. :s

No te preocupes, aki tamos pa' eso... y hemos pasado por eso :p

me parece a mi que laforma mas sencilla de manejar esto es crear un arreglo que contenga todos los mansajes...y mediante 2 ficheros de texto guardar en disco los mensajes en español y en ingles...luego todo lo que se necesita es cargar en el vector los mensajes de uno u otro fichero...asi el problema del idioma se reduce a una sola decicion...suerte

Por un lado seria facil y por otro no... porque tendria que estar leyendo constante mente del archivo y tendria que para cada mensaje leer el fiechero...


Aun creo que con las funciones es mas factible, pero debe de hacerla pasandole parametros y dentro de las funciones tal vez usar unos cuantos if, o if anidados.... con eso se resolveria el problema de tener que hacer las mismas funciones muchas vece, sino que desde un funcion llame otra y listo ;)

De momento asi lo veo mas factible, pero como Sarius dice tambien se puede..... toca ver cual de las dos la chika se encuentre mas facil o dificil..


SuerteX :D
 
Por un lado seria facil y por otro no... porque tendria que estar leyendo constante mente del archivo y tendria que para cada mensaje leer el fiechero...

pues eso depende si se quiere ganar en ligeresa (memoria) o en eficiencia(tiempo de respuesta) si se quiere que el paquete de idioma no consuma memoria...se hace lo que tu dices...leer del fichero cada mensaje....pero en este caso no creo que el paquete sea muy grande asi que para evitar tener que leer en discoa cada rato...se puede cargar todo el contenido del fichero en un solo movimiento y almacenarlo en una estrucctura .... sea una lista o unarreglo para no estresarse mas....lo malo de esto es qu el volumen en memoria del programa va ser mucho mayor...pero como dije no creo que este sea un caso critico...
 
No te preocupes, aki tamos pa' eso... y hemos pasado por eso :p



Por un lado seria facil y por otro no... porque tendria que estar leyendo constante mente del archivo y tendria que para cada mensaje leer el fiechero...


Aun creo que con las funciones es mas factible, pero debe de hacerla pasandole parametros y dentro de las funciones tal vez usar unos cuantos if, o if anidados.... con eso se resolveria el problema de tener que hacer las mismas funciones muchas vece, sino que desde un funcion llame otra y listo ;)

De momento asi lo veo mas factible, pero como Sarius dice tambien se puede..... toca ver cual de las dos la chika se encuentre mas facil o dificil..


SuerteX :D

Hola Muchachos!!!!

Muchas gracias por responder a mis dudas...

Bueno... estuve pensando y si lo hago con archivos tendré que leerlo a cada rato y comprobar la exixtencia del mismo, si lo hago con funciones, tendría 12 funciones en español y 12 en inglés (Eso si lo hago por separado).

Yo decidí hacerlo con funciones, pienso unir los dos textos (inglés y español) y validar con if. Así tendría una sóla funcín por cada texto, sería un total de 12 funciones. Si conocen alguna otra manera se vale decir :p

Preguntas:

  1. Existe un código para que en vez de usar el teclado se use el ratón?
  2. Se puede poner sonido? Estuve leyendo por allí algo sobre la librería dos.h, pero no entiendo cómo usarla.
  3. Dónde puedo descargar el contenido completo de las librerías de C? Debido que a las que estaban definidas en mi compilador no podía hacer mucho, luego puse una "completa" y ya puedo usar códigos que antes no podía.
Hice varias preguntas para no molestarles tantas veces....


 
Aqui pudes encontrar mas sobre librerias.... http://c.conclase.net/librerias/index.php


Cuando tengas un marco del programa hecho ponlo a ver si te ayudamos a optimizar el codigo....


SuerteX :)

Ay por Dios!!! esto ya me tiene VERDE!!!!

El valor de R (Opción de idioma) se pierde cuando se ingresa al primer menú y por ende, no se pueden hacer los llamados a las demás funciones.... cómo mantengo ese valor? ya lo encerré en un cliclo, condicionales y NADA!!! aunque lo hiciera por archivos me pasaría lo mismo, porque necesito el valor de R para poder hacer la comparación :'(
 
Ay por Dios!!! esto ya me tiene VERDE!!!!

El valor de R (Opción de idioma) se pierde cuando se ingresa al primer menú y por ende, no se pueden hacer los llamados a las demás funciones.... cómo mantengo ese valor? ya lo encerré en un cliclo, condicionales y NADA!!! aunque lo hiciera por archivos me pasaría lo mismo, porque necesito el valor de R para poder hacer la comparación :'(

Posteate el codigo donde estas quedada para darte una manito ;)


SuerteX :)
 
Posteate el codigo donde estas quedada para darte una manito ;)


SuerteX :)


Si es por el código, sería todo el juego. Ya que en cada fragmento hago llamadas a las funciones de idioma. Pero esto hice en una de las funciones:

void MenuPrincipal (void){
char R;
switch (R){

case 'A' :
system ("color f2");
printf("\n\n\t\t\t MENU\n\n");
printf("\t\t\t -------------------------\n\n");
printf("\t\t\t 1:Jugar\n\n");
printf("\t\t\t 2:puntajes\n\n");
printf("\t\t\t 3:Instrucciones\n\n");
printf("\t\t\t 4:Salir\n\n");
printf("==> ");
break;
case 'B' :
system ("color f2");
printf("\n\n\t\t\t MENU\n\n");
printf("\t\t\t -------------------------\n\n");
printf("\t\t\t 1:play\n\n");
printf("\t\t\t 2:Scores\n\n");
printf("\t\t\t 3:Instructions\n\n");
printf("\t\t\t 4:Exit\n\n");
printf("==> ");

break;
default:

break;
}}

Anteriormente, había puesto if.
 
mmmmm se pierde el valor, en que función?
trata colocándole un & en la variable que se te pierde el valor.
saludos!

Tengo Un Menú principal, que es el que mostré anteriormente, a su vez, el tiene submenu. Cuando seleccionas uno de ellos no muestra nada. Pero como me los se de memoria, presiono cualquiera de las opciones para un segundo submenú y si lo hace (No he implementado en el segundo submenú lo del idioma). Solo en el menú principal y el primer submenú.
 
Tengo Un Menú principal, que es el que mostré anteriormente, a su vez, el tiene submenu. Cuando toca uno de ellos no muestra nada. Pero como me los se de memoria, presiono cualquiera de las opciones para un segundo submenú y si lo hace (No he implementado en el segundo submenú lo del idioma). Solo en el menú principal y el primer submenú

mmmm no te entendí bien, puedes colocar todo el código para echarle una ojeada. :rolleyes:
 
@Moon, Entre estas dos lineas hace falta codigo:

Código:
char R;
switch (R)

Lo digo porque R no tiene ningun valor, y por ello no puedes hacerle comparacion dentro del switch (o tal vez te mande al default: )

Saludos
 
Si es por el código, sería todo el juego. Ya que en cada fragmento hago llamadas a las funciones de idioma. Pero esto hice en una de las funciones:

void MenuPrincipal (void){
char R;
switch (R){

case 'A' :
system ("color f2");
printf("\n\n\t\t\t MENU\n\n");
printf("\t\t\t -------------------------\n\n");
printf("\t\t\t 1:Jugar\n\n");
printf("\t\t\t 2:puntajes\n\n");
printf("\t\t\t 3:Instrucciones\n\n");
printf("\t\t\t 4:Salir\n\n");
printf("==> ");
break;
case 'B' :
system ("color f2");
printf("\n\n\t\t\t MENU\n\n");
printf("\t\t\t -------------------------\n\n");
printf("\t\t\t 1:play\n\n");
printf("\t\t\t 2:Scores\n\n");
printf("\t\t\t 3:Instructions\n\n");
printf("\t\t\t 4:Exit\n\n");
printf("==> ");

break;
default:

break;
}}

Anteriormente, había puesto if.


PHP:
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;
void MenuPrincipal(void);
int main(int argc, char *argv[])
{
    MenuPrincipal();
    system("pause");
    return EXIT_SUCCESS;
}

void MenuPrincipal (void){
     
     for(;;){
     char R;
     system("CLS");
     cout<<"Elija su idioma" <<endl;
     cout<<"A) Espanol" <<endl;
     cout<<"B) Ingles" <<endl;
     cout<<"c) Salir" <<endl;
     R=getch();
      
         
switch (R){
       
   case 'A' :
   system("CLS");        
   system ("color f2");    
   printf("\n\n\t\t\t               MENU\n\n");
   printf("\t\t\t     -------------------------\n\n");
   printf("\t\t\t      1:Jugar\n\n");
   printf("\t\t\t      2:Puntajes\n\n");
   printf("\t\t\t      3:Instrucciones\n\n");
   printf("\t\t\t      4:Salir\n\n");
   printf("==> ");
   system("pause");
   break; 
   
   case 'B' :
   system("CLS"); 
   system ("color f2");        
   printf("\n\n\t\t\t               MENU\n\n");
   printf("\t\t\t     -------------------------\n\n");
   printf("\t\t\t      1:Play\n\n");
   printf("\t\t\t      2:Scores\n\n");
   printf("\t\t\t      3:Instructions\n\n");
   printf("\t\t\t      4:Exit\n\n");
   printf("==> ");
   system("pause");
   break;
   
   case 'C':
   exit(0);
   
   default:break;
  }
 }
}

Bella, miralo ahi funcionando ;)


SuerteX :D
 
mmmm ese debe ser el cin>> o el fscanf, verdad?
bueno estos manes saben muchooo
saludos!


Tu sabes que getch es una pausa, y R esta declarado como una variable char..... tonces lo que hace el getch es que mantiene el menu ahi hasta que se presione la letra que esten en el swtich.... si no se presiona ninguna se quedara ahi.....


No se, es algo complicado.... no lo se explicar muy bien y tampoco lo entiendo 100% :muerto:


SuerteX :)
 
Tu sabes que getch es una pausa, y R esta declarado como una variable char..... tonces lo que hace el getch es que mantiene el menu ahi hasta que se presione la letra que esten en el swtich.... si no se presiona ninguna se quedara ahi.....


No se, es algo complicado.... no lo se explicar muy bien y tampoco lo entiendo 100% :muerto:


SuerteX :)
bueno esa no me la sabia tengo añales que no programo en ambiente dos.
Gracias x el dato compadre!
 
PHP:
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
void MenuPrincipal(void);
int main(int argc, char *argv[])
{
    MenuPrincipal();
    system("pause");
    return EXIT_SUCCESS;
}
 
void MenuPrincipal (void){
 
     for(;;){
     char R;
     system("CLS");
     cout<<"Elija su idioma" <<endl;
     cout<<"A) Espanol" <<endl;
     cout<<"B) Ingles" <<endl;
     cout<<"c) Salir" <<endl;
     R=getch();
 
 
switch (R){
 
   case 'A' :
   system("CLS");        
   system ("color f2");    
   printf("\n\n\t\t\t               MENU\n\n");
   printf("\t\t\t     -------------------------\n\n");
   printf("\t\t\t      1:Jugar\n\n");
   printf("\t\t\t      2:Puntajes\n\n");
   printf("\t\t\t      3:Instrucciones\n\n");
   printf("\t\t\t      4:Salir\n\n");
   printf("==> ");
   system("pause");
   break; 
 
   case 'B' :
   system("CLS"); 
   system ("color f2");        
   printf("\n\n\t\t\t               MENU\n\n");
   printf("\t\t\t     -------------------------\n\n");
   printf("\t\t\t      1:Play\n\n");
   printf("\t\t\t      2:Scores\n\n");
   printf("\t\t\t      3:Instructions\n\n");
   printf("\t\t\t      4:Exit\n\n");
   printf("==> ");
   system("pause");
   break;
 
   case 'C':
   exit(0);
 
   default:break;
  }
 }
}

Bella, miralo ahi funcionando ;)


SuerteX :D


MUCHAS PERO MUCHAS GRACIAS A TODOS POR AYUDARME Y AUNQUE HE VISTO ESTE CÓDIGO UN POCO TARDE, GRACIAS DE TODAS MANERAS....

Lo digo porque gracias a Dios ya lo hice!!!!!

Usé funciones, if para validar y apuntador, de hecho, este último me faltaba, por eso se perdía el valor de mi R.

Besitos virtuales para todos :p

Ah y por cierto, estoy trabajando en C y no en C++. Eso es para el próximo término=)


for(;;){ (Qué hace eso)