my input function
Code:
void f_adicionar(dados* contacto)
{
if (i<total)
{
printf("\nIntroduza o Nome: ", i + 1);
fflush(stdin);
gets(contacto[i].nome);
printf("Introduza o Numero de Aluno ISEL: ", i + 1);
fflush(stdin);
gets(contacto[i].numero);
printf("Introduza a Morada: ", i + 1);
fflush(stdin);
gets( contacto[i].morada);
printf("Introduza o Codigo Postal: ", i + 1);
fflush(stdin);
gets(contacto[i].postal);
printf("Introduza o email: ", i + 1);
fflush(stdin);
scanf(" %[^\n]s", contacto[i].email);
printf("Introduza o telefone: ", i + 1);
fflush(stdin);
scanf(" %d", &contacto[i].telefone);
printf("Nota Final de FP: ", i + 1);
fflush(stdin);
scanf(" %d", &contacto[i].FP);
printf("Nota Final de AM1: ", i + 1);
fflush(stdin);
scanf(" %d", &contacto[i].AM1);
printf("Nota Final de SD: ", i + 1);
fflush(stdin);
scanf(" %d", &contacto[i].SD);
printf("Nota Final de ALGA: ", i + 1);
fflush(stdin);
scanf(" %d", &contacto[i].ALGA);
printf("Nota Final de CM: ", i + 1);
fflush(stdin);
scanf(" %d\n\n\n", &contacto[i].CM);
i++;
}
else
{
printf("a lista esta cheia");
}
guardar(contacto);
}
then the save function
Code:
void guardar(dados *contacto)
{
FILE *f;
//char nfich[20];
int j = 0;
//printf("insira o caminho do ficheiro\n");
//scanf("%s", &nfich);
f = fopen("teste.txt", "a");
for (j = 0; j<i; j++)
{
fprintf(f, "\n%s ", contacto[j].nome);
fflush(stdin);
fprintf(f, " %s ", contacto[j].numero);
fflush(stdin);
fprintf(f, " %s ", contacto[j].morada);
fflush(stdin);
fprintf(f, " %s ", contacto[j].postal);
fflush(stdin);
fprintf(f, " %s ", contacto[j].email);
fflush(stdin);
fprintf(f, " %d ", contacto[j].telefone);
fflush(stdin);
fprintf(f, " %d ", contacto[j].FP);
fflush(stdin);
fprintf(f, " %d ", contacto[j].AM1);
fflush(stdin);
fprintf(f, " %d ", contacto[j].SD);
fflush(stdin);
fprintf(f, " %d ", contacto[j].ALGA);
fflush(stdin);
fprintf(f, " %d ", contacto[j].CM);
fflush(stdin);
}
printf("Dados guardados com suscesso!!! \n");
fclose(f);
}
the open file code... fgets is the way i put it??
Code:
void abrir(dados *contacto)
{
FILE *f;
char nome[100], email[50], morada[100], postal[20], numero[20];
int telefone, FP, SD, AM1, ALGA, CM;
//printf("insira o caminho do ficheiro\n");
//scanf("%s", &nfich);
f = fopen("teste.txt", "r");
if (f == NULL)
{
printf("erro ao abrir ficheiros");
}
else
{
while (!feof(f))
{
fgets(nome,100,f);
strcpy(contacto[i].nome, nome);
strcpy(contacto[i].numero, numero);
strcpy(contacto[i].morada, morada);
strcpy(contacto[i].postal, postal);
strcpy(contacto[i].email, email);
contacto[i].telefone = telefone;
contacto[i].FP = FP;
contacto[i].AM1 = AM1;
contacto[i].SD = SD;
contacto[i].ALGA = ALGA;
contacto[i].CM = CM;
i++;
}
fclose(f);
}
}