elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  un contador de palabras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: un contador de palabras  (Leído 3,531 veces)
g.izmo

Desconectado Desconectado

Mensajes: 6


Ver Perfil
un contador de palabras
« en: 13 Octubre 2017, 19:58 pm »

Tengo que hacer un contador de palabras, (Mi nivel de programacion es bastante basico), y nos pide:
Contar palabras (Solo mayusculas, y sin acentos)
meter uno o mas espacios sin que cuenten
y cuando se presione enter te diga cuantas palabras hay.

en caso de meter caracter invalido, pide una frase de nuevo sin importar la anterior


Me podrian dar alguna idea, lo agradeceria mucho :)


« Última modificación: 13 Octubre 2017, 20:01 pm por g.izmo » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: un contador de palabras
« Respuesta #1 en: 14 Octubre 2017, 10:41 am »

Empiza por lo básico. ¿Cómo distingues tú una palabra de otra?

Citar
meter uno o mas espacios sin que cuenten
Puedes ignorar esto de momento. Hazlo como si solo pudiera haber 1 espacio entre palabras. Ve avanzando.


En línea

g.izmo

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: un contador de palabras
« Respuesta #2 en: 14 Octubre 2017, 14:06 pm »

He pensado que si tengo dos caracteres como variables. Si hago que obligatoriamente empiece por espacio, puedo hacer que cada vez que la segunda variable sea una letra cuente como palabra, si es espacio nada, y si es caracter no valido te lo pida de nuevo.

Cada vez que se introduzca un nuevo caracter, será b, y a será la b anterior (anvanzan de uno en uno).

Podría tener dos comtadores, uno de palabras y otro, que en caso de haber introducido más de cero caracteres no validos te pida la ntroduccion de una nueva frase.


¿Que opciones tengo paraa repetir todo el proceso de nuevo si hay un caracter no valido en la frase?

Gracias por adelantado
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: un contador de palabras
« Respuesta #3 en: 14 Octubre 2017, 14:15 pm »

Ve por partes. El algoritmo que comentas está bien. Impleméntalo.
Lo de caracteres inválidos lo puedes comprobar antes de empezar ese otro algoritmo.

Cuando tengas algo funcional podrás mazlcar ambos algoritmos en uno, pero de momento, es mejor que implementes lo primero.
En línea

g.izmo

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: un contador de palabras
« Respuesta #4 en: 14 Octubre 2017, 15:46 pm »

Si tengo dos variables 'a''b' puedo irlas escaneando por momentos y que 'a'(el nuevo caracter) introducido se escanee, y pase a ser 'b' cuando se introduzca otro caracter.

Lo que se me ocurre es:

puts("Introduzca frase valida:"); // Si no dejamos espacio, se pondra al declarar b como tal.
ordinal_b=32;
ordinal_a=getche();
printf("%c",b);

while(ordinal_a!=13)
                        ordinal_b=ordinal_a;
         ordinal_a=getche();
         if (ordinal_b=32 && ordinal_a!=32) {palabras=palabras+1;}
if(ordinal_a=13) {printf("Se han escrito: %d palabras", palabras);}


Lo que no se es si esta estructura mantendra la composicion de variables b,a mientras se escaneen todas las teclas pulsadas. si tienes aguna sugerencia me ayudarias muchisimo
 
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: un contador de palabras
« Respuesta #5 en: 14 Octubre 2017, 15:50 pm »

Tengo varias. En todas las comparaciones pusiste "=" en vez de "==".
Luego, trata de no usar directamente números para los caracteres. Pon un caracter entre comillas simples, que es lo mismo que poner su valor. El 32 lo cambiarías por ' ', y el 13 por '\r'.

Y, lo dicho, prueba el código, mira lo que hace, etc.
En línea

g.izmo

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: un contador de palabras
« Respuesta #6 en: 14 Octubre 2017, 17:09 pm »

#include<stdio.h>
#include<conio.h>



main()
{
  int palabras=0;
  int error=1;
  char a;
  char b;

   while(error!=0) //Cuando se produzca un error se repetira el proceso. Como hemos declarado el error a 1, se iniciara.
   {
      error=0; // Devolvemos el valor 0 al error para que vuelva a contar errores
      puts("Introduzca frase valida:");
      b==' ';
      printf("%c",b); // Comenzamos con un espacio
      scanf("%c%c",&a,&b); //Se escanea el primer espacio que hemos introducido y la primera tecla que pulsemos
      while (a!='\r') // Mientras no se pulse intro se continuan escaneando caracteres
      {
         b==a; //Entonces b pasa a ser la a
         a=getche(); // Y a escanea y muestra la tecla
         if (b==' '&&a!=' ') {palabras=palabras+1;} // Si hay un espacio y un caracter juntos (b,a)
      }
      if(a=='\r') {printf("\nSe han escrito: %d palabras", palabras);break;} // El intro nos muestra el numero de palabras
    }
    getch();
}


El programa comienza bien ("Introduzca frase valida:") el espacio que pedimos al principio y lo que escribamos....

Pero no cuenta palabras, siempre muestra que hay 0 y cuando pulsamos enter hay que pulsarlo dos veces para que muestre las palabras(ssiempre 0)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] - Contador de palabras en frases
Scripting
ChicoMaravilla 4 31,022 Último mensaje 18 Enero 2011, 21:17 pm
por Karcrack
[PYTHON] Contador de palabras
Scripting
ChicoMaravilla 2 10,761 Último mensaje 5 Abril 2011, 20:47 pm
por Novlucker
Contador de palabras
Programación C/C++
Goddamn 1 1,661 Último mensaje 18 Marzo 2018, 19:23 pm
por MAFUS
Este contador de palabras está genial diseñado y te ofrece muchos datos útiles..
Noticias
wolfbcn 0 777 Último mensaje 17 Junio 2018, 15:04 pm
por wolfbcn
Duda con contador de palabras en C para principiantes
Programación C/C++
al2000 5 2,146 Último mensaje 25 Octubre 2018, 16:21 pm
por dijsktra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines