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

[SOLUCIONADO] Encontrar un carácter en un Array!

Estas en el tema de Encontrar un carácter en un Array! en el foro de C/C++ en Foros del Web. Lo que pasa es que me dejaron hacer una tarea de un ahorcado y no llevo mucho programando, pero solo me falta comparar la letra ...
  #1 (permalink)  
Antiguo 05/09/2015, 14:51
 
Fecha de Ingreso: septiembre-2015
Mensajes: 4
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta Encontrar un carácter en un Array!

Lo que pasa es que me dejaron hacer una tarea de un ahorcado y no llevo mucho programando, pero solo me falta comparar la letra que ingrese el usuario con la palabra que debe de adivinar, estoy trabajando por módulos así que esto es lo que llevo referente a la comparación[ejemplo], pero tengo un fallo que no logro detectar al momento que ingreso una letra para buscar la función strcspn no me detecta mi letra aunque esta si se encuentre en la palabra. Les agradecería mucho que me ayudaran.

int i = 0,tamP = 0;
char com[15],pal[15]="derivada",let[1];
int comparar (char let[1])
{
int c = strcspn (pal,let);
printf("%d",c);
if (c >= 0 && c < tamP)
{
printf("\nAtino\n");
return 1;
}
else
{
printf("\nFallo\n");
return 0;
}
}
char comparacionL(char let[1])
{
int aux = comparar(let);
if(aux == 1)
{
for (i=0; i<tamP; i++)
{
if (let[1] == pal[i])
{
com[i] = let[1];
}
continue;
}
return com[i];
}
else
return '2';
}

main(){
tamP = strlen(pal);
printf("%s\n",pal);
printf("\n\tQUE LETRA DESEA VERIFICAR\n");
scanf("%c",&let[1]);
char aux = comparacionL(let);
if (aux == '2')
printf("\n\tLETRA NO ENCONTRADA\n\tINTENTE CON OTRA LETRA\n");
else
printf("%s\n",aux);
getchar();
}
  #2 (permalink)  
Antiguo 06/09/2015, 04:14
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Encontrar un carácter en un Array!

No tengo pc a mano pero tienes un fallo evidente. Si lo que necesitas con la variable "let" es que solo contenta un carácter, no la crees como array, crea la como una variable de tipo charla ya que luego lo que estas haciendo con let [1] no es lo que tu piensas ya que en ese array el primer carácter esta en let [0] y en let [1] lo que tienes es el carácter de fin de cadena y al cambiarlo estas haciendo que después funciones como strlen, strstr, strcmp y similares lean basura como parte de la cadena.
  #3 (permalink)  
Antiguo 06/09/2015, 17:02
 
Fecha de Ingreso: septiembre-2015
Mensajes: 4
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Encontrar un carácter en un Array!

Gracias, ya me di cuenta que guardaba el \0, en vez de mi caracter. :3

Etiquetas: ahorcado, cadenas, caracteres
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




La zona horaria es GMT -6. Ahora son las 23:44.