miércoles, 8 de junio de 2011

2º - Operaciones con Cadenas

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