Ver Mensaje Individual
  #22 (permalink)  
Antiguo 25/01/2012, 11:31
richard_h
 
Fecha de Ingreso: enero-2012
Mensajes: 17
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: funcion compleja

starfix: no, ya los tengo puestos. LA opcion que os he enseñado, el verbo traicionar, era el case numero 209, asi que......

Pero es que lo EXTRAÑO es que antes no necesitaba ese & y funcionaba perfectamente, y ahora no se que he hecho que me da error. Además he añadido una nueva opcion que es mostrar la traduccion del verbo, y es muy extraño porque a al principio me sale bien, le doy a menu y al inentarlo no me va, despues si, y asi bastantes veces, no se que pasa.

Os paso el codigo con el case del verbo traicionar.
(por cierto ya se que hay algunos goto, pero por ahora mi problema es que funcione la funcion, mas adelante rematare eso :).

Código C:
Ver original
  1. int cont=0;
  2.     int aleatorio_ingles=0,opcion,opcion_espanol,opcion_mal,opcion_verbo;
  3.     char verbo[];
  4.     char *verb, *verb2, *verb3, *verb4, *verb5, *verb6, *verb7;
  5.    
  6.     int aleatorio_espanol=0,opcion_verbo2;
  7.    
  8.    
  9.     char traicionar[15]="traicionar", betray[8]="betray";
  10.    
  11.    
  12.     void e_verbo()
  13.                   {
  14.                   system("cls");
  15.                        do{
  16.                        printf("\n Traduzca %s: ",verb2);
  17.                        scanf(" %[^\n]s",&verbo);
  18.                        if(strcmp(verbo,verb)==0)
  19.                        {
  20.                           system("cls");
  21.                           printf("\n Muy bien.\n\n");
  22.                           do{
  23.                           printf(" 1-. Otro verbo\n");
  24.                           printf("\n 2-. Menu\n");
  25.                           printf("\n\n Que desea hacer ahora?: ");
  26.                           scanf(" %d",&opcion_verbo);
  27.                          
  28.                           if(opcion_verbo < 1 || opcion_verbo > 2)
  29.                           {
  30.                                    system("cls");
  31.                                    printf("\n Opcion incorrecta, intentelo de nuevo: \n\n");
  32.                            }
  33.                           }while(opcion_verbo != 1 && opcion_verbo != 2);
  34.                        }
  35.                        else
  36.                        {
  37.                           system("cls");                          
  38.                           printf("\n Lo siento, traduccion incorrecta\n");
  39.                           do{
  40.                           printf("\n 1-. Volver a intentarlo\n");
  41.                           printf("\n 2-. Ver traduccion\n");                          
  42.                           printf("\n 3-. Menu\n");
  43.                           scanf(" %d",&opcion_mal);
  44.                          
  45.                          switch(opcion_mal)
  46.                          {
  47.                              case 1:
  48.                                   system("cls");
  49.                                   break;
  50.                              
  51.                              case 2:
  52.                                   system("cls");
  53.                                   if(verb3==NULL)
  54.                                   printf("\n La traduccion del verbo %s es: %s\n\n", verb2, verb);
  55.                                  
  56.                                   else
  57.                                   {
  58.                                   if(verb4==NULL)
  59.                                   printf("\n La traduccion del verbo %s es: %s, %s\n\n", verb2, verb, verb3);
  60.                                  
  61.                                   else
  62.                                   {
  63.                                   if(verb5==NULL)
  64.                                   printf("\n La traduccion del verbo %s es: %s, %s, %s\n\n", verb2, verb, verb3, verb4);    
  65.                                  
  66.                                   else
  67.                                   {
  68.                                   if(verb6==NULL)
  69.                                   printf("\n La traduccion del verbo %s es: %s, %s, %s, %s\n\n", verb2, verb, verb3, verb4, verb5);    
  70.                                  
  71.                                   else
  72.                                   {
  73.                                   if(verb7==NULL)
  74.                                   printf("\n La traduccion del verbo %s es: %s, %s, %s, %s, %s\n\n", verb2, verb, verb3, verb4, verb5, verb6);    
  75.                                  
  76.                                   }}}}
  77.                                  
  78.                                   break;
  79.                                  
  80.                              case 3:
  81.                                   break;
  82.                                  
  83.                              default:
  84.                                       system("cls");
  85.                                    printf("\n Opcion no valida, intentelo de nuevo\n");
  86.                                      break;              
  87.                          }
  88.                          
  89.                        }while(opcion_mal != 1 && opcion_mal != 2 && opcion_mal != 3);
  90.                                                  
  91.                          
  92.                        }
  93.                          }while(opcion_mal == 1);
  94.     }
  95.  
  96.   int main(){  
  97.                          
  98.   case 210://paso directamente al case:
  99.                         verb = rattle;
  100.                         verb2 = sonar;                        
  101.                         verb3 = vibrar, verb4, verb5, verb6, verb7;
  102.                        
  103.                         e_verbo();
  104.                        
  105.                         if (opcion_verbo == 1){  
  106.                         system("cls");                        
  107.                         goto aleatorio_espanol;}
  108.                                                
  109.                         if(opcion_verbo == 2 || opcion_mal == 3){system("cls");}
  110.                        
  111.                         if(opcion_mal == 2) goto menu;
  112.                                    
  113.                                                      
  114.                        break;