Advertisement
wojtas626

[C] JiMP 10.4

Dec 9th, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.68 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. struct book
  6. {
  7.     char authorName[128];
  8.     char title[128];
  9.     int catalogNumber;
  10.     int price;
  11.     struct book *next;
  12. };
  13.  
  14. void clear()
  15. {
  16.     //printf("\033[H\033[2J");
  17.     system( "cls" );
  18. }
  19.  
  20. void loadBook(struct book *x)
  21. {
  22.     clear();
  23.     printf("Podaj autora: ");
  24.     scanf("%s", &(x->authorName));
  25.     printf("Podaj nazwe ksiazki: ");
  26.     scanf("%s", &(x->title));
  27.     printf("Podaj nr katalogowy: ");
  28.     scanf("%d", &(x->catalogNumber));
  29.     printf("Podaj cene: ");
  30.     scanf("%d", &(x->price));
  31. }
  32.  
  33. void addBook(struct book **x)
  34. {
  35.     // firstBook = *x
  36.     struct book *pointer;
  37.     pointer = *x;
  38.     if (pointer == NULL)
  39.     {
  40.         pointer = malloc(sizeof(struct book));
  41.         loadBook(pointer);
  42.         pointer->next = NULL;
  43.         *x = pointer;
  44.     }
  45.     else
  46.     {
  47.         while (pointer->next != NULL)
  48.         {
  49.             pointer = pointer->next;
  50.         }
  51.         pointer->next = malloc(sizeof(struct book));
  52.         pointer = pointer->next;
  53.         loadBook(pointer);
  54.         pointer->next = NULL;
  55.     }
  56. }
  57.  
  58.  
  59. void printBooks(struct book **x)
  60. {
  61.     // firstBook = *x
  62.     struct book *pointer;
  63.     pointer = *x;
  64.     clear();
  65.     if (pointer == NULL)
  66.     {
  67.         printf("Lista pusta!\n\n");
  68.         printf("Nacisnij dowolny klawisz aby powrocic do menu...\n");
  69.         getch();
  70.     }
  71.     else
  72.     {
  73.         printf("Autor: %s\n", pointer->authorName);
  74.         printf("Tytul: %s\n", pointer->title);
  75.         printf("Nr katalogowy: %d\n", pointer->catalogNumber);
  76.         printf("Cena: %d\n", pointer->price);
  77.         printf("\n\n");
  78.         while(pointer->next != NULL)
  79.         {
  80.             pointer = pointer->next;
  81.             printf("Autor: %s\n", pointer->authorName);
  82.             printf("Tytul: %s\n", pointer->title);
  83.             printf("Nr katalogowy: %d\n", pointer->catalogNumber);
  84.             printf("Cena: %d\n", pointer->price);
  85.             printf("\n\n");
  86.         }
  87.         printf("Nacisnij dowolny klawisz aby powrocic do menu...\n");
  88.         getch();
  89.     }
  90. }
  91.  
  92. void showMenu()
  93. {
  94.     struct book *firstBook;
  95.     firstBook = NULL;
  96.     struct book **ptr;
  97.     ptr = &firstBook;
  98.  
  99.     char x;
  100.     while(1)
  101.     {
  102.         clear();
  103.         printf("1. Dodaj ksiazke\n");
  104.         printf("2. Wyswietl ksiazki\n");
  105.         printf("3. Zakoncz\n");
  106.         scanf("%c", &x);
  107.         if(x == '1')
  108.         {
  109.             addBook(ptr);
  110.         }
  111.         else if (x == '2')
  112.         {
  113.             printBooks(ptr);
  114.         }
  115.         else if (x == '3')
  116.         {
  117.             break;
  118.         }
  119.     }
  120. }
  121.  
  122. int main(void)
  123. {
  124.     showMenu();
  125.  
  126.     return 0;
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement