Este programa vai além de seu título: "Renomeando arquivos em C".
Porque na verdade ele possui muitos outros recursos da linguagem,
Neste programa o estudante iniciante aprende a criar um arquivo binário,
E gravar no arquivo o conteúdo de uma matriz de string previamente declarada
usando a função fwrite();
Aprende abrir o arquivo criado, e fazer leitura usando a função fread();
E ainda mostra como imprimir o conteúdo do arquivo que foi armazenado numa
outra matriz do tipo char declarada vazia para isto.
Tendo mostrado a matriz imprimida com o arquivo, o programa chama na próxima tela
um simples menu de duas opões numéricas, onde só os números um e dois são aceitos,
caracteres, simples ou compostos jamais são passarão neste menu, o programa mostra uma
mensagem de advertência e retorna a sua posição original aguardando uma entrada correta.
Escolhendo a primeira opção, programa já pede que se digite o nome de um arquivo
com sua extensão, em seguida pede que se digite um novo nome para o arquivo com sua extesão
Más se o arquivo que se pede pra renomear não for encontrado, ou se for digitado um nome errado,
o programa reprova mostrando mensagens de advertência ao usuário, e retorna, pra sua posição
aguardando que se digite um nome válido ou que encerre sua execução.
Digitando um nome de arquivo válido, o programa renomeia e mostra o novo nome
em seguida, encerra sua operação agradecendo o seu uso.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void Janela5(){system("Color F0");
int lin, col;
for ( lin = 0; lin <= 25; lin++ ){
for ( col = 0; col <= 80; col++ ){
gotoxy( col, lin );
if ( lin == 2 ){textbackground(LIGHTBLUE);printf( " ");}
if ( col == 1 ){textbackground(LIGHTBLUE);printf(" ");}
if ( lin == 25 ){textbackground(LIGHTBLUE);}
if ( col == 80 ){textbackground(LIGHTBLUE);printf(" ");}
}
}textbackground( BLACK );
}
void inicio( ){system ("title RENOMEANDO ARQUIVOS EM C");
int i;do{Janela5();textbackground(WHITE);
textcolor(LIGHTRED);gotoxy(31,7);printf("RENOMEANDO ARQUIVOS EM C");
textcolor(BROWN);gotoxy(25,10);printf("Programa desenvolvido por:");
textcolor(BLACK);gotoxy(52,10);printf("Samuel Lima");
textcolor(BLUE);gotoxy(34,12);printf("sa_sp10@hotmail.com");
textcolor(LIGHTBLUE);gotoxy(24,14);printf("DIGITE PARA SAIR OU PARA CONTINUAR ");
textcolor(LIGHTRED);gotoxy(32,14);printf("1");textcolor(LIGHTRED);gotoxy(47,14);printf("2");
gotoxy(41,16);
scanf("%d",&i);fflush(stdin);
if( i == 1 ){textcolor(LIGHTRED);gotoxy(35,20);printf ("MUITO OBRIGADO");Sleep(1800);exit(0);}
if( i == 2 ){system("cls"); return;}
else {textcolor(LIGHTRED);gotoxy(37,20);printf ("\aOPÇÃO ERRADA");Sleep(1800);system("cls");}
}
while(i);
}
int Imp_Matr ( char *num ){
unsigned int i;
for( i = 0; i < strlen ( num ); i++ ){
if ( num [ i ] < '0' || num [ i ] > '9' )
return 0;
}
return 1;
}
int main(){
inicio( );int i = 0, n;
FILE *arq;char num [ 3 ];
char linha [ 11 ] [ 17 ] = { {"João Henrique"},
{"Amanda Santos"},
{"Patrícia Gomes"},
{"Ricardo Souza"},
{"Cláudia Ferraz"},
{"Rafaela Pimentel"},
{"Samuel Júnior"},
{"Sandro Rúbens"},
{"Lúcia Paola"},
{"Luíz Manolo"},
{"Estér Guimarães"}};
if ( ( arq = fopen ("Arquivo.bin", "w+b" ) ) == NULL ){
printf("Houve um erro na criação do arquivo");
getche();exit(1);
}
if ( fwrite ( &linha, sizeof ( linha ), 1, arq ) != 1 ){
printf("Houve um erro na gravação do arquivo");
getche();exit(1);
}
fclose(arq);
if ( ( arq = fopen("Arquivo.bin", "r+b" ) ) == NULL ){
printf("Houve um erro na abertura do arquivo");
getche();exit(1);
}
if ( fread ( &linha , sizeof ( linha ), 1, arq ) != 1 ){
printf("Houve um erro na leitura do arquivo");
getche();exit(1);
}
system("cls");Janela5();textbackground(WHITE);
textcolor(LIGHTRED);gotoxy(31,3);printf("RENOMEANDO ARQUIVOS EM C");
textcolor(LIGHTBLUE);gotoxy(26,5);printf( "Abaixo a leitura do arquivo aberto" );
textcolor(BLACK);
for( i = 0; i <= 10; i++ ){
gotoxy(35,i + 7);
printf("%s", linha [ i ] );
}fclose( arq );
Sleep(1000);textcolor(LIGHTRED);
gotoxy(32,22);printf("PRESSIONE QUALQUER TECLA");getche();
do{system("cls");Janela5();textbackground(WHITE);
textcolor(LIGHTRED);gotoxy(31,3);printf("RENOMEANDO ARQUIVOS EM C");
textcolor(LIGHTBLUE);gotoxy(31,5);printf("Deseja renomear o arquivo ?");
textcolor(LIGHTBLUE);gotoxy(23,7);printf("Escolha ");
textcolor(LIGHTRED);printf("[ 1 ] ");
textcolor(LIGHTBLUE);printf("para sim ou ");
textcolor(LIGHTRED);printf("[ 2 ] ");
textcolor(LIGHTBLUE);printf("Para Sair " );
textcolor(LIGHTRED);gets ( num );fflush(stdin);
n = atoi (num);
if ( n < 1 || n > 2 ){
textcolor(LIGHTRED);gotoxy(25,10);
printf("\aNúmero Acima de 0 e menor que 2" );
getche();continue;
}
if( n == 2 ){
textcolor(LIGHTRED);gotoxy(35,21);printf("MUITO OBRIGADO");
Sleep(1800);exit(0);
}
if ( Imp_Matr ( num ) == 0 || n == 0){
textcolor(LIGHTGREEN);gotoxy(25,7);printf("\aVocê digitou : %s", num );
Sleep(1800);textcolor(LIGHTGREEN);gotoxy(25,9); printf("\a%s Não é Válido !", num );
Sleep(1800);continue;
}
int ren;
char Arq_ivo [ 10 ];
char Arquivo [ 10 ];
textcolor(LIGHTBLUE);gotoxy(20,9);printf("Digite o nome de um arquivo com sua extensão");
textcolor(LIGHTRED);gotoxy(20,11);scanf("%s", Arq_ivo);fflush ( stdin );
textcolor(LIGHTBLUE);gotoxy(20,13);printf("Digite um novo nome para o arquivo com sua extensão");
textcolor(LIGHTRED);gotoxy(20,15);scanf("%s", Arquivo);fflush ( stdin );
ren = rename ( Arq_ivo, Arquivo );
if( ren != 0 ){
textcolor(LIGHTBLUE);gotoxy(20,17);printf( "Não foi posível renomear o arquivo ");
textcolor(LIGHTRED);gotoxy(20,18);printf("%s ", Arq_ivo );Sleep(800);
textcolor(LIGHTBLUE);gotoxy(20,19);printf("Talvez ele não exista");Sleep(800);
textcolor(LIGHTBLUE);gotoxy(20,20);printf("Tente outra vez");Sleep(800);
Sleep(2800);continue;
}
else{textcolor(LIGHTBLUE);gotoxy(20,17);printf( "O arquivo de nome " );
textcolor(LIGHTRED);printf(" %s ", Arq_ivo );Sleep(1800);
textcolor(LIGHTBLUE);gotoxy(20,18);printf( "foi renomeado com sucesso para ");
textcolor(LIGHTRED);gotoxy(20,19);printf("%s\n", Arquivo );
}Sleep(2800);break;
}while( 1 );
textcolor(LIGHTRED);gotoxy(36,23);printf ("MUITO OBRIGADO");
getche();exit(0);
}
Porque na verdade ele possui muitos outros recursos da linguagem,
Neste programa o estudante iniciante aprende a criar um arquivo binário,
E gravar no arquivo o conteúdo de uma matriz de string previamente declarada
usando a função fwrite();
Aprende abrir o arquivo criado, e fazer leitura usando a função fread();
E ainda mostra como imprimir o conteúdo do arquivo que foi armazenado numa
outra matriz do tipo char declarada vazia para isto.
Tendo mostrado a matriz imprimida com o arquivo, o programa chama na próxima tela
um simples menu de duas opões numéricas, onde só os números um e dois são aceitos,
caracteres, simples ou compostos jamais são passarão neste menu, o programa mostra uma
mensagem de advertência e retorna a sua posição original aguardando uma entrada correta.
Escolhendo a primeira opção, programa já pede que se digite o nome de um arquivo
com sua extensão, em seguida pede que se digite um novo nome para o arquivo com sua extesão
Más se o arquivo que se pede pra renomear não for encontrado, ou se for digitado um nome errado,
o programa reprova mostrando mensagens de advertência ao usuário, e retorna, pra sua posição
aguardando que se digite um nome válido ou que encerre sua execução.
Digitando um nome de arquivo válido, o programa renomeia e mostra o novo nome
em seguida, encerra sua operação agradecendo o seu uso.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void Janela5(){system("Color F0");
int lin, col;
for ( lin = 0; lin <= 25; lin++ ){
for ( col = 0; col <= 80; col++ ){
gotoxy( col, lin );
if ( lin == 2 ){textbackground(LIGHTBLUE);printf( " ");}
if ( col == 1 ){textbackground(LIGHTBLUE);printf(" ");}
if ( lin == 25 ){textbackground(LIGHTBLUE);}
if ( col == 80 ){textbackground(LIGHTBLUE);printf(" ");}
}
}textbackground( BLACK );
}
void inicio( ){system ("title RENOMEANDO ARQUIVOS EM C");
int i;do{Janela5();textbackground(WHITE);
textcolor(LIGHTRED);gotoxy(31,7);printf("RENOMEANDO ARQUIVOS EM C");
textcolor(BROWN);gotoxy(25,10);printf("Programa desenvolvido por:");
textcolor(BLACK);gotoxy(52,10);printf("Samuel Lima");
textcolor(BLUE);gotoxy(34,12);printf("sa_sp10@hotmail.com");
textcolor(LIGHTBLUE);gotoxy(24,14);printf("DIGITE PARA SAIR OU PARA CONTINUAR ");
textcolor(LIGHTRED);gotoxy(32,14);printf("1");textcolor(LIGHTRED);gotoxy(47,14);printf("2");
gotoxy(41,16);
scanf("%d",&i);fflush(stdin);
if( i == 1 ){textcolor(LIGHTRED);gotoxy(35,20);printf ("MUITO OBRIGADO");Sleep(1800);exit(0);}
if( i == 2 ){system("cls"); return;}
else {textcolor(LIGHTRED);gotoxy(37,20);printf ("\aOPÇÃO ERRADA");Sleep(1800);system("cls");}
}
while(i);
}
int Imp_Matr ( char *num ){
unsigned int i;
for( i = 0; i < strlen ( num ); i++ ){
if ( num [ i ] < '0' || num [ i ] > '9' )
return 0;
}
return 1;
}
int main(){
inicio( );int i = 0, n;
FILE *arq;char num [ 3 ];
char linha [ 11 ] [ 17 ] = { {"João Henrique"},
{"Amanda Santos"},
{"Patrícia Gomes"},
{"Ricardo Souza"},
{"Cláudia Ferraz"},
{"Rafaela Pimentel"},
{"Samuel Júnior"},
{"Sandro Rúbens"},
{"Lúcia Paola"},
{"Luíz Manolo"},
{"Estér Guimarães"}};
if ( ( arq = fopen ("Arquivo.bin", "w+b" ) ) == NULL ){
printf("Houve um erro na criação do arquivo");
getche();exit(1);
}
if ( fwrite ( &linha, sizeof ( linha ), 1, arq ) != 1 ){
printf("Houve um erro na gravação do arquivo");
getche();exit(1);
}
fclose(arq);
if ( ( arq = fopen("Arquivo.bin", "r+b" ) ) == NULL ){
printf("Houve um erro na abertura do arquivo");
getche();exit(1);
}
if ( fread ( &linha , sizeof ( linha ), 1, arq ) != 1 ){
printf("Houve um erro na leitura do arquivo");
getche();exit(1);
}
system("cls");Janela5();textbackground(WHITE);
textcolor(LIGHTRED);gotoxy(31,3);printf("RENOMEANDO ARQUIVOS EM C");
textcolor(LIGHTBLUE);gotoxy(26,5);printf( "Abaixo a leitura do arquivo aberto" );
textcolor(BLACK);
for( i = 0; i <= 10; i++ ){
gotoxy(35,i + 7);
printf("%s", linha [ i ] );
}fclose( arq );
Sleep(1000);textcolor(LIGHTRED);
gotoxy(32,22);printf("PRESSIONE QUALQUER TECLA");getche();
do{system("cls");Janela5();textbackground(WHITE);
textcolor(LIGHTRED);gotoxy(31,3);printf("RENOMEANDO ARQUIVOS EM C");
textcolor(LIGHTBLUE);gotoxy(31,5);printf("Deseja renomear o arquivo ?");
textcolor(LIGHTBLUE);gotoxy(23,7);printf("Escolha ");
textcolor(LIGHTRED);printf("[ 1 ] ");
textcolor(LIGHTBLUE);printf("para sim ou ");
textcolor(LIGHTRED);printf("[ 2 ] ");
textcolor(LIGHTBLUE);printf("Para Sair " );
textcolor(LIGHTRED);gets ( num );fflush(stdin);
n = atoi (num);
if ( n < 1 || n > 2 ){
textcolor(LIGHTRED);gotoxy(25,10);
printf("\aNúmero Acima de 0 e menor que 2" );
getche();continue;
}
if( n == 2 ){
textcolor(LIGHTRED);gotoxy(35,21);printf("MUITO OBRIGADO");
Sleep(1800);exit(0);
}
if ( Imp_Matr ( num ) == 0 || n == 0){
textcolor(LIGHTGREEN);gotoxy(25,7);printf("\aVocê digitou : %s", num );
Sleep(1800);textcolor(LIGHTGREEN);gotoxy(25,9); printf("\a%s Não é Válido !", num );
Sleep(1800);continue;
}
int ren;
char Arq_ivo [ 10 ];
char Arquivo [ 10 ];
textcolor(LIGHTBLUE);gotoxy(20,9);printf("Digite o nome de um arquivo com sua extensão");
textcolor(LIGHTRED);gotoxy(20,11);scanf("%s", Arq_ivo);fflush ( stdin );
textcolor(LIGHTBLUE);gotoxy(20,13);printf("Digite um novo nome para o arquivo com sua extensão");
textcolor(LIGHTRED);gotoxy(20,15);scanf("%s", Arquivo);fflush ( stdin );
ren = rename ( Arq_ivo, Arquivo );
if( ren != 0 ){
textcolor(LIGHTBLUE);gotoxy(20,17);printf( "Não foi posível renomear o arquivo ");
textcolor(LIGHTRED);gotoxy(20,18);printf("%s ", Arq_ivo );Sleep(800);
textcolor(LIGHTBLUE);gotoxy(20,19);printf("Talvez ele não exista");Sleep(800);
textcolor(LIGHTBLUE);gotoxy(20,20);printf("Tente outra vez");Sleep(800);
Sleep(2800);continue;
}
else{textcolor(LIGHTBLUE);gotoxy(20,17);printf( "O arquivo de nome " );
textcolor(LIGHTRED);printf(" %s ", Arq_ivo );Sleep(1800);
textcolor(LIGHTBLUE);gotoxy(20,18);printf( "foi renomeado com sucesso para ");
textcolor(LIGHTRED);gotoxy(20,19);printf("%s\n", Arquivo );
}Sleep(2800);break;
}while( 1 );
textcolor(LIGHTRED);gotoxy(36,23);printf ("MUITO OBRIGADO");
getche();exit(0);
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.