Hello all. I read information from a file and then I convert the times read in based on am/pm to 24 hour times. After that I am trying to sort the list based on time in ascending order. That is where the sort() comes in however I am not making any headway.
The file that I am reading from looks something like
"
TimeStamp: 1:00PM
Source : ADM51-28
TimeStamp: 11:00AM
Source : ADM51-28
TimeStamp: 10:59PM
Source : ADM51-28
TimeStamp: 11:58PM
Source : Internet Explorer
"
Any suggestions on correctings this sort function will be greatly appreciated. Thanks alot!
Code:#include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h> typedef struct Node { fpos_t begin; fpos_t end; int t_hour; int t_mins; char t_meri[3]; Node *next; }Location; Location *top , *ptr , *last; void allmem(); void convtm(); void sort(); int main() { clrscr(); allmem(); convtm(); sort(); getch(); return 0; } void sort() { Location *j; Location hold; ptr = top; while(ptr != NULL) { j = ptr->next; while(j != NULL) { if(j->t_hour < ptr->t_hour) { hold = *ptr; *ptr = *j; *j = hold; } j = j->next; } ptr = ptr->next; } ptr = top; while(ptr != NULL) { printf("%.2d:%.2d\n" , ptr->t_hour , ptr->t_mins , ptr->t_meri); ptr = ptr->next; } } void convtm() { ptr = top; while(ptr != NULL) { if(strcmp(ptr->t_meri , "AM") == 0) { if(ptr->t_hour == 12) ptr->t_hour = 0; } else { if(ptr->t_hour == 12) ptr->t_hour = 12; else ptr->t_hour += 12; } ptr = ptr->next; } } void allmem() { FILE *read; char str[20]; int beginend = 2; read = fopen("spool.dat" , "r"); top = NULL; while(feof(read) == 0) { fscanf(read , "%s" , str); if((strcmp(str , "TimeStamp:") == 0)) { if(beginend % 2 == 0) { ptr = (Location *)malloc(sizeof(Location)); fscanf(read , "%d:%d%s" , &ptr->t_hour , &ptr->t_mins , ptr->t_meri); fgetpos(read , &ptr->begin); ptr->next = NULL; beginend++; if(top == NULL) { top = ptr; last = ptr; } else { last->next = ptr; last = ptr; } } else { fseek(read , -14 , SEEK_CUR); fgetpos(read , &ptr->end); beginend++; } } } fclose(read); }![]()
![]()
![]()
![]()



LinkBack URL
About LinkBacks



