Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/09/2013, 15:07
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 12 años, 5 meses
Puntos: 22
Respuesta: Obtener caracter

Hola.

Según leo en el enunciado (comentado en tu código), la consigna es devolver la posición de un caracter dentro de una cadena si se encuentra o -1 de otro modo.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define BUFFSIZE 30
  4.  
  5. int PosicionCaracter(char [], char );
  6.  
  7. int main()
  8. {
  9.   char s[BUFFSIZE], c;
  10.   int posicion;
  11.  
  12.   printf("Ingrese una palabra: ");
  13.   fgets(s, BUFFSIZE, stdin);
  14.   printf("\nIngrese un caracter:");
  15.   c = getchar();
  16.   while(getchar()!='\n');
  17.  
  18.   posicion = PosicionCaracter(s,c);
  19.   if (posicion == -1)
  20.     printf("El caracter no se ha encontrado dentro de la cadena ");
  21.   else
  22.     printf("Caracter encontrado en la posicion: %d", posicion);
  23.   getchar();
  24.  
  25.   return 0;
  26. }
  27.  
  28. int PosicionCaracter(char s[],char c)
  29. {
  30.   int pos=-1,i=0;
  31.   while (pos == -1 && s[i] != '\0')
  32.     if (c == s[i++]) pos = i; // i-1, para posición indice 0
  33.   return pos;
  34. }

Saludos.