#include #include #include #include typedef struct { char nome[30], sexo; int idade; } Tcadastro; int main() { FILE *arq; Tcadastro dado; char arquivo[20], nome[20]; int idade, cont = 1; printf ("Digite o nome do arquivo: "); gets (arquivo); if (!(arq = fopen (arquivo, "r+"))) { printf ("Ocorreu um erro na abertura do arquivo!\n"); exit (1); } printf ("Digite um nome para alteracao da idade: "); gets (nome); printf ("Digite a nova idade: "); scanf ("%d", &idade); printf ("NOME\tSEXO\n\n"); for (;;) { fread (&dado, sizeof(Tcadastro), 1, arq); if (feof(arq)) break; if (!(strcmp (dado.nome, nome))) { fseek (arq, sizeof(Tdcadastro) * cont, SEEK_SET); dado.idade = idade; fwrite (&dado, sizeof(Tdcadastro) * cont, 1, arq); printf ("%s\t%c\t%d\n", dado.nome, dado.sexo, dado.idade); } cont++; } fclose (arq); getch(); return 0; }