[C] Lectura de caracter

Iniciado por n-utz, 13 Septiembre 2016, 01:52 AM

0 Miembros y 1 Visitante están viendo este tema.

n-utz

[SOLUCIONADO]: Tenia cargado el buffer de alguna manera, entonces cuando llegaba el scanf, agarraba cualquier caracter, la solucion fue poner, antes del scanf, un getchar() para que se encargue de eso.

Buenas noches, acá una vez más odiando C y el scanf, a ver si me dan una mano.

Hace tiempo postee que tenía problemas con leer caracteres, tenía dos variables de caracteres, que leían solo una vez durante el programa con el scanf, me leía el problema y el segundo lo ignoraba, lo solucioné gracias a un colega de acá que me dijo que implemente el getchar(), para el retorno si no me equivoco.

Ahora, tengo un problema similar, la diferencia es que meto un scanf que lee caracteres dentro de un for, por lo tanto va a tener que leer caracteres diferentes cuantas veces como diga el usuario.

El problema es que no lee ni la primera vez, y no entiendo por qué. Acepto cualquier consejo, si es necesario reemplazar scanf por otra función lo hago, pero intenté con getchar y tampoco puedo, les dejo las líneas del problema..


int main()
{
   char abc[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
   int cc, i, j, num;
   char aux;

//LECTURA DE OTRAS VARIABLES COMO CC, Y DECLARACION DE COD

for(i=0;i<cc;i++){
       printf("Ingrese el %d caracter: ", i);
       scanf("%c", &aux);
       getchar();
       printf("\n%c", aux);
       for(j=0;j<26;j++){
           if(abc[j]==aux)aux=abc[j];
       }
       cod[i]=aux;
   }