Exemple #1
0
 static void SummaryInfo(ref Storage[] storages)
 {
     foreach (Storage storage in storages)
     {
         Console.WriteLine(storage.GetInfo());
     }
 }
Exemple #2
0
 static double SummarySpace(ref Storage[] storages)
 {
     double summSpace = 0;
     foreach (Storage s in storages)
     {
         summSpace += s.GetSpace();
     }
     return summSpace;
 }
Exemple #3
0
 static double CopyTime(ref Storage[] storages, double size)
 {
     double copyTime = 0;
     if (SummarySpace(ref storages) < size) throw new Exception("Нехватает места для копирования на носителях");
     for (int i = 0; i < storages.Length; ++i)
     {
         while (storages[i].GetFreeSpace() >= 0.780 && size > 0)
         {
             copyTime += storages[i].Copy(0.780);
             size -= 0.78;
         }
     }
     return Math.Ceiling(copyTime);
 }
Exemple #4
0
 static void Main(string[] args)
 {
     Storage[] array = new Storage[15];
     for (int i = 0; i < array.Length; ++i)//инициализация массива из 10 флешек на 8 гб и 10 односторонних двд
     {
         if (i <= 10) array[i] = new Flash(3, 64);
         else array[i] = new Dvd(1);
     }
     try
     {
         SummaryInfo(ref array);//Вывод инфы о носителях до копирования
         Console.WriteLine("\nОбщее место на выбранных носителях: {0} гб", SummarySpace(ref array));//рассчет общего места на носителях
         Console.WriteLine("\nОбщее время копирования: {0} минут", (int)(CopyTime(ref array, 565)/60));//рассчет времени копирования
         SummaryInfo(ref array);//после копирования
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         NumberOfStorages(565);
     }
 }
Exemple #5
0
 static double SummaryFreeSpace(ref Storage[] storages)
 {
     double freeSpace = 0;
     foreach (Storage storage in storages) freeSpace += storage.GetFreeSpace();
     return freeSpace;
 }