elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  tengo un problema aparentemente tonto pero que me esta rompiendo el coco!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: tengo un problema aparentemente tonto pero que me esta rompiendo el coco!!!  (Leído 2,376 veces)
anajulia829

Desconectado Desconectado

Mensajes: 2


Ver Perfil
tengo un problema aparentemente tonto pero que me esta rompiendo el coco!!!
« en: 9 Septiembre 2013, 19:50 pm »

ngrese
for(i=0;i<20;i++)
{
printf("Ingrese posicion %d de cedula: ",i);
scanf(" %c",&cedula);
vectorced=cedula;
}
SUPUESTAMENTE ES UNA TONTERIA PERO NO LE ENCUENTRO SOLUCION, SI TENGO ESTE TROZO DE CODIGO, POR QUE AL EJECUTARLO ME APARECE ESTO
ingrese posicion 1 cedula: ingreso a y le doy enter
aparece
ingrese posicion 2: ingrese posicion 3 : ingreso b y le doy enter aparece...
ingrese posicion 4: ingrese posicion 5 : ingreso b y le doy enter aparece...
y asi etc etc
EN TOTAL INGRESO 10 VECES CARACTERES, SI LE DOY SOLAMENTE ENTER Y NO CARACTER MAS ENTER, EL CODIGO SE EJECUTA COMO QUIERO Y SI DEFINO LA ENTREDA DEL VECTOR COMO UN ENTERO, NO ES LO QUE NECESITO, TAMBIEN INGRESO ENTERO Y LE DOY ENTER Y EL CODIGO EJECUTA LO MAS BIEN...COMO HAGO
GRACIAS!!!!


En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: tengo un problema aparentemente tonto pero que me esta rompiendo el coco!!!
« Respuesta #1 en: 9 Septiembre 2013, 21:13 pm »

He probado tu código en Dev C++ y a mí me funciona a la perfección. ¿Ese es todo el código o hay más, de ser quizá el error está en otra parte (aunque es poco probable).

¿Qué compilador y S.O. utilizas?



Te adjunté un screenshot para que veas el código con la aplicación corriendo.

EDITADO: Escribe el código completo junto con la declaración de variables. No sé por qué pero presiento que tu fallo viene desde ahí.  :rolleyes:


« Última modificación: 9 Septiembre 2013, 21:22 pm por El Benjo » En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
anajulia829

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: tengo un problema aparentemente tonto pero que me esta rompiendo el coco!!!
« Respuesta #2 en: 9 Septiembre 2013, 22:20 pm »

lo probe ahora en el trabajo y funciona bien!!!...no entiendo!!!! en la notebook lo probe en dev c++ y c y me anduvo mal!!! sera que tiene virus???
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: tengo un problema aparentemente tonto pero que me esta rompiendo el coco!!!
« Respuesta #3 en: 10 Septiembre 2013, 03:59 am »

Código
  1. for (i = 0; i < 20; i++){
  2.   printf("Ingrese posicion %d de cedula: ",i);
  3.   scanf(" %c", &cedula);
  4.   vectorced[i] = cedula;
  5. }
SUPUESTAMENTE ES UNA TONTERIA PERO NO LE ENCUENTRO SOLUCION, SI TENGO ESTE TROZO DE CODIGO, POR QUE AL EJECUTARLO ME APARECE ESTO
ingrese posicion 1 cedula: ingreso a y le doy enter
aparece
ingrese posicion 2: ingrese posicion 3 : ingreso b y le doy enter aparece...
ingrese posicion 4: ingrese posicion 5 : ingreso b y le doy enter aparece...
y asi etc etc

EN TOTAL INGRESO 10 VECES CARACTERES, SI LE DOY SOLAMENTE ENTER Y NO CARACTER MAS ENTER, EL CODIGO SE EJECUTA COMO QUIERO
Al llamar a scanf utilizas la cadena de formato " %c", con ella no hay problema y no puede presentarse el comportamiento que mencionas.

Tu problema fue que en algun momento cambiaste esa cadena de formato a "%c" eliminado el espacio antes del caracter '%'. Con esa cadena de formato la funcion leera el primer caracter que encuentre sin importar cual. Por ejemplo si tecleas:
Código:
a{ENTER}
La funcion procesa el caracter 'a' y retorna, en la segunda iteracion del bucle el caracter que se procesa es el avance de linea '\n' generado al presionar la tecla {ENTER} y que se encuentra en el bufer de la entrada estandar. Ello da, como describes, la apariencia de "saltarse una lectura".

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema tonto pero tonto...
Sugerencias y dudas sobre el Foro
leucocito 7 4,094 Último mensaje 18 Noviembre 2009, 14:36 pm
por [u]nsigned
ayuda plis, quebrando me el coco buscando por que esta mal « 1 2 »
Java
sevid 11 5,722 Último mensaje 15 Noviembre 2009, 01:01 am
por sevid
Aparentemente conectado, pero sin internet.
Redes
ali... 4 4,719 Último mensaje 1 Noviembre 2010, 12:12 pm
por ali...
esto me esta rompiendo la cabeza [PYTHON]
Ejercicios
zimmerman 0 2,448 Último mensaje 3 Octubre 2013, 15:47 pm
por zimmerman
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines