domingo, 7 de setembro de 2014

Contando Consoantes e Vogais num Arquivo

Depois de algm tempo parado com linguagem C, más sentindo muita falta, volto agora com este novo código, fazendo leitura de um arquivo previamente salvo no disco, e colocado ao lado do executável do programa.
O programa faz a leitura de cada linha do arquivo e conta o total de vogais e de consoantes contidos, e soberbamente ainda apaga as vogais e imprime somente as consoantes de cada linha, contida no arquivo.
Vale apena testar este código e ver como tudo foi feito.

Veja abaixo algumas imagens do programa em execução:





Veja abaixo o código do programa:

#include <stdio.h>
#include <conio.h>
int main(){
    system ("title CONTANDO CONSOANTES E VOGAIS NUM ARQUIVO");
    unsigned int cont, i, j, lenv;
    char vog_ais [ ] = "aeiouAEIOU";
    char acentuados [ ] = "áàéíóúÁÀÉÍÓÚ";
    lenv = strlen ( vog_ais );
    char conso_antes [ ] = "bcdfghjklmnpqrstvwxyzBCDFGHJLMNPQRSTVWXYZ";
    char str [ 255 ];
    FILE *arq;
    arq = fopen("Nomes.txt","r");
    textcolor(LIGHTRED);gotoxy(23,3);
    printf("CONTANDO CONSOANTES E VOGAIS NUM ARQUIVO");
    textcolor(AMARELO);gotoxy(24,5);printf("Programa desenvolvido por:");
    textcolor(CIANOCLARO);gotoxy(51,5);printf("Samuel Lima");
    textcolor(VERDECLARO);gotoxy(34,7);printf("sa_sp10@hotmail.com");
    textcolor(LIGHTGREEN);gotoxy(32,9);
    if ( arq ){
        while( !feof ( arq ) ){
            fgets ( str, 255, arq );
            printf("\n%s",str );
            cont = 0;
            for ( i = 0; i <= strlen ( str ); i++)
                for ( j = 0; j <= strlen ( vog_ais ); j++ )
                    if (str [ i ] == vog_ais [ j ] && str [ i ] != 0 ) cont++;
            textcolor(YELLOW);printf("\nNo nome ");
            textcolor(LIGHTGRAY);printf("%s ", str );
            textcolor(YELLOW);printf("Foram encontrados ");
            textcolor(LIGHTRED);printf(" %d ", cont);
            textcolor(YELLOW);printf(" Vogais");
            cont = 0;
            for ( i = 0; i <= strlen ( str ); i++)
                for ( j = 0; j <= strlen ( conso_antes ); j++ )
                    if ( str [ i ] == conso_antes [ j ] && str [ i ] != 0 ) cont++;
            printf(" Também Foram encontrados ");
            textcolor(LIGHTRED);printf(" %d ", cont );
            textcolor(YELLOW);printf("consoantes\n");
            cont = 0;
            for ( i = 0; i <= strlen ( str ); i++)
                for ( j = 0; j <= strlen ( acentuados ); j++ )
                    if (str [ i ] == acentuados [ j ] && str [ i ] != 0 ) cont++;
            textcolor(YELLOW);printf("\nNo Nome ");
            textcolor(LIGHTGRAY);printf("%s ", str );
            textcolor(YELLOW);printf("Foram encontrados ");
            textcolor(LIGHTRED);printf(" %d ", cont);
            textcolor(YELLOW);printf(" caracteres acentuados\n");
            textcolor(LIGHTBLUE);printf("\nMostrando abaixo o Nome ");
            textcolor(LIGHTRED);printf("%s", str );
            textcolor(LIGHTBLUE);printf(" Sem suas vogais ");
            for ( i = 0; i < strlen ( str ); i++ ){
                for ( j = 0; j < lenv; j++ )
                    if ( str [ i ] == vog_ais [ j ] )
                        break;
                if ( j == lenv ){
                    textcolor(LIGHTGREEN);printf(" %c", str [ i ] );
                }
            }
        }
    }
    fclose( arq );
    textcolor(LIGHTRED);gotoxy(36,90);printf("MUITO OBRIGADO");
    getche();
    return(0);
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.