Hello, i've to submit this assigment in few hours and i'm very nervous,
it's sort of Gas Station managing programs, handeling input files, and printing results...
it's only 1 .c file and that's my first code lines, which defines the structs:
and those are the problematic functions and the main :Code:#include <stdio.h> #include <string.h> #include <stdlib.h> struct Gas_Station *pgasStationHead = NULL; typedef struct Gas_Station { char *name; double octan95SS; double octan95FS; double octan98SS; double octan98FS; double gasSoldTotal; double gasSoldSS; double gasSoldFS; struct Gas_Station* pgasStationNext; struct Client_List* pclientHead; } Station; typedef struct Client_List { char carID[10]; char gasType[3]; double gasAmount; char serviceType[12]; struct Client_List* pclientNext; } Client;
now the error points to the " static void error(char *msg) " function but before that it pointed to " void CommandsSwitch(char *orders) " , the CommandsSwitch give the same error.Code:void CommandsSwitch(char *orders) { FILE *input , *output; input = fopen(orders, "rt"); output = fopen("result.txt" , "wt"); if (input == NULL) { error("can't open file, might not exists"); } else if (output == NULL) { error("can't open file"); } else { do { int i; char *ptemp, *pfuncNum, *pcarID , *pstationName; ptemp = fgets(ptemp , 80 , input); if (ptemp[0] != '#') { pfuncNum = strtok(ptemp , ","); i = (int)pfuncNum[0]; switch (i) { case 1: HowMuchGasPerStation(output); break; case 2 : pstationName = strtok(pstationName , ","); AverageGasInSpecieficStation(output , pstationName); break; case 3 : HowMuchGasInAllStations(output); break; case 4 : HowMuchGasFSInAllStations(output); break; case 5 : pcarID = strtok(ptemp , ","); HowMuchGasSoldByCarID(output , pcarID); break; case 6 : pcarID = strtok(ptemp , ","); pstationName = strtok(pstationName , ","); HowMuchGasSoldByStationPerCarID(output , pcarID , pstationName); break; case 7 : pcarID = strtok(ptemp , ","); StationsWithClientByCarID(output , pcarID); break; case 8 : pcarID = strtok(ptemp , ","); pstationName = strtok(pstationName , ","); HowMuchClientSpentByStation(output , pcarID , pstationName); break; case 9 : pcarID = strtok(ptemp , ","); HowMuchClientSpentInTotalByCarID(output , pcarID); break; case 10 : pstationName = strtok(pstationName , ","); ClientDetailsBySpecieficStation(output , pstationName); break; } } }while(!feof(input)); } fclose(input); fclose(output); } static void error(char *msg) { fprintf(stderr , "Error: %s\n", msg); exit(1); } int main (int argc, char* argv[]) { int i; FILE *f; char *orders = argv[1]; for (i = 2; i < argc; i++) { f = fopen(argv[i] , "rt"); if (f == NULL) { error("can't open file, might not exists"); } else { AddStation(f); } fclose(f); } CommandsSwitch(orders); }
plz try to help and guide me, i'm confused.
tnx.



LinkBack URL
About LinkBacks


