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);
}
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:
#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.