SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: taniuska en Miércoles 4 de Enero de 2006, 21:14

Título: Espacios En Blanco
Publicado por: taniuska en Miércoles 4 de Enero de 2006, 21:14
Como se hace para q me cuenta los espacios en blanco???
es q tengo este programa:

#include<iostream.h>

void main()

{

int num;
char dato;
   cout<<"Introduzca un texto terminado en un punto"<<endl;
   num=0;
   cin>>dato;
   
      while(dato!='.')
         {
            num=num+1;
            cin>>dato;
         }
      cout<<"El texto tiene " <<num<<" caracteres"<<endl;
}                  


esto me cuenta los caracteres sin los espacios, si quiero ahora q me cuente los espacios en blanco como se haria???
Gracias!!!! ;)
Título: Re: Espacios En Blanco
Publicado por: carmamezo en Jueves 5 de Enero de 2006, 09:11
Podrías incluir en el bucle lo siguiente:
Código: Text
  1.  
  2. #include&#60;iostream.h&#62;
  3.  
  4. void main()
  5.  
  6. {
  7.  
  8. int num,n_blancos=0;
  9. char dato;
  10. cout&#60;&#60;&#34;Introduzca un texto terminado en un punto&#34;&#60;&#60;endl;
  11. num=0;
  12. cin&#62;&#62;dato;
  13.  
  14. while(dato!='.')
  15. {
  16. num=num+1;
  17. cin&#62;&#62;dato;
  18. if(dato==' ')
  19.   n_blancos++;
  20. }
  21. cout&#60;&#60;&#34;El texto tiene &#34; &#60;&#60;num&#60;&#60;&#34; caracteres y &#34;&#60;&#60;n_blancos&#60;&#60;&#34;espacios en blanco&#34;&#60;&#60;endl;
  22. }
  23.  
  24.  
Supongo que funcionará...
Un saludo. :lightsabre:
Título: Re: Espacios En Blanco
Publicado por: taniuska en Jueves 5 de Enero de 2006, 16:56
sigue sin funcionarme... :(
Título: Re: Espacios En Blanco
Publicado por: eliza_marti en Jueves 5 de Enero de 2006, 23:17
Hola taniuska  :hola: ..mmm....prueba validando asi :

Código: Text
  1. if(dato=='&#092;s')
  2.  

en vez de : if(dato==' ') ..para ver que pasa.. :hola: ..bye..nos cuentas.. ;)  :comp:
Título: Re: Espacios En Blanco
Publicado por: taniuska en Sábado 7 de Enero de 2006, 13:49
lo tengo asi y no me hace nada  :huh:
#include<iostream.h>

void main()

{

int i;
char dato;
   
cout<<"Introduzca un texto terminado en un punto"<<endl;
   i=0;
cin>>dato;
   
      while(dato!='.')
         {
            if (dato=='\s')
                {
                   i=i+1;
                   cin>>dato;
                }
           }
           
   cout<<"El texto tiene "<<i<< "espacios en blanco"<<endl;
}                     

muchisimas gracias por las molestias  :)
Título: Re: Espacios En Blanco
Publicado por: martin campos quintero en Domingo 8 de Enero de 2006, 11:17
No puedes hacer eso que planteas con "cin", ya que "cin" no admite espacios en blanco, para hacer eso que planteas debes utilizar un vector, e ir letra por letra verificando, aqui te pongo el código.

Código: Text
  1.  
  2.  
  3. #include&#60;iostream.h&#62;
  4. #include&#60;conio.h&#62;
  5. #include&#60;stdio.h&#62;
  6.  
  7. void main()
  8. {
  9.   clrscr();
  10.   int num;
  11.   int blancos=0;
  12.   char dato[80];
  13.   cout&#60;&#60;&#34;Introduzca un texto terminado en un punto&#34;&#60;&#60;endl;
  14.   num=0;
  15.   gets(dato);
  16.   int c=0;
  17.   while(dato[c]!='.')
  18.   {
  19.     if(dato[c]==' ')
  20.       blancos++;
  21.     num=num+1;
  22.     c=c+1;
  23.   }
  24.   cout&#60;&#60;&#34;&#092;nEl texto tiene &#34; &#60;&#60;num&#60;&#60;&#34; caracteres&#34;&#60;&#60;endl;
  25.   cout&#60;&#60;&#34;El texto tiene &#34; &#60;&#60;blancos&#60;&#60;&#34; espacios&#34;&#60;&#60;endl;
  26.   getch();
  27. }
  28.  
  29.  

Espero te funcione, saludos.

Ingeniero martín campos quintero.
www.sisadmic.tk (http://www.sisadmic.tk)