[OT] fallo en programa
Buenas. Estoy aprendiendo c++ en linux y este programa me falla: #include iostream 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.
Re: [OT] fallo en programa
SoTaNeZ wrote: Buenas. Estoy aprendiendo c++ en linux y este programa me falla: #include iostream 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
Re: [OT] fallo en programa
Iñaki Albors wrote: SoTaNeZ wrote: Buenas. Estoy aprendiendo c++ en linux y este programa me falla: #include iostream 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
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