Re: [OT] fallo en programa
On Sat, 13 Dec 2003 19:14:35 +0100 Iñaki Albors <[EMAIL PROTECTED]> wrote: ==> Hola, léete el man de scanf. Refiriéndose al formato y en el caso de ==> caracteres (%c) dice exactamente: ==> ==> /The usual skip of leading white space is suppressed. To skip ==> white space first, use an explicit space in ==> the format./ ==> ==> O sea, que para que te salga, hay que poner algo así: ==> ==> scanf(" %c",&elCaracter); ==>^ ==> (Espacio en blanco) ==> ==> ==> Espero que te sirva... ==> ==> Iñaki Gracias xD
Re: [OT] fallo en programa
Iñaki Albors wrote: SoTaNeZ wrote: Buenas. Estoy aprendiendo c++ en linux y este programa me falla: #include int main() { int filas, columnas; char elCaracter; printf ("¿Cuantas filas? "); scanf ("%d", &filas); printf ("¿Cuantas columnas? "); scanf ("%d", &columnas); printf ("¿Cuál carácter? "); scanf ("%c",&elCaracter); for (int i = 0; i < filas; i++) { for (int j = 0; j < columnas; j++) printf("%c", elCaracter); printf("\n"); } return 0; } --- Al escribirle el numero de columnas se salta el scanf ("%c",&elCaracter) y escribe varias lineas en blanco (las del bucle for supongo). Si cambio los %c por %s me deja meter el caracter pero sigue escribiendo las lineas en blancos. Lo he copiado exactamente del libro que estoy siguiendo, salvo que en vez de printf y scanf usa cout y cin. He buscado info y parece que lo que hago está bien. Gracias y un saludo. Hola, léete el man de scanf. Refiriéndose al formato y en el caso de caracteres (%c) dice exactamente: /The usual skip of leading white space is suppressed. To skip white space first, use an explicit space in the format./ O sea, que para que te salga, hay que poner algo así: scanf(" %c",&elCaracter); ^ (Espacio en blanco) Espero que te sirva... Iñaki Perdona, el espacio en blanco debe estar antes de %c... Iñaki
Re: [OT] fallo en programa
SoTaNeZ wrote: Buenas. Estoy aprendiendo c++ en linux y este programa me falla: #include int main() { int filas, columnas; char elCaracter; printf ("¿Cuantas filas? "); scanf ("%d", &filas); printf ("¿Cuantas columnas? "); scanf ("%d", &columnas); printf ("¿Cuál carácter? "); scanf ("%c",&elCaracter); for (int i = 0; i < filas; i++) { for (int j = 0; j < columnas; j++) printf("%c", elCaracter); printf("\n"); } return 0; } --- Al escribirle el numero de columnas se salta el scanf ("%c",&elCaracter) y escribe varias lineas en blanco (las del bucle for supongo). Si cambio los %c por %s me deja meter el caracter pero sigue escribiendo las lineas en blancos. Lo he copiado exactamente del libro que estoy siguiendo, salvo que en vez de printf y scanf usa cout y cin. He buscado info y parece que lo que hago está bien. Gracias y un saludo. Hola, léete el man de scanf. Refiriéndose al formato y en el caso de caracteres (%c) dice exactamente: /The usual skip of leading white space is suppressed. To skip white space first, use an explicit space in the format./ O sea, que para que te salga, hay que poner algo así: scanf(" %c",&elCaracter); ^ (Espacio en blanco) Espero que te sirva... Iñaki