Guest User

Untitled

a guest
Oct 21st, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 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 (sztuka), n, plik);
  62. /*printf ("ilosc odczytanych struktur: %d \n",*/fread (&test, sizeof (sztuka), 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. }
Add Comment
Please, Sign In to add comment