Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2013, 14:28
Avatar de leasl
leasl
 
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 10 años, 11 meses
Puntos: 0
Obtener caracter

Hola,

Mi duda es de que forma puedo obtener un caracter ingresado por el usuario del programa.

Este es el codigo que tengo:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #define BUFFSIZE 30
  5.  
  6. /* 129. Crear una función que recibe como parámetro un string y un carácter y devuelve la posición donde aparece ese carácter,
  7.  o -1 en caso de no existir.*/
  8.  
  9. int PosicionCaracter(char s[],char c);
  10.  
  11. int main()
  12. {
  13.           char s[BUFFSIZE],c,buffer[BUFFSIZE];
  14.           int posicion=0;
  15.           printf("Ingresar una palabra\n");
  16.           gets(s);
  17.           printf("Ingresar un caracter\n"); /*Aca empieza el problema */
  18.           getchar(buffer);
  19.           c=buffer;
  20.           posicion = PosicionCaracter(s,c);
  21.           if (posicion != -1)
  22.           {
  23.                        printf("La posicion del caracter es: %d", posicion);
  24.           }
  25.           else
  26.                        printf("No se ha encontrado dentro de la cadena el caracter");
  27.           getch();
  28.           return 0;
  29. }
  30.  
  31. int PosicionCaracter(char s[],char c)
  32. {
  33.           int pos=-1,i;    
  34.           for(i=0; s[i]!= '\0'; i++)
  35.           {
  36.                    if (s[i] == c)
  37.                    {
  38.                    pos = i + 1;
  39.                    }            
  40.           }
  41.           return pos;
  42. }

Lo que se me ocurrio es convertir a C en una cadena de caracteres de 1 posición. Pero me gustaria saber si existe una funcion para que pueda tratar a c solo como una variable.

Saludos!