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(); }



LinkBack URL
About LinkBacks




Thanks anyway..