int main()
{
FILE *fp;
char another = 'Y';
struct emp
{
char name[20];
int age;
float bs;
};
struct emp e;
fp = fopen("employee.dat", "w");
if(fp == NULL)
{
printf("file cannot be opened for writing\n");
exit(1);
}
while(another == 'Y')
{
printf("\n enter name, age and basic salary: ");
scanf("%s %d %f", e.name, &e.age, &e.bs);
fprintf(fp, "%s %d %f\n", e.name, e.age, e.bs);
printf(" Add another record (Y/N)");
fflush(stdin);
scanf("%c", &another);
}
fclose(fp);
return 0;
В этой программе я пытаюсь записать записи в файл с именем employee.dat. Программа выполнена отлично, но для нее потребуется только одна запись сотрудника, а затем программа прекращается. Он не просит добавить следующую запись, то естьЗапись записей в файл: c
fflush(stdin);
scanf("%c", &another);
не выполняется в программе.
Заранее спасибо ....
Нет необходимости !! noly использовать flushall(); после scanf –
@OneManCrew, что вы имеете в виду «не нужно»? это еще один способ сделать это, так же хорошо, как и ваш. –