Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. Book* initBooksList(Book *p){
  2. char book_name_buffer[MAX_ROW];
  3. FILE *fp = fopen("books.txt","r");
  4. if (fp == NULL)
  5. exit(0);
  6. char str[MAX_ROW];
  7. int actual_len = 0;
  8. while (NULL != fgets(str, MAX_ROW, fp)){
  9. if (p == NULL){
  10. p == (Book*)malloc(sizeof(Book));
  11. for (int i = 0; i+1 != '$'; i++){
  12. book_name_buffer[i] = str[i];
  13. actual_len += 1;
  14. }
  15. strcpy(p->name,book_name_buffer);
  16. p->next == NULL;
  17. int cpy = 0;
  18. for (int i = actual_len+5; i != ' '; i++){
  19. cpy = cpy * 10 + int(str[i]);
  20. }
  21. p->copies = cpy;
  22. }
  23. else{
  24. Book* init = p;
  25. Book* buffer = NULL;
  26. Book* new_book = NULL;
  27. new_book == (Book*)malloc(sizeof(Book));
  28. for (int i = 0; i + 1 != '$'; i++){
  29. book_name_buffer[i] = str[i];
  30. actual_len += 1;
  31. }
  32. strcpy(new_book->name, book_name_buffer);
  33. int cpy = 0;
  34. for (int i = actual_len + 5; i != ' '; i++){
  35. cpy = cpy * 10 + int(str[i]);
  36. }
  37. new_book->copies = cpy;
  38. while (p!= NULL && strcmp(new_book->name, p->name) < 0){
  39. buffer = p;
  40. p = p->next;
  41. }
  42. if (p == NULL){
  43. buffer->next = new_book;
  44. new_book->next = NULL;
  45. p = init;
  46. }
  47. else{
  48. buffer->next = new_book;
  49. new_book->next = p;
  50. p = init;
  51. }
  52. }
  53. }
  54. fclose(fp);
  55. return p;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement