[C con Clase] X-files en c++

Juan jmicanovelles en gmail.com
Mie Oct 15 16:04:23 CEST 2008


Perdona chato, si usas scanf para un char, para limpiar buffer fflush(stdin)
, ahora bien si quiere usar otros metodos de entrada, que haga lo que le salga de las narices, vale, o no vale
Juan








El pasado 2008-10-14 17:44:32, David escribió:
 
D> PARA QUE PONEN OTRAS POSIBILIDADES QUE NO SON LO QUE SE TIENE QUE USAR EN
D> ESTE CASO PUNTUAL????
D> SOLO CONFUNDEN A LA PERSONA QUE PREGUNTA Y A LOS QUE EN EL FUTURO BUSQUEN EN
D> LOS ARCHIVOS....
D> DAVID
D> El 14 de octubre de 2008 14:35, Juan <jmicanovelles en gmail.com> escribió:
D> >
D> > Despues del scanf
D> > fflush(stdin) limpia el buffer de entrada
D> > Es otra de las posibilidades.
D> >
D> > Juan
D> >
D> >
D> >
D> >
D> >
D> >
D> > El pasado 2008-10-14 00:20:40, David Barragán Merino escribió:
D> >
D> > DBM> Hola listeros,
D> > DBM> tratando de enseñar C++ me ha pasado un caso muy extraño:
D> > DBM> ///codigo:
D> > DBM> include <stdio.h>
D> > DBM> int main(){
D> > DBM>     // Para controlar las iteraciones.
D> > DBM>     int i;
D> > DBM>     // Para contar el numero de vocales.
D> > DBM>     int vocales = 0;
D> > DBM>     // Para guardar los caracteres que se leen por teclado.
D> > DBM>     char caracter;
D> > DBM>     // Repetir 10  veces (desde que i = 0, mientras i < 10)
D> > DBM>     for (i = 0; i < 10; i++){
D> > DBM>         // Imprimir
D> > DBM>         printf("Introduzca el caracter %i:\t", i + 1);
D> > DBM>         // Leemos un caracter
D> > DBM>         scanf("%c", &caracter);
D> > DBM>         // si el caracter leido es a,e,i,o,u,A,E,I,O,U
D> > DBM>         if (caracter == 'a' || caracter == 'A' || caracter == 'e' ||
D> > DBM> caracter == 'E' || caracter == 'i' || caracter == 'I' || caracter ==
D> > DBM> 'o' || caracter == 'O' || caracter == 'u' || caracter == 'U'){
D> > DBM>             // Aumentamos en 1 el numero de vocales
D> > DBM>             vocales++;
D> > DBM>         } // fin if
D> > DBM>     } // fin for
D> > DBM>     // Imprimimos numero de vocales
D> > DBM>     printf("- Numero de Vocales: %i\n", vocales);
D> > DBM>     // Imprimimos numero de no vocales (10 - vocales)
D> > DBM>     printf("- Numero de Otros caracteres: %i\n", 10 - vocales);
D> > DBM> } // fin main
D> > DBM> Este código da error:
D> > DBM> $ ./prueba
D> > DBM> Introduzca el caracter 1:       a
D> > DBM> Introduzca el caracter 2:       Introduzca el caracter 3:       e
D> > DBM> Introduzca el caracter 4:       Introduzca el caracter 5:       i
D> > DBM> Introduzca el caracter 6:       Introduzca el caracter 7:       o
D> > DBM> Introduzca el caracter 8:       Introduzca el caracter 9:       u
D> > DBM> Introduzca el caracter 10:      - Numero de Vocales: 5
D> > DBM> - Numero de Otros caracteres: 5
D> > DBM> en cambio
D> > DBM> ///codigo
D> > DBM> #include <stdio.h>
D> > DBM> int main(){
D> > DBM>     // Para controlar las iteraciones.
D> > DBM>     int i;
D> > DBM>     // Para contar el numero de vocales.
D> > DBM>     int vocales = 0;
D> > DBM>     // Para guardar los caracteres que se leen por teclado.
D> > DBM>     char caracter;
D> > DBM>     // Repetir 10  veces (desde que i = 0, mientras i < 10)
D> > DBM>     for (i = 0; i < 10; i++){
D> > DBM>         // Imprimir
D> > DBM>         printf("Introduzca el caracter %i:\t", i + 1);
D> > DBM>         // Leemos un caracter
D> > DBM>         scanf("%c", &caracter);
D> > DBM>         // si el caracter leido es a,e,i,o,u,A,E,I,O,U
D> > DBM>         if (caracter == 'a' || caracter == 'A' || caracter == 'e' ||
D> > DBM> caracter == 'E' || caracter == 'i' || caracter == 'I' || caracter ==
D> > DBM> 'o' || caracter == 'O' || caracter == 'u' || caracter == 'U'){
D> > DBM>             // Aumentamos en 1 el numero de vocales
D> > DBM>             vocales++;
D> > DBM>         } // fin if
D> > DBM>         scanf("%c", &caracter); //Leemos el ENTER
D> > DBM>     } // fin for
D> > DBM>     // Imprimimos numero de vocales
D> > DBM>     printf("- Numero de Vocales: %i\n", vocales);
D> > DBM>     // Imprimimos numero de no vocales (10 - vocales)
D> > DBM>     printf("- Numero de Otros caracteres: %i\n", 10 - vocales);
D> > DBM> } // fin main
D> > DBM> este no:
D> > DBM> $ ./prueba
D> > DBM> Introduzca el caracter 1:       a
D> > DBM> Introduzca el caracter 2:       e
D> > DBM> Introduzca el caracter 3:       i
D> > DBM> Introduzca el caracter 4:       o
D> > DBM> Introduzca el caracter 5:       u
D> > DBM> Introduzca el caracter 6:       q
D> > DBM> Introduzca el caracter 7:       q
D> > DBM> Introduzca el caracter 8:       q
D> > DBM> Introduzca el caracter 9:       q
D> > DBM> Introduzca el caracter 10:      q
D> > DBM> - Numero de Vocales: 5
D> > DBM> - Numero de Otros caracteres: 5
D> > DBM> Alguien sabe como puedo corregir el primer código sin añadir
D> > DBM> "scanf("%c", &caracter); //Leemos el ENTER"???
D> > DBM> Gracias
D> > DBM> ____________________________________________
D> > DBM> |
D> > DBM> |    David Barragán Merino
D> > DBM> |    E-mail: bameda en ARROBA@gmail.com
D> > DBM> |    Ingeniería Informática
D> > DBM> |    Universidad Carlos III Madrid
D> > DBM> |____________________________________________
D> > DBM> _______________________________________________
D> > DBM> Lista de correo Cconclase Cconclase en listas.conclase.net
D> > DBM>
D> > http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
D> > DBM> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
D> > _______________________________________________
D> > Lista de correo Cconclase Cconclase en listas.conclase.net
D> > http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
D> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
D> >
D> -- 
D> (\__/)
D> (='.'=)This is Bunny. Copy and paste bunny into your
D> (")_(")signature to help him gain world domination.
D> _______________________________________________
D> Lista de correo Cconclase Cconclase en listas.conclase.net
D> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
D> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ


Más información sobre la lista de distribución Cconclase