Guest User

Untitled

a guest
Oct 21st, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.61 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5.     struct towar
  6.     {
  7.         char nazwa[30];
  8.         float ilosc;
  9.         float cena;
  10.     };
  11.  
  12.     void czytaj (void);
  13.  
  14. int main (void)
  15. {
  16.     czytaj ();
  17.  
  18. }
  19.  
  20.  
  21.     void czytaj (void)
  22.     {
  23.         FILE *plik;
  24.         int i = 0, n;
  25.         struct towar *sztuka;
  26.         struct towar *test;
  27.  
  28.  
  29.         if ( (plik = fopen("magazyn.txt", "ab+")) == NULL)
  30.             printf ("cos sie spitolilo przy otwieraniu pliku, sorrry\n");
  31.         rewind (plik);
  32.  
  33.         puts ("podaj ilosc pozycji: ");
  34.         scanf ("%d", &n);
  35.         sztuka = (struct towar *) malloc (n * sizeof (struct towar));
  36.         test = (struct towar *) malloc (n * sizeof (struct towar));
  37.         getchar();
  38.  
  39.  
  40.         /*      wczytywanie do struktury    */
  41.         puts ("podaj ppierwsza nazwe towaru: ");
  42.         while (i < n && gets(sztuka[i].nazwa) != NULL && sztuka[i].nazwa[0] != '\0')
  43.         {
  44.             printf ("podaj ilosc towaru nr: %d \n", i + 1);
  45.             scanf ("%f", &sztuka[i].ilosc);
  46.  
  47.             printf ("podaj cene towaru nr: %d \n", i+1);
  48.             scanf ("%f", &sztuka[i].cena);
  49.             while (getchar() != '\n') continue;
  50.             printf ("\t\t\ttessssssssst 1 : %s: %.2lf szt, %.2lf zl\n", sztuka[i].nazwa, sztuka[i].ilosc, sztuka[i].cena);
  51.  
  52.             i++;
  53.             if (i < n)
  54.                 printf ("podaj nazwe nast towaru: \n");
  55.         };
  56.  
  57.  
  58.             /*      zapis struktury do pliku    */
  59.  
  60.  
  61.             /*printf ("ilosc zapisanych struktur: %d \n", */fwrite (sztuka, sizeof (struct towar), n, plik); fseek(plik, -sizeof(struct towar)*n, SEEK_END);
  62.             /*printf ("ilosc odczytanych struktur: %d \n",*/fread (test, sizeof (struct towar), n, plik);
  63.  
  64.         printf ("\t\t\ttessssssssst 2 : %s: %.2lf szt, %.2lf zl\n", test[0].nazwa, test[0].ilosc, test[0].cena);
  65.         fclose (plik);
  66.         system("PAUSE");
  67.     }
Add Comment
Please, Sign In to add comment