Below are a program that supposed to ask a user to enter a user ID and if found, it will then modify the very same person details in the record and if not found then calls the add function to prompt the user details and add into the record.txt as new entry I've been doing this about 3 days and error still occured pls help
/*Function 1a*/
void modify_record(){
char Name[50];
int Target, ID, selection, Found=0;
FILE *rec, *temp;
temp=fopen("temp.txt", "w+");
if((rec=fopen("record.txt", "r+")) == NULL)
printf("\nerror: file not found.\n");
else {
printf(" ENTER the employee ID to be modified: ");
scanf("%d", &ID);
while(!feof(rec)){
fscanf(rec, "%i %*c %c %*c", &ID, &Name, &Gender, &Department);
if(feof(rec))
break;
else if(Target==ID)
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender, Department);
else
{
Found=1;
printf("\n Record Found! Please re-enter details for the employee ::%s::", Name);
/*Modify employee details*/
gotoxy(1,15);
printf("\n Employee details edit ");
do
{
gotoxy(1, 22);
printf(" Name : ");
gotoxy(10, 22);
fflush(stdin);
scanf("%s",&Name);
printf(" Gender : ");
fflush(stdin);
scanf("%s",&Gender);
printf("Please enter the department for this employee, [0] Administration [1] Management [2] Accounting [3] Others", empty, empty, empty, empty);
fflush(stdin);
scanf("%d",&selection);
if(selection==0 ){
printf("\n Your selection is %s\n\n%s%s\n ", Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender, Department[selection]);
}
else if(selection==1){
printf("\n Your selection is %s\n\n%s%s\n ", Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender, Department[selection]);
}
else if(selection==2){
printf("\n Your selection is %s\n\n%s%s\n ", Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender, Department[selection]);
}
else if(selection==3){
printf("\n Your selection is %s\n\n%s%s\n ", Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender, Department[selection]);
}
else
printf("\n\n INVALID CHOICE! PLEASE Re-Enter.\a");
} while(selection!=0 && selection!=1 && selection!=2 && selection!=3);
}
}
if(!Found)
printf("\n RECORD CANNOT BE FOUND!\n");
add_record();
}
fclose(rec);
fclose(temp);
remove("record.txt");
rename("temp.txt", "record.txt");
getch();
clrscr();
menu();
}
/*Function 1b adding employee*/
void add_record(){
int ID;
int selection;
FILE *rec, *temp;
if ((rec=fopen("record.txt","a+"))==NULL)
ID = 1;
else
{
do{
fscanf(rec, "%i %*c %c %*c", &ID, &Name, &Gender, &Department);
}while(!feof(rec));
ID += 1;
}
do {
gotoxy(2, 15);
printf("\n\n 0) %s\n 1) %s\n 2) %s\n 3) %s\n\n [Enter Department for this new employee]: ", Department[0], Department[1], Department[2], Department[3]);
fflush(stdin);
scanf("%d", &selection);
if((selection != 0) && (selection != 1) && (selection !=2) && (selection !=3)) {gotoxy(1, 24); printf(" >>invalid Department<< Retry!\a");}
} while((selection != 0) && (selection != 1) && (selection !=2) && (selection !=3));
clrscr();
printf("The new ID for this employee: %04i", ID);
printf("\n Employee Name : \n");
fflush(stdin);
gets(Name);
printf("\n Employee Gender: \n");
scanf("%c", &Gender);
printf("\nThe New Employee Record have successfully Saved!");
fprintf(rec, "%i %[^/]%*c %c %c", ID, Name, Gender, Department);
printf("\n Employee Status Stored!");
fclose(rec);
}