Discussion:
Aprendiendo con Dennis y Brian...
(demasiado antiguo para responder)
Olaf "El Blanco"
2005-10-03 09:45:05 UTC
Permalink
Estoy leyendo un libro muy famoso que se llama
"El Lenguaje de Programación C" de Brian Kernighan y Dennis Ritchie... con
base en el ANSI C.
Es un libro viejo, (2da edición) y me está sirviendo para mis primeros pasos
en c...
También tiene ejercicios... Explican temas y dan los ejercicios que con esa
explicación puedes realizar sin problemas (supongo)

Pero ahora estoy sin poder hacer unos ejercicios...

Porque me enseñaron putchar y getchar. Y había ejercicios de entrar por
teclado cualquier cosa y contar tabuladores, nuevas líneas, etc... ya están
echo, son fáciles...
Pero ahora hay ejercicios que dicen que escriba un programa que copie su
entrada a la salida, reemplazando cada cadena de uno o mas blancos por un
solo blanco...
Pero en donde guardo la entrada? El getchar me guarda un solo carácter
verdad? Supongo que este ejercicio se debe hacer con scanf... e ir guardando
la entrada en algún lado para luego imprimirla con ese "formato".

Estoy practicando con el editor vi y luego con el gcc, y también con el
Turbo C en DOS...

Y los compiladores me "recomiendan" que main debe devolver una función...
Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return...

De antemano muchas Gracias.
Zephryn Xirdal
2005-10-03 10:14:06 UTC
Permalink
Lo primero de todo: ese libro es demasiado viejo y hay cosas que están
por completo obsoletas.

Main debe devolver un valor porque en el startup está definido como "int
main(bla bla)", por lo que al menos debes poner un "return 0;". En un
entorno de consola se entiende que devolver al sistema un valor de cero
indica que el programa terminó normalmente.

La entrada la guardas en un buffer, que es un área de memoria reservada
(que has de reservar tu), etc. Es sólo una indicación a ver si se te
ocurre cómo hacerlo.
Post by Olaf "El Blanco"
Estoy leyendo un libro muy famoso que se llama
"El Lenguaje de Programación C" de Brian Kernighan y Dennis Ritchie... con
base en el ANSI C.
Es un libro viejo, (2da edición) y me está sirviendo para mis primeros pasos
en c...
También tiene ejercicios... Explican temas y dan los ejercicios que con esa
explicación puedes realizar sin problemas (supongo)
Pero ahora estoy sin poder hacer unos ejercicios...
Porque me enseñaron putchar y getchar. Y había ejercicios de entrar por
teclado cualquier cosa y contar tabuladores, nuevas líneas, etc... ya están
echo, son fáciles...
Pero ahora hay ejercicios que dicen que escriba un programa que copie su
entrada a la salida, reemplazando cada cadena de uno o mas blancos por un
solo blanco...
Pero en donde guardo la entrada? El getchar me guarda un solo carácter
verdad? Supongo que este ejercicio se debe hacer con scanf... e ir guardando
la entrada en algún lado para luego imprimirla con ese "formato".
Estoy practicando con el editor vi y luego con el gcc, y también con el
Turbo C en DOS...
Y los compiladores me "recomiendan" que main debe devolver una función...
Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return...
De antemano muchas Gracias.
Olaf "El Blanco"
2005-10-03 10:26:43 UTC
Permalink
No se nada de arreglos, ni de punteros....
con putchar y getchar voy a poder hacerlo?
Vale lo intentare... Aunque no se como empezar...

Si hasta tengo dudas con el getchar... Porque según tengo entendido recibe
un char y en mi libro la declaran con int...
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Lo primero de todo: ese libro es demasiado viejo y hay cosas que están
por completo obsoletas.
Main debe devolver un valor porque en el startup está definido como "int
main(bla bla)", por lo que al menos debes poner un "return 0;". En un
entorno de consola se entiende que devolver al sistema un valor de cero
indica que el programa terminó normalmente.
La entrada la guardas en un buffer, que es un área de memoria reservada
(que has de reservar tu), etc. Es sólo una indicación a ver si se te
ocurre cómo hacerlo.
Post by Olaf "El Blanco"
Estoy leyendo un libro muy famoso que se llama
"El Lenguaje de Programación C" de Brian Kernighan y Dennis Ritchie... con
base en el ANSI C.
Es un libro viejo, (2da edición) y me está sirviendo para mis primeros pasos
en c...
También tiene ejercicios... Explican temas y dan los ejercicios que con esa
explicación puedes realizar sin problemas (supongo)
Pero ahora estoy sin poder hacer unos ejercicios...
Porque me enseñaron putchar y getchar. Y había ejercicios de entrar por
teclado cualquier cosa y contar tabuladores, nuevas líneas, etc... ya están
echo, son fáciles...
Pero ahora hay ejercicios que dicen que escriba un programa que copie su
entrada a la salida, reemplazando cada cadena de uno o mas blancos por un
solo blanco...
Pero en donde guardo la entrada? El getchar me guarda un solo carácter
verdad? Supongo que este ejercicio se debe hacer con scanf... e ir guardando
la entrada en algún lado para luego imprimirla con ese "formato".
Estoy practicando con el editor vi y luego con el gcc, y también con el
Turbo C en DOS...
Y los compiladores me "recomiendan" que main debe devolver una función...
Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return...
De antemano muchas Gracias.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDQQRuwSATqLEzPfMRAnZyAJ9J+uz/LgkMK/0kpFmcv4bPqSdFNQCfbPp3
a+4bbA5o0xVgWKpP0oRUIA0=
=QVEC
-----END PGP SIGNATURE-----
Zephryn Xirdal
2005-10-03 11:11:12 UTC
Permalink
Post by Olaf "El Blanco"
No se nada de arreglos, ni de punteros....
con putchar y getchar voy a poder hacerlo?
Vale lo intentare... Aunque no se como empezar...
entero=0
caracter
bucle
{
caracter=getchar
si(esblanco(caracter))
{
si entero es igual a 1, ya has sacado un blanco
si no, putchat(caracter) y caracter a 1
}else
{
caracter=0 //Para que cada vez que no sea un blanco se inicie la
secuencia de blancos
putchar(caracter)
}
}

Más o menos es así. No te lo pongo completo ni bien pa que te calientes
el caletre... es la única forma de aprender.
Post by Olaf "El Blanco"
Si hasta tengo dudas con el getchar... Porque según tengo entendido recibe
un char y en mi libro la declaran con int...
Je je. Y eso que no has entrado en temas como unicode, etc. No te
preocupes por eso, tu asignalo a un char.
Post by Olaf "El Blanco"
Lo primero de todo: ese libro es demasiado viejo y hay cosas que están
por completo obsoletas.
Main debe devolver un valor porque en el startup está definido como "int
main(bla bla)", por lo que al menos debes poner un "return 0;". En un
entorno de consola se entiende que devolver al sistema un valor de cero
indica que el programa terminó normalmente.
La entrada la guardas en un buffer, que es un área de memoria reservada
(que has de reservar tu), etc. Es sólo una indicación a ver si se te
ocurre cómo hacerlo.
Post by Olaf "El Blanco"
Estoy leyendo un libro muy famoso que se llama
"El Lenguaje de Programación C" de Brian Kernighan y Dennis Ritchie... con
base en el ANSI C.
Es un libro viejo, (2da edición) y me está sirviendo para mis primeros pasos
en c...
También tiene ejercicios... Explican temas y dan los ejercicios que con esa
explicación puedes realizar sin problemas (supongo)
Pero ahora estoy sin poder hacer unos ejercicios...
Porque me enseñaron putchar y getchar. Y había ejercicios de entrar por
teclado cualquier cosa y contar tabuladores, nuevas líneas, etc... ya están
echo, son fáciles...
Pero ahora hay ejercicios que dicen que escriba un programa que copie su
entrada a la salida, reemplazando cada cadena de uno o mas blancos por un
solo blanco...
Pero en donde guardo la entrada? El getchar me guarda un solo carácter
verdad? Supongo que este ejercicio se debe hacer con scanf... e ir guardando
la entrada en algún lado para luego imprimirla con ese "formato".
Estoy practicando con el editor vi y luego con el gcc, y también con el
Turbo C en DOS...
Y los compiladores me "recomiendan" que main debe devolver una función...
Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return...
De antemano muchas Gracias.
ete1
2005-10-03 18:15:20 UTC
Permalink
!Qué bonita es la palabra 'caletre'!
No la conocía.

caletre.
(Del lat. character).
1. m. coloq. Tino, discernimiento, capacidad.

Buen rollo.
-----BEGIN PGP SIGNED MESSAGE-----
Más o menos es así. No te lo pongo completo ni bien pa que te calientes
el caletre... es la única forma de aprender.
Zephryn Xirdal
2005-10-03 19:39:41 UTC
Permalink
Post by ete1
!Qué bonita es la palabra 'caletre'!
No la conocía.
caletre.
(Del lat. character).
1. m. coloq. Tino, discernimiento, capacidad.
Buen rollo.
XDDDDDDDDDDDDDDDDDD
Post by ete1
-----BEGIN PGP SIGNED MESSAGE-----
Más o menos es así. No te lo pongo completo ni bien pa que te calientes
el caletre... es la única forma de aprender.
--
Nada se tiene mientras no viene; y cuando viene, tampoco se detiene.
-- San Agustín. (354-439) Obispo, filósofo y Padre de la Iglesia Latina.
==================================================================================
Powered by zxFortunes - It's free -
http://sourceforge.net/projects/zxfortune
Antoine Leca
2005-10-04 11:23:20 UTC
Permalink
Post by Zephryn Xirdal
Lo primero de todo: ese libro es demasiado viejo y hay cosas que están
por completo obsoletas.
¿Cuales?
¿Son tantas? ¿Importan mucho en la practica?
Post by Zephryn Xirdal
Post by Olaf "El Blanco"
Estoy leyendo un libro muy famoso que se llama
"El Lenguaje de Programación C" de Brian Kernighan y Dennis
Ritchie... con base en el ANSI C.
Es un libro viejo, (2da edición)
^^^
Post by Zephryn Xirdal
Post by Olaf "El Blanco"
Y los compiladores me "recomiendan" que main debe devolver una
función... Pero en el libro este (ANSI C) nunca ponen un ejemplo con
el return...
No tengo la traducción al castellano. Pero en la versión original, una vez
pasado la introducción ("Hello world" y los Fahrenheit), casí todos los
ejemplos lo tienen.

Lo que NO tienen son las declaraciones del tipo devuelto: hay frequamente:
/* comentario */

main()

{

sin el "int" devuelto por main(), y eso no es correcto con referencia a la
última versión de la norma (C99). Muchos piensan que es un defecto de la
dicha norma.

Y por supuesto, si es verdad que muchos compiladores te lo señalarán
(warning), pocos se niegarán a compilar (error) por el mero hecho de no
poner el "int".





Antoine
jordi+
2005-10-04 16:22:21 UTC
Permalink
Post by Olaf "El Blanco"
Estoy leyendo un libro muy famoso que se llama
"El Lenguaje de Programación C" de Brian Kernighan y Dennis Ritchie... con
base en el ANSI C.
Es un libro viejo, (2da edición) y me está sirviendo para mis primeros pasos
en c...
Es un buen libro, un clásico y aprendes C de la mano de sus creadores.
Post by Olaf "El Blanco"
También tiene ejercicios... Explican temas y dan los ejercicios que con esa
explicación puedes realizar sin problemas (supongo)
Pero ahora estoy sin poder hacer unos ejercicios...
Porque me enseñaron putchar y getchar. Y había ejercicios de entrar por
teclado cualquier cosa y contar tabuladores, nuevas líneas, etc... ya están
echo, son fáciles...
Pero ahora hay ejercicios que dicen que escriba un programa que copie su
entrada a la salida, reemplazando cada cadena de uno o mas blancos por un
solo blanco...
Pero en donde guardo la entrada? El getchar me guarda un solo carácter
verdad? Supongo que este ejercicio se debe hacer con scanf... e ir guardando
la entrada en algún lado para luego imprimirla con ese "formato".
¿Para que quieres guardar la entrada? lo único que tienes que hacer es
ignorar los carácteres de más...
Post by Olaf "El Blanco"
Estoy practicando con el editor vi y luego con el gcc, y también con el
Turbo C en DOS...
Y los compiladores me "recomiendan" que main debe devolver una función...
Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return...
Está bien retornar el entero 0 si todo va bien, !=0 si hay algun error,
y puedes usar el entéro como código de error.
Post by Olaf "El Blanco"
De antemano muchas Gracias.
Loading...