[C con Clase] Duda Principiante... getchar()..

Mauricio Rojas mrojasb2000 en gmail.com
Mie Dic 27 22:46:35 CET 2006


Hola,

Estuve revisando tu código y la solucion que yo plateo es la siguiente:


#include <stdio.h>

int main()
{
     int c;
     /* En tu código el error esta en que estas definiendo una variable como
      * integer y posteriomente las estas comparando con un caracter
      * (doble '  '), podrías haber definido la variable "c" como char, pero
solo
      * sirve para obtener un caracter por vez, por lo tanto, c == '  ', no
funk
      */

     while ((c = getchar()) != EOF) {
       if ( c != 32 ){                                // 32 es el código del
caracter blanco.
          printf("%c", c);
       }else{
          printf("%d", c);                            // Solo para la
comprobación.
          printf("\b\b");
       }
     }

    return 0;
}

Espero haber aportado.

Mauricio


El día 27/12/06, Rafael Roman Otero <r_ro86 en hotmail.com> escribió:
>
> *hola, disculpa que no t explique pero no entendi muy bien lo que
> intentabas hacer. yo una ves hice esto: (checa a ver si te sirve)*
>
> #include <stdio.h>
> #include <conio.h>
>
> int main()
> {
>     char cadena[21];
>
>     //inicializa array
>     for(int i=0; i<=20; i++)
>         cadena[i] = '\0';
>
>     //se introducen os caracteres
>     gets(cadena);
>
>     //imprime caracter x caracter
>     for(int i=0; i<=19; i++){
>
>             //imprime el caracter
>             printf("%c" ,cadena[i]);
>
>             //si hay un doble espacio lo salta
>             while(cadena[i]==' ' && cadena[i+1]==' ')
>                 i++;
>     }
>
>     getch();
>     return 0;
> }
>
> *si metes algo como "a  b     c    d", lo muestra como "a b c d";*
>
> *si tienes alguna duda pregunta, suerte;*
>
>
>  ------------------------------
> From: *Federico Gonzalez <fedor_lmds en yahoo.com.ar>*
> Reply-To: *Lista de correo sobre C y C++ <cconclase en listas.conclase.net>*
> To: *cconclase en listas.conclase.net*
> Subject: *[C con Clase] Duda Principiante... getchar()..*
> Date: *Wed, 27 Dec 2006 16:17:07 +0000 (GMT)*
>
> Wenaz, estoy leyendo el libro de Kernighan & Ritchie de C.. y me da un
> Ejercicio que dice: "Escriba un programa que copie su entrada a la salida,
> reemplazando cada cadena de uno o mas blancos por un solo blanco"..
> Intente hacer que si ingresas dos blancos seguidos se borre
> automaticamente con retroceso.. pero no funciono, porque al pedir el getchar
> ya aparece automaticamente el caracter en pantalla.. y no pasa nada ..
> Tambien trate de poner otra variable que sea el anterior caracter puesto
> pero me enrosque y no pude. y nose tampoco sale con esto.. aver si me tiran
> una Mano pliz :P
> porque si sigo adelante y no se ahcer un ejercicio del primer capitulo voy
> mal :S..
>
> ----------------------------------------------------------------------------------------------
> #include <stdio.h>
> main()
> {
>       int c;
>
>       while ((c = getchar()) != EOF) {
>             if ( c == '  ' ) //Aca hay Dos espacios en el '  '...
>                printf("\b");
>                }
> system("PAUSE");
> }
>
>
> __________________________________________________
> Correo Yahoo!
> Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
> ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
>
> >_______________________________________________
> >Cconclase mailing list
> >Cconclase en listas.conclase.net
> >http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>
>
> ------------------------------
> Latinos en EE.UU: noticias y artículos de interés para ti Clic aquí<http://g.msn.com/8HMBESUS/2746??PS=47575>
> _______________________________________________
> Cconclase mailing list
> Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>
>
>


-- 
Mauricio Rojas B.
Ingeniero de Sistemas
GNU/Linux
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20061227/5254b148/attachment.html>


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