#include #include #include #include using namespace std; void criar_arq2(char nome_arq[]) { FILE *parq = fopen(nome_arq,"wb"); char nome[20]; int idade; float altura; if (parq == NULL) printf("Erro ao abrir arquivo!!!\n\n"); else { int r = 1; do { printf("\nDigite nome, idade e altura: "); scanf("%s %i %f",nome, &idade, &altura); fwrite(&nome,sizeof(nome),1,parq); fwrite(&idade,sizeof(idade),1,parq); fwrite(&altura,sizeof(altura),1,parq); printf("\nDigite zero para parar: "); scanf("%i", &r); } while(r); fclose(parq); } } void ler_arq_2(char nome_arq[]) { FILE *parq = fopen(nome_arq,"rb"); rewind(parq); char nome[20]; int idade; float altura; if (parq == NULL) printf("Erro ao abrir arquivo!!!\n\n"); else { while (fread(&nome,sizeof(nome),1,parq)) { fread(&idade,sizeof(idade),1,parq); fread(&altura,sizeof(altura),1,parq); printf("nome : %s\n",nome); printf("idade : %d\n",idade); printf("altura: %.2f\n",altura); } fclose(parq); } } //27 void substituir_arq2(char nome_arq[]) { FILE *parq = fopen(nome_arq,"a+b"); char nome2[10] = "Maria"; int idade2 = 15; float alt2 = 1.55; fseek(parq,18,SEEK_SET); int aux=ftell(parq); fwrite(&nome2,sizeof(nome2),1,parq); fwrite(&idade2,sizeof(idade2),1,parq); fwrite(&alt2,sizeof(alt2),1,parq); ler_arq_2(nome_arq); fclose(parq); } int main() { cout << "Exercício criar o arquivo:\n\n\n" << endl; cout<<"Digite o nome do arquivo:\n\n"; char arq[20]; cin>>arq; criar_arq2(arq); ler_arq_2(arq); substituir_arq2(arq); return 0; }