Este ejercicio como tiene mucho codigo, hare un copypaste:
/*Al meter un texto, el programa nos permite realizar unas estadisticas simples del texto*/
#include<stdio.h>
int cuenta_vocales(char texto[]){//Funcion para contar las vocales del texto introducido
int cont=0;
int aux=0;
do{//Cuenta todas las vocales que se hayan introducido
if(toupper(texto[cont])=='A' || toupper(texto[cont])=='E' || toupper(texto[cont])=='I' || toupper(texto[cont])=='O' || toupper(texto[cont])=='U')
aux++;
}while(texto[++cont]!='\0');
return(aux);
}
int cuenta_consonantes(char texto[]){//Funcion para contar las consonantes del texto introducido
int cont=0;
int aux=0;
do{//Cuenta todas las consonantes que se hayan introducido
if(toupper(texto[cont])=='B' || toupper(texto[cont])=='C' || toupper(texto[cont])=='D' || toupper(texto[cont])=='F' || toupper(texto[cont])=='G' || toupper(texto[cont])=='H' || toupper(texto[cont])=='J' || toupper(texto[cont])=='K' || toupper(texto[cont])=='L' || toupper(texto[cont])=='M' || toupper(texto[cont])=='N' || toupper(texto[cont])=='P' || toupper(texto[cont])=='Q' || toupper(texto[cont])=='R' || toupper(texto[cont])=='S' || toupper(texto[cont])=='T' || toupper(texto[cont])=='V' || toupper(texto[cont])=='W' || toupper(texto[cont])=='X' || toupper(texto[cont])=='Y' || toupper(texto[cont])=='Z')
aux++;
}while(texto[++cont]!='\0');
return(aux);
}
int cuenta_palabras(char texto[]){//Funcion para contar las palabras del texto introducido
int cont=0;
int aux=0;
do{//Cuenta las palabras por cada espacio que encuentra
if(texto[cont]==' ')
aux++;
}while(texto[++cont]!='\0');
aux++;
return(aux);
}
int cuenta_frases(char texto[]){//Funcion para contar las frases del texto introducido
int cont=0;
int aux=0;
do{//Cuenta todos los puntos introducidos, que significa que acaba una frase
if(texto[cont]=='.')
aux++;
}while(texto[++cont]!='\0');
return(aux);
}
main(){//Declaramos las variables que vamos a utilizar en el programa
int opcion,cont,cont2,longitud,nvocales,nconsonantes,palabra,nfrases,npalabras;
char texto[80],respuesta='s',respuesta2='s';
float resultado;
//Intorudcimos el texto, limpiamos el buffer del teclado
printf("\nIntorduce un texto:");
fflush(stdin);
scanf("%[^\n]",texto);//Con esto, leemos todos los caracteres menos el salto de linea
do{//Iniciamos un bucle para poder volver al menu de opciones
//Mostramos las diferentes opciones del programa
printf("\n*****MENU*****");
printf("\nOpciones: ");
printf("\n1.Caracteres introducidos");
printf("\n2.Palabras introducidas");
printf("\n3.Frases introducidas");
printf("\n4.Vocales y consonantes introducidas");
printf("\n\nElige una opcion: ");
scanf("%d",&opcion);
switch(opcion){
case 1://Opcion uno, Caracteres introducidos
cont=0;
printf("\nCalculamos cuantos caracteres has introducido.");
while(texto[++cont]!='\0');//Pasamos por el texto introducido y contamos todos los caracteres
longitud=cont;
printf("\nTiene %d caracteres.",longitud);
break;
case 2://Opcion dos, Palabras introducidas
cont=0;
printf("\nCalculamos cuantas palabras se han introducido.");
npalabras=cuenta_palabras(texto);//Funcion definida mas arriba
printf("\nEl texto tiene %d palabras.",npalabras);
break;
case 3://Opcion tres, Frases introducidas
cont2=0;
printf("\nCalculamos cuantas frases se han introducido.");
nfrases=cuenta_frases(texto);//Funcion definida mas arriba
printf("\nTiene %d frases.",nfrases);
break;
case 4://Opcion cuatro, Vocales y consonantes introducidas
cont=0;
printf("\nCalculamos cuantas vocales y consonantes se han introducido.");
nvocales=cuenta_vocales(texto);//Funcion definida mas arriba
printf("\nTiene %d vocales.",nvocales);
nconsonantes=cuenta_consonantes(texto);//Funcion definida mas arriba
printf("\nTiene %d consonantes.",nconsonantes);
break;
default://Si el usuario entra una opcion incorrecta
printf("\nOpcion incorrecta");
}//Preguntamos si queremos elegir otra opcion
printf("\n\nDeseas introducir una nueva opcion? (s/n): ");
scanf(" %c",&respuesta);
system("cls");//Limpiamos la pantalla
}while(respuesta=='s');
printf("\n\nGracias por usar el programa.");
getchar();
getchar();
}
A mi me funciona.
No hay comentarios:
Publicar un comentario