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

Muchas gracias, eso no lo sabia :P

Ya lo hice y me salio a la perfeccion. Pero al intentar hacer otra funcion para la parte español-ingles, al intentar probarlo me daba error. Tras hacer muchas pruebaas, decidi borrar esa funcion y probar el programa. Y cual fue mi sorpresa que dio error.

Es decir, hice la primero funcion, me salio, y despues de hacer otra funcion y borrarla, ahora la primera funcion me da error, sin apenas haberla tocado. Que esta pasando¿

me dice: "passing arg 1 of strcmp' makes pointer from integer without a cast", eso en cada variable. Muy extraño.

Os dejo el programa, haber que pasa:

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