Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In C Language - Starter Code Provided Given the starter code, create three functions that initialize a linked list from the input file car.txt. Three

In C Language - Starter Code Provided

Given the starter code, create three functions that initialize a linked list from the input file "car.txt".

Three functions needed:

image text in transcribed

image text in transcribed

image text in transcribed

Starter Code:

typedef struct car { char type[15]; // sports car, truck, convertible etc char make[20]; char model[30]; char engine[15]; // V6, V8, V4 etc int hp; // horse power char color[25]; int length; // length of car in feet double base_price; double total_price; accessories_t extras; struct car *next; } car_s;

typedef struct list { car_s *head; car_s *tail; int size; } list_t;

void listInitializer (list_t *list, FILE *inFile); void initializeFromFile (list_t *list, FILE *inFile); car_s *newCar (FILE *inFile);

int main(int argc, char **argv) { list_t *list=newList();

FILE* inFile = NULL; //Opening .txt file inFile = fopen(argv[1], "r");

//Error message if null or does not exist, return -1 if (inFile == NULL){ printf("Could not open file. "); return -1; // -1 indicates error }

initializeFromFile (list, inFile);

return 0; }

list_t *newList() //Creating list { list_t *point = (list_t *)malloc(sizeof(list_t));

point->head = NULL; point->tail = NULL; point->size = 0;

return point; }

car.txt

sport car,BMW,330i,V6,700,Red,13,134595.00,135945.00,1,200,0,250,450,450,0

truck,Ford,F150,V8,550,Green,13,86430.00,87630.00,0,0,250,200,500,250,0

sport car,Mercedes,sl500,V6,440,Blue,13,26895.00,27745.00,0,250,0,0,350,250,0

void initializeFromFile (list_t *list, FILE *inFile); -Calls the listInitializer() function, which sends the input file pointer -Calls listInitializer() in a loop until the end of the file void listInitializer (list t *list, FILE *in File); This function is called from initializeFromFile(): This funtion calls newCar () to create and initialize a new car from the file which it then adds to the end of the list. This function also increments the list size for each car added. car S *newcar (FILE *inFile); - Called by the listInitializer () function. Creates and initializes a new car node from the input file pointer passed in. Returns a pointer to the car that was just created. void initializeFromFile (list_t *list, FILE *inFile); -Calls the listInitializer() function, which sends the input file pointer -Calls listInitializer() in a loop until the end of the file void listInitializer (list t *list, FILE *in File); This function is called from initializeFromFile(): This funtion calls newCar () to create and initialize a new car from the file which it then adds to the end of the list. This function also increments the list size for each car added. car S *newcar (FILE *inFile); - Called by the listInitializer () function. Creates and initializes a new car node from the input file pointer passed in. Returns a pointer to the car that was just created

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database And Expert Systems Applications 24th International Conference Dexa 2013 Prague Czech Republic August 2013 Proceedings Part 1 Lncs 8055

Authors: Hendrik Decker ,Lenka Lhotska ,Sebastian Link ,Josef Basl ,A Min Tjoa

2013 Edition

3642402844, 978-3642402845

More Books

Students also viewed these Databases questions

Question

Detailed note on the contributions of F.W.Taylor

Answered: 1 week ago