Advertisement
JuliaPopadowska

zad zal 1 PN

Jun 6th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.96 KB | None | 0 0
  1. // PN_powtorka.cpp: definiuje punkt wejΕ›cia dla aplikacji konsolowej.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include<math.h>
  6. #include<cstdlib>
  7.  
  8. struct baza {
  9.  
  10.     int cena=-1;
  11.     char  producent[1000];
  12.  
  13. };
  14.  
  15. //wyswietl jeden komputer
  16.  
  17. void wyswietl(baza komputer) {
  18.     printf("Nazwa: %s, cena: %d\n", komputer.producent, komputer.cena);
  19. }
  20.  
  21.  
  22.  
  23. //dodaj komputer
  24. void f0(baza komputer[50]) {
  25.     int i = 0;
  26.     while (komputer[i].cena!=-1) {
  27.         i++;
  28.     }
  29.     printf_s("Podaj nazwe produktu\n");
  30.     scanf_s("%s", &komputer[i].producent,1000);
  31.     printf_s("Podaj cene produktu\n");
  32.     scanf_s("%d", &komputer[i].cena);
  33.  
  34.    
  35. }
  36.  
  37. //wyswietl wszystkie komputery
  38. void f1(baza komputer[50]) {
  39.     int i = 0;
  40.     while (komputer[i].cena != -1) {
  41.         wyswietl(komputer[i]);
  42.         i++;
  43.     }
  44.  
  45. }
  46.  
  47. //wyswietla wszytskie ponizej podanej ceny
  48. void f2(baza komputer[50]) {
  49.  
  50.     int cena,i=0;
  51.     printf_s("Podaj cene do porownania: ");
  52.     scanf_s("%d", &cena);
  53.     while (komputer[i].cena != -1) {
  54.         if (komputer[i].cena < cena) {
  55.             wyswietl(komputer[i]);
  56.         }
  57.         i++;
  58.     }
  59. }
  60.  
  61. // czyta liste komputerow z pliku
  62. void f3(baza komputer[50]) {
  63.     int i = 0;
  64.     FILE *plik;
  65.     fopen_s(&plik, "kompy.txt", "r");
  66.     while (feof(plik)==0) {
  67.         fscanf_s(plik, "%s", &komputer[i].producent, 1000);
  68.         fscanf_s(plik, "%d", &komputer[i].cena);
  69.         i++;
  70.     }
  71.     fclose(plik);
  72. }
  73.  
  74. //wpisuje liste do pliku
  75. void f4(baza komputer[50]) {
  76.     FILE *plik;
  77.     fopen_s(&plik,"kompy.txt", "w");
  78.     int i = 0;
  79.  
  80.     while (komputer[i].cena != -1) {
  81.         fputs(komputer[i].producent,plik);
  82.         fprintf_s(plik, "\n%d\n", komputer[i].cena);
  83.         i++;
  84.     }
  85.     fclose(plik);
  86. }
  87.  
  88.  
  89.  
  90. int main()
  91. {
  92.     int wybor=0;
  93.     baza tablica[50];
  94.  
  95.     bool koniec = true;
  96.     int pozycja = 0;
  97.  
  98.     void(*Funkcje[])(baza[50]) = {f0,f1,f2,f3,f4 };
  99.  
  100.     while (koniec) {
  101.        
  102.         printf_s("Podaj numer funkcji: ");
  103.         scanf_s("%d", &wybor);
  104.         if (wybor < 5 && wybor >= 0) {
  105.             Funkcje[wybor](tablica);
  106.         }
  107.         else if (wybor == 5)    koniec = false;
  108.         else printf_s("Blad!");
  109.     }
  110.  
  111.  
  112.     return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement