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

funcion compleja

Estas en el tema de funcion compleja en el foro de C/C++ en Foros del Web. muchas gracias hare eso. Pero ahora en todos los strcmp me sale error: "passing arg 1 of strcmp makes pointer from integer without a cast". ...

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

muchas gracias hare eso. Pero ahora en todos los strcmp me sale error: "passing arg 1 of strcmp makes pointer from integer without a cast".

Y encima ahora no me sale nada en la pantalla cuando llamo a la funcion.

Que esta mal?
  #32 (permalink)  
Antiguo 27/01/2012, 13:53
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 3 meses
Puntos: 46
Respuesta: funcion compleja

Puedes poner el codigo exacto que tienes hasta el momento, asi sera mas facil.
  #33 (permalink)  
Antiguo 28/01/2012, 15:18
 
Fecha de Ingreso: enero-2012
Mensajes: 17
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: funcion compleja

es exactamente el mismo que postee antes, solo que en vez de la asignacion es a una variable, lo pongo entre comillas.

Pero la cosa es q creo que las variables cuando se utilizan en un strcmp tienen que ser punteros, no?
  #34 (permalink)  
Antiguo 30/01/2012, 11:33
 
Fecha de Ingreso: enero-2012
Mensajes: 17
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: funcion compleja

miradlo plis :)
  #35 (permalink)  
Antiguo 30/01/2012, 13:30
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 3 meses
Puntos: 46
Respuesta: funcion compleja

Te he hecho una version simple del programa con 2 verbos, pero creo que se ve bien lo que pasa.
Ten en cuenta que he sustituido la funcion strcmp por una creada, que es muy simple y que en cosas de estas a mi personalmente me gusta mas usar una creada por uno mismo pero vaya, como quieras.
Lo he escrito rapido puede que tenga algun error.
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char verbo[15],verbointroducido[15],verbocorrecto[15],resp;
  6. int num_aleatorio,ch;
  7. int main(void){
  8.     do{
  9.     srand(time(NULL));
  10.     num_aleatorio=rand()%2;
  11.     switch(num_aleatorio){
  12.         case 0: strcpy(verbo,"saltar");
  13.                 strcpy(verbocorrecto,"jump");
  14.                 printf("Introduzca la traduccion del verbo %s : ",verbo);
  15.                 fgets(verbointroducido,sizeof(verbointroducido),stdin);
  16.                 if(compare(verbocorrecto,verbointroducido) == 0) printf("\nHa introducido la traduccion correcta\n");
  17.                 else printf("Verbo incorrecto\n");
  18.                 break;
  19.  
  20.         case 1: strcpy(verbo,"correr");
  21.                 strcpy(verbocorrecto,"run");
  22.                 printf("Introduzca la traduccion del verbo %s : ",verbo);
  23.                 fgets(verbointroducido,sizeof(verbointroducido),stdin);
  24.                 if(compare(verbocorrecto,verbointroducido) == 0) printf("\nHa introducido la traduccion correcta\n");
  25.                 else printf("Verbo incorrecto\n");
  26.                 break;
  27.  
  28.     }
  29.         printf("Desea traducir otro verbo?[S/N]");
  30.         resp = fgetc(stdin);
  31.         while((ch=getchar()) != '\n' && ch != EOF);
  32.     }while(resp == 's' || resp == 'S');
  33.  
  34.  
  35.     return 0;
  36. }
  37.  
  38. int compare(char cad1[],char cad2[]){
  39.     int i;
  40.     for(i=0;i<strlen(cad1);i++){
  41.         if(cad1[i] != cad2[i]) return 1;
  42.     }
  43.     return 0;
  44.  
  45. }

Es una version simple, si aun te queda alguna duda si quieres podemos ampliar este programa con otras cosas, tu diras.

Etiquetas: funcion
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:00.