Tengo que hacer un programa que cuente el numero de caracteres, palabras y lineas de una frase, y no se por donde cojerlo XD
¿Alguna ayuda?
Tengo que hacer un programa que cuente el numero de caracteres, palabras y lineas de una frase, y no se por donde cojerlo XD
¿Alguna ayuda?
pos en C no se... xro si te sirve de algo para programacion en pascal tuve k acer un programa muy parecido a ese... y te digo mas o menos como lo hice ...
pues en pascal con el comando Read(algo) te lee ese algo, xro si despues del algo pones ,C ntonces te lee de ese fichero algo caracter a caracter ... no se si en C habra algo parecido..
despues pa contar palabras.. lo k yo hice fue k fuera leyendo hasta k llegara a un espacio, una vez k llegue a espacio... sumas uno a un contador de palabras ya definido y sigue leyendo asta k sea final de fichero (eof en pascal ) y cuando es final de fichero pues suma 1 al contador de lineas...
pos eso k pa contar palabras hasta llegar a un espacio y lineas asta final de fichero y carac a carac pos no se
suerte y espero servirte de algo de ayuda
si metes todo en un string es como dice mryitan, cada vez q haya un espacio sumas 1 a un contador q te montes xD
haz un bucle hasta el final del string y controla que:
a)cada vez q hay un espacio sumas 1 al contador de palabras
b)cada vez q el contador del bucle se mueva sumas 1 al contador de caracteres siempre y cuando en la nueva posicion no haya un espacio
c)cuando llegue a X caracteres(los que haya por linea) sumas 1 al contador de lineas
A ver si asi puedes hacer algo, puede lo q te haya dicho solo basura creada por un triste proyecto de programador
Agrega la libreria string.h, y la funcion es strlen();
Eso te cuenta todo lo que haya hasta el \0.
Para contar palabras, pos como te han dicho ahi, y suponiendo que el maximo de carateres es 100, podria ser algo asi:
extraepalabras(char cadena[100]){
int i=0, j=0;
while (i<=100){
if(cadena==' '){
j++;
}
i++;
}
return j
}
No lo he probado, y no se si funciona, pero seria algo asi
#include <stdio.h>
#include <string.h>
#define TAM_LINEA 40
#define TAM_TEXTO 200
void main()
{
char texto[TAM_TEXTO];
int contador, palabras=1;
printf("\n\tEscribe un texto de %d caracteres como maximo. :\n\t", TAM_TEXTO);
gets(texto);
contador=0;
while(contador<strlen(texto))
{
if(texto[contador]==' ' && texto[contador-1]!=' ' && contador>0)
palabras++;
contador++;
}
printf("\n\n\tHay: %d caracteres, %d palabras y %d lineas" strlen(texto), palabras, (caracteres/TAM_LINEA));
}
Salu2