Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: VanDarte en 13 Julio 2014, 10:44 am



Título: Soy Principiante
Publicado por: VanDarte en 13 Julio 2014, 10:44 am
Que tal amigos, soy nuevo en este foro y principiante en el mundo de la programación y necesito ayuda...

Quisiera saber como intercambiar, traducir y/o transportar frases, por ejemplo:

Si yo escribo: "C", que el programa me responda con la palabra: "FA"
Si yo escribo: "FA", que el programa me responda con la palabra: "SIB"

Eso seria de gran ayuda amigos, gracias de antemano.

PD: No se nada de programación, estoy aprendiendo apenas  :xD


Título: Re: Soy Principiante
Publicado por: leosansan en 13 Julio 2014, 13:56 pm
.................................................................................................
Si yo escribo: "C", que el programa me responda con la palabra: "FA"
Si yo escribo: "FA", que el programa me responda con la palabra: "SIB"

Eso seria de gran ayuda amigos, gracias de antemano.

PD: No se nada de programación, estoy aprendiendo apenas  :xD

Antes que nada debes declarar las variables a utilizar en el código, algo como:

Código
  1. int i , opc = -1 , tamay ;
  2.  char entrada[100] ;
  3.  const char *palabras[] = { "C","FA" /** mas..... **/ } ;
  4.  const char *respuestas[] = { "FA","SIB" /** mas..... **/ } ;

donde i se usará como índice, opc como opción y tamay como tamaño del array a usar, que lo podrías calcular como:

Código
  1. tamay = sizeof palabras / sizeof palabras[0] ;

A continuación necesitas entrar por teclado la palabra a comparar/buscar, teniendo en cuenta lo que no hay que hacer en C/C++. Nivel basico (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html):

Código
  1. fgets(entrada , 100 , stdin );
  2.  if (entrada[strlen(entrada)-1] == '\n')
  3.    entrada[strlen(entrada)-1] = '\0';

Una vez entrada la palabra todo es comparar con el array palabras, cosa que se hace usando la función /strcmp (http://www.cplusplus.com/reference/cstring/strcmp/):

Código
  1. for ( i = 0 ; i < tamay ; i++ )
  2.    if ( strcmp ( entrada  , palabras[i] ) == 0){
  3.      opc = i ;
  4.      break ;
  5.    }

Y ya casi está. Ahora, y según el valor de opc, se imprimirá la respuesta si la hay:

Código
  1. if ( opc != -1 )
  2.    printf ( "%s" , respuestas[opc] );
  3.  else
  4.    printf ( "No hay respuesta" );

No olvides incluir la librería string.h para el uso de strcmp.

¡¡¡¡ Saluditos! ..... !!!!


(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)