Write a program that reads data about people from a file.
Added on -2019-09-16
| 2 pages
| 429 words
| 373 views
Trusted by 2+ million users, 1000+ happy students everyday
Write a program that reads data about people from a file. You aresupposed to create a quick data file for testing purposes yourself,which has the following structure:•each line contains a record of data about exactly one person•each record has the person's name, followed by a space, followed by the person's ageUnlike in other assignments, there is no indication of how many records there will be in the file. Also, we don't want to assume that you do a first scan to find out. Instead, I ask you to solve the problem of creating enough space for all the records by incrementally reading one record at a time, put it into a struct personand link that structure to the list of person structures that is already there. This means that your person structure needs to contain a pointer to the next structure in the list. This also means that you need to keep track of the structure that is the head of the list, as well as the structure that is at the end of the list by maintaining corresponding pointers.Here is a critical piece of code. It reads a record from the file, creates the space (i.e. structure) to hold the data and updates the pointers involved:while (2 == fscanf(people_data,"%s %d", person_current->name, &person_current->age)) { person_current->next = NULL; // provide space for the new last person person_last->next = (structperson *) malloc(sizeof(structperson)); // set the new last person person_last = person_last->next; // copy the current's person data just readinto the new last person *person_last = *person_current; // update age total and number of records age_total += person_current->age;
Found this document preview useful?
You are reading a preview Upload your documents to download or Become a Desklib member to get accesss