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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: un contador de palabras 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)
2  Programación / Programación C/C++ / Re: un contador de palabras 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
 
3  Programación / Programación C/C++ / Re: un contador de palabras 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
4  Programación / Programación C/C++ / 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 :)
5  Programación / Programación C/C++ / Re: Errores seriales, AYUDA!! en: 13 Octubre 2017, 18:37 pm
Pusiste ";" al final de un if.


GRACIAS! Llevo 45 min y todos los erros por es.... como no me sale en la pantalla ni lo habia visto.... GRACIAS
6  Programación / Programación C/C++ / Errores seriales, AYUDA!! (SOLUCIONADO) en: 13 Octubre 2017, 17:59 pm
Estoy haciendo un ejercicio y me salen un monton de errores, necesito ayuda:


Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3.  
  4. main()
  5. {
  6. char caracter;
  7. int ordinal;
  8. int letras=0;
  9. int vocales=0;
  10.  
  11. puts("Introduce frase valida:");
  12. caracter=ordinal;
  13. ordinal=getche();
  14. while(ordinal!=13) //Mientras no le des al intro
  15.     {
  16.     if(ordinal>64 && ordinal<91 || ordinal>96 && ordinal<123 || ordinal>47 && ordinal<58 || ordinal==32) //Caracteres validos: Mayusculas, minusculas, numeros y espacio
  17.     {
  18. if (ordinal==65 || ordinal==69 || ordinal==73 || ordinal==79 || ordinal==85 || ordinal==97 || ordinal==101 || ordinal==105 || ordinal==111 || ordinal==117); //Todas las vocales, mayusculas, minusculas
  19.    {
  20.      letras=letras+1;
  21.      vocales=vocales+1;
  22.     }
  23. else
  24.    {letras=letras+1;} //Resto de letras
  25.     ordinal=getche();
  26.    }
  27.    else {puts("ERROR: El caracter introducido no es valido.");
  28.          break;} //Error y salida while
  29.   }
  30. if(ordinal==32) {printf("Se han introducido %f letras, de las cuales %f eran vocales.", letras,vocales);}
  31.  
  32.  
  33. getch();
  34. }

Engel Lex: Los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines