Esempio n. 1
0
int main(int argc, char** argv) {
    if(argc!=2)
        printf("DUMP: za malo argumentow\n");
    else {
        unsigned long long ret = atoh(argv[1]);
        printf("%d\n", ret);
    }
    return 0;
    
    if(argc!=2)
        printf("DUMP: za malo argumentow\n");
    else
        //dump(argv[1], argv[2], argv[3]);
        //dump_mftrecord(argv[2]);
        dump_attrrecord(argv[1]);
    return 0;
    
    if(otworz_plik("/ntfs_100M"))
    {
        printf("Nie podano nazwy pliku\n");
        return EXIT_FAILURE;
    }
    
    pobierz_pierwszy_sektor();
    //pokaz_pierwszy_sektor();
    //pokaz_sygnaturke();
    wylicz_pierwsza_partycje();
    pobierz_bs_pierwszej_partycji();
    mamy_bs();
    ustaw_zmienne_dla_partycji();
    pokazwpetli_FILE0();
    
    zamknij_plik();
    return (EXIT_SUCCESS);
}
Esempio n. 2
0
hurtownia * realizuj_zamowienia(data * dzis, char * katalog, int * liczba_hurtowni) {
   int i, j;
   int liczba_miast, liczba_zamowien, liczba_artykulow;
   char ** miasta = NULL;
   int ** odleglosci = NULL;
   hurtownia * hurtownie;
   zamowienie * zlecenia;
   artykul * artykuly;
   FILE * realizacja;

   realizacja = otworz_plik(katalog, "realizacja_zlecen.dat", "w");

   artykuly = lista_artykulow(&liczba_artykulow, katalog);
   miasta = lista_miast(&liczba_miast, katalog);
   zlecenia = lista_zamowien(miasta, liczba_miast, artykuly, liczba_artykulow, &liczba_zamowien, katalog);
   odleglosci = macierz_odleglosci(liczba_miast, miasta, katalog);
   hurtownie = lista_hurtowni(artykuly, liczba_artykulow, liczba_hurtowni, miasta, liczba_miast, katalog);

   for(i = 0; i < liczba_artykulow; i++)
      free(artykuly[i].nazwa);
   free(artykuly);

   for(i = 0; i < liczba_zamowien; i++) {
      *dzis = zlecenia[i].termin;
      hurtownie = usun_przeterminowane(hurtownie, *liczba_hurtowni, *dzis);
      zlecenia[i].numer_miasta = szukaj_indeksu_miasta(zlecenia[i].miasto, miasta, liczba_miast);
      realizuj_to_zlecenie(zlecenia[i], odleglosci, liczba_miast, hurtownie, *liczba_hurtowni, realizacja);
   }

   /*zwalniamy pamiec*/
   for(i = 0; i < liczba_miast; i++)
      free(miasta[i]);
   free(miasta);

   for(i = 0; i < liczba_miast; i++)
      free(odleglosci[i]);
   free(odleglosci);

   for(i = 0; i < liczba_zamowien; i++) {
      for(j = 0; j < zlecenia[i].ilosc_pozycji; j++)
         free(zlecenia[i].pozycje[j].nazwa);
      free(zlecenia[i].pozycje);
      free(zlecenia[i].miasto);
   }
   free(zlecenia);

   return hurtownie;
}
Esempio n. 3
0
void wpisz_hurtownie_do_pliku(hurtownia * hurtownie, int liczba_hurtowni, char * katalog) {
   FILE * akt_hurtownie;
   int i, j;

   akt_hurtownie = otworz_plik(katalog, "hurtownia_stan1.dat", "w");

   for(i = 0; i < liczba_hurtowni; i++) {
      fputs(hurtownie[i].miasto, akt_hurtownie);
      for(j = 0; j < hurtownie[i].ilosc_pozycji; j++)
         fprintf(akt_hurtownie, "%ld %d %.2f %d %d %d\n", hurtownie[i].produkty[j].ID, hurtownie[i].produkty[j].ilosc,
               hurtownie[i].produkty[j].cena, hurtownie[i].produkty[j].waznosc.dzien,
               hurtownie[i].produkty[j].waznosc.miesiac, hurtownie[i].produkty[j].waznosc.rok);
   }
   fputc('\n', akt_hurtownie);

   fclose(akt_hurtownie);
}
Esempio n. 4
0
void stworz_liste_przeterminowanych(int prog, hurtownia * hurtownie, int ilosc_hurtowni, data dzis, char * katalog) {
   FILE * przeterminowane;
   int i, j, k, wpisz, rozmiar_tymczasowej = 0;
   char ** tymczasowe = NULL;

   przeterminowane = otworz_plik(katalog, "przeterminowane.dat", "w");

   for(i = 0; i < ilosc_hurtowni; i++)
      for(j = 0; j < hurtownie[i].ilosc_pozycji; j++) {
         wpisz = 1;
         if((roznica_dat(hurtownie[i].produkty[j].waznosc, dzis) <= prog)
               && ((hurtownie[i].produkty[j].waznosc.dzien != 0) && (hurtownie[i].produkty[j].waznosc.miesiac != 0)
                     && (hurtownie[i].produkty[j].waznosc.rok != 0))) {
            for(k = 0; k < rozmiar_tymczasowej; k++)
               if((wpisz == 1) && (strcmp(hurtownie[i].produkty[j].nazwa, tymczasowe[k]) == 0))
                  wpisz = 0;
            if(wpisz == 1) {
               fprintf(przeterminowane, "%s", hurtownie[i].produkty[j].nazwa);
               rozmiar_tymczasowej++;
               if((tymczasowe = realloc(tymczasowe, rozmiar_tymczasowej * sizeof(char *))) == NULL) {
                  printf("Blad alokacji pamieci");
                  exit(1);
               }
               if((tymczasowe[k] = malloc((strlen(hurtownie[i].produkty[j].nazwa) + 1) * sizeof(char))) == NULL) {
                  printf("Blad alokacji pamieci");
                  exit(1);
               }
               strcpy(tymczasowe[k], hurtownie[i].produkty[j].nazwa);
            }
         }
      }

   for(i = 0; i < rozmiar_tymczasowej; i++)
      free(tymczasowe[i]);
   free(tymczasowe);

   fclose(przeterminowane);
}
Esempio n. 5
0
void znajdz_koncowki(int prog, data dzis, char * katalog, hurtownia * hurtownie, int liczba_hurtowni) {
   int i, j;
   int liczba_miast, liczba_zamowien, liczba_artykulow;
   char ** miasta = NULL;
   int ** odleglosci = NULL;
   zamowienie * zlecenia;
   artykul * artykuly;
   data aktualna, poczatkowa;
   FILE * koncowki;

   koncowki = otworz_plik(katalog, "koncowki.dat", "w");

   artykuly = lista_artykulow(&liczba_artykulow, katalog);
   miasta = lista_miast(&liczba_miast, katalog);
   odleglosci = macierz_odleglosci(liczba_miast, miasta, katalog);

   do {
      zlecenia = lista_zamowien(miasta, liczba_miast, artykuly, liczba_artykulow, &liczba_zamowien, katalog);

      poczatkowa = zlecenia[0].termin;
      for(i = 0; i < liczba_zamowien; i++) {
         aktualna = zlecenia[i].termin;
         if(roznica_dat(aktualna, poczatkowa) < prog) {
            if(i == 0)
               dzis = dodaj_do_daty(dzis, 1);
            else
               dzis = dodaj_do_daty(dzis, roznica_dat(aktualna, zlecenia[i - 1].termin));
            szukaj_wyczerpanych(zlecenia[i], odleglosci, liczba_miast, hurtownie, liczba_hurtowni, koncowki, dzis);
         }
      }
   } while((prog = prog - roznica_dat(zlecenia[liczba_zamowien - 1].termin, zlecenia[0].termin) - 1) > 0);

   for(i = 0; i < liczba_artykulow; i++)
      free(artykuly[i].nazwa);
   free(artykuly);

   for(i = 0; i < liczba_miast; i++)
      free(miasta[i]);
   free(miasta);

   for(i = 0; i < liczba_miast; i++)
      free(odleglosci[i]);
   free(odleglosci);

   for(i = 0; i < liczba_zamowien; i++) {
      for(j = 0; j < zlecenia[i].ilosc_pozycji; j++)
         free(zlecenia[i].pozycje[j].nazwa);
      free(zlecenia[i].pozycje);
      free(zlecenia[i].miasto);
   }
   free(zlecenia);

   for(i = 0; i < liczba_hurtowni; i++) {
      for(j = 0; j < hurtownie[i].ilosc_pozycji; j++)
         free(hurtownie[i].produkty[j].nazwa);
      free(hurtownie[i].produkty);
      free(hurtownie[i].miasto);
   }
   free(hurtownie);

   fclose(koncowki);
}