I'm creating a system for my school assignment. In order to create a file, I need to input data.. The data input cannot be same if it already exist in the record. How to avoid it? Please correct my code.. Thanks..
Code:
void addFlight(void)
{
system("cls");
// declare variables
char flightNo[5];
char way;
char departDate[12];
char departTime[5];
char origin[15];
char destination[15];
char target[10];
int found = 0;
float fare;
FILE *flightFile; // create a file
// open file for writing and reading
flightFile=fopen("flights.dat","a+");
printf("\n * ADD NEW AIRLINE FLIGHT *\n\n");
fflush(stdin);
printf("\n Flight Number : ");
gets(flightNo);
// avoid duplicate input
while(!feof(flightFile))
{
fscanf(flightFile,"%[^,]%*c %c%*c %[^,]%*c %[^,]%*c %[^,]%*c %[^,]%*c %f%*c \n",flightNo,&way,departDate,departTime,origin,destination,&fare);
if (strcmp(target,flightNo) != 0)
{
printf("\n\n Flight Number : \n");
gets(flightNo);
}
else
if (flightNo == flightNo)
{
printf("\n\n Flight Number is taken, enter a new Flight Number! \n");
printf("\n\n Flight Number : \n");
gets(flightNo);
}
}
printf("\n One Way=O / Return=R : ");
scanf("%c",&way);
fflush(stdin);
printf("\n Departure Date [dd-mm-yyyy] : ");
gets(departDate);
fflush(stdin);
printf("\n Departure Time [HH.MM] : ");
gets(departTime);
fflush(stdin);
printf("\n Origin : ");
gets(origin);
fflush(stdin);
printf("\n Destination : ");
gets(destination);
fflush(stdin);
printf("\n Ticket Fare : B$ ");
scanf("%f",&fare);
fflush(stdin);
fprintf(flightFile,"%s, %c, %s, %s, %s, %s, %.2f \n",flightNo,way,departDate,departTime,origin,destination,fare);
fclose(flightFile); // close the file
printf("\n\n");
system("pause");
flightMenu();
}