Ver Mensaje Individual
  #35 (permalink)  
Antiguo 30/01/2012, 13:30
Avatar de L3m0n
L3m0n
 
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 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.