Управление каталогом файлов
Содержание
1. Вариант для задания
. Проектирование
программного обеспечения
. Блок схема начальное
формирование каталога файлов
. Блок схема вывода на экран
каталога файлов
. Блок схема удаления файлов
. Блок схема сортировка
файлов по имени, дате создания и размеру методом прямого выбора
. Текст программы
. Листинг программы
. Вывод
1.
Вариант для задания
Вариант 8
Написать программу, моделирующую управление
каталогом в файловой системе. Для каждого файла каталога должны содержаться
следующие сведения: имя файла, дата создания, размер файла. Выбор требуемой
функции должен осуществляться с помощью меню.
Программа должна обеспечивать:
. Начальное формирование каталога
файлов;
. вывод на экран каталога файлов;
. возможность удаления файлов;
. сортировку файлов по имени, дате
создания и размеру методом прямого выбора.
. Проектирование
программного обеспечения
В данной программе
использовалось 5 классов:schapka- необходим для вывода заглавной информации
таблицы перед выводом самой таблицы.pomoch- Необходим для вывода списка
команд.test-Необходим для вывода постоение, и вывода таблицы на экранvoenno -
Необходим для заполнения первоначальной информации в массив и управление с
ним.Program- Точка входа программы, с этого класса начинает программа считывать
исходный код и выполнять его.
.
Блок схеманачальное формирование каталога файлов
4.
Блок схема вывода на экран каталога файлов
5. Блок схема удаленияфайлов
программный обеспечение каталог файл
6.
Блок схема сортировка файлов по имени, дате создания и размеру методом прямого
выбора
.
Текст программы
System;.Collections.Generic;.Linq;.Text;.Threading.Tasks;ConsoleApplication2
{
{Volume(string a, string b,
strings,int q)
{.Write(a);p = q -
a.Length;(inti = 0; i< p; i++)
{.Write(" ");
}.Write("|");= q -
b.Length;.Write(b);(inti = 0; i< p; i++)
{.Write(" ");
}.Write("|");= q -
s.Length;.Write(s);(inti = 0; i< p; i++)
{.Write(" ");
}
}
}
{Volume()
{.WriteLine("Команда |
Описание ");.WriteLine("выход | Выйти с базы и начать программу
сначала, либо закрыть совсем");.WriteLine("сортировать | Позволяет
сортировать элемент по выбору");.WriteLine("список | Позволяет
показать весь список");.WriteLine("удалить | Удаляем по номеру
файла");.WriteLine("очистить | очищает консоль");
}
}
{Volume(string a, string b,
strings,int w, int q)
{.Write(q + 1 + " |"
+ a);z = w - a.Length;(inti = 0; i< z; i++)
{.Write(" ");
}.Write("|" + b);= w
- b.Length;(inti = 0; i< z; i++)
{.Write(" ");
}.Write("|"+s);= w -
s.Length;(inti = 0; i< z; i++)
{.Write(" ");
}.WriteLine();
}
}
{Volume(int a)
{[] softq = newDateTime[a];[]
softa = newint[a];[] soft = newstring[a];[,] fio = newstring[a, 3];(inti = 1;
i<= a; i++)
{(int j = 1; j <=3 ; j++)
{(j == 1)
{.Write("ВведитеИмяфайла :
");[i - 1, j - 1] = Console.ReadLine();
}(j == 2)
{.Write("Введитедатусоздания
: ");[i - 1, j - 1] = Console.ReadLine();
}(j == 3)
{.Write("Введитеразмерфайла
: ");[i - 1, j - 1] = Console.ReadLine();
}
}
}.WriteLine("Весьсписок...");.Write("№
|");w = 0;(int j = 0; j < 2; j++)
{(inti = 0; i< a; i++)
{(w <fio[i, j].Length)
{= fio[i, j].Length;
}
}
}= "Имя ";=
"Дата ";sad = "Размер ";.Volume(asd, dsa,
sad,w);.WriteLine();(inti = 0; i< a; i++)
}= 0;(; ; )
{.Write("Введите команду
для управления : ");= Convert.ToString(Console.ReadLine());(kom == "сортировать")
{.WriteLine("Выберитетипсортировки
:");.WriteLine("1 - Сортировать по имени");.WriteLine("2 -
Сортировать по дате");.WriteLine("3 - Сортировать по
размеру");.Write("Введите тип сортировки : ");= Convert.ToInt32(Console.ReadLine());(q
== 1)
{(inti = 0; i< a; i++)
{[i] = fio[i, 0];
}.Sort(soft);.Write("№
|");.Volume(asd, dsa, sad,w);.WriteLine();(inti = 0; i< a; i++)
{(int j = 0; j < a; j++)
{(soft[i] == fio[j, 0])
{.Volume(fio[j, 0], fio[j, 1],
fio[j, 2], w, j);
}
}
}
}(q == 2)
{(inti = 0; i< a; i++)
{[i] =
Convert.ToDateTime(fio[i, 1]);
}.Sort(softq);.Write("№
|");.Volume(asd, dsa, sad,w);.WriteLine();(inti = 0; i< a; i++)
{(int j = 0; j < a; j++)
{(softq[i] ==
Convert.ToDateTime(fio[j, 1]))
{.Volume(fio[j, 0], fio[j, 1],
fio[j, 2], w, j);
}
}
}
}(q == 3)
{(inti = 0; i< a; i++)
{[i] = Convert.ToInt32(fio[i,
2]);
}.Sort(softa);.Write("№
|");.Volume(asd, dsa, sad,w);.WriteLine();(inti = 0; i< a; i++)
{(int j = 0; j < a; j++)
{(softa[i] ==
Convert.ToInt32(fio[j, 2]))
{.Volume(fio[j, 0], fio[j, 1],
fio[j, 2], w, j);
}
}
}
}
{.WriteLine("Не правильно
введена команда...");.WriteLine("Выберите основную команду");=
0;
}
}(kom == "список")
{(q == 1)
{.Write("№
|");.Volume(asd, dsa, sad,w);.WriteLine();(inti = 0; i< a; i++)
{(int j = 0; j < a; j++)
{(soft[i] == fio[j, 0])
{.Volume(fio[j, 0], fio[j, 1],
fio[j, 2], w, j);
}
}
}
}(q == 2)
{.Write("№
|");.Volume(asd, dsa, sad,w);.WriteLine();(inti = 0; i< a; i++)
{(int j = 0; j < a; j++)
{(softq[i] ==
Convert.ToDateTime(fio[j, 1]))
{.Volume(fio[j, 0], fio[j, 1],
fio[j, 2], w, j);
}
}
}
}(q == 3)
{.Write("№
|");.Volume(asd, dsa, sad,w);.WriteLine();(inti = 0; i< a; i++)
{(int j = 0; j < a; j++)
{(softa[i] ==
Convert.ToInt32(fio[j, 2]))
{.Volume(fio[j, 0], fio[j, 1],
fio[j, 2], w, j);
}
}
}
}(q == 0)
{.Write("№
|");.Volume(asd, dsa, sad,w);.WriteLine();(inti = 0; i< a; i++)
{.Volume(fio[i, 0], fio[i, 1],
fio[i, 2], w, i);
}
}
}(kom == "выход")
{;
}(kom == "очистить")
{.Clear();
}(kom == "помощь")
}(kom == "удалить")
{.Write("Что вы хотите
удалить, введите № файла : ");= Convert.ToInt32(Console.ReadLine());[i-1,
0] = null;[i-1, 1] = null;[i-1, 2] = null;(; i< a; i++)
{(i<= a)
{[i - 1, 0] = fio[i, 0];[i - 1,
1] = fio[i, 1];[i - 1, 2] = fio[i, 2];[i, 0] = null;[i, 1] = null;[i, 2] =
null;
}
}
-a;.WriteLine();.Write("№
|");.Volume(asd, dsa, sad, w);.WriteLine();(int j = 0; j < a; j++)
{.Volume(fio[j, 0], fio[j, 1],
fio[j, 2], w, j);
}
//Console.WriteLine(fio.Length);
//foreach (var item in fio)
Console.WriteLine(item);
//string fio[,]=new
string[a-1,3];
}.WriteLine("Чтобы узнать
все команды введите команду \"помощь\"");
}
}
}
{Main(string[] args)
{z = 'y';(; ; )
{.Write("ВведитеколичествоФайлов
: ");
{=
Convert.ToInt32(Console.ReadLine());.Volume(kol);.Write("Повторитьсначала
?");= Convert.ToChar(Console.ReadLine());(z != 'y')
{;
}
}
{.WriteLine("Не правильно
введен количество файлов");.Write("Повторитьпопытку ?");=
Convert.ToChar(Console.ReadLine());(z != 'y')
{;
}
}
}
}
}
}
8.
Листинг программы
.
Вывод
Программа, моделирующая управление каталогом в
файловой системе. При первом запуске программа просит ввести количество файлов,
после чего просит ввести от пользователя имя файла, дата создание и его размер,
столько, сколько указал пользователь количество файлов при первом запуске
программы. После того как пользователь введет все сведения, программа
автоматически выстроит таблицу на экран, № файла, имя файла, дата создания и
его размер. После чего программа попросит ввести команду для управление
таблицами. Если пользователь введет команду «Удалить» программа попросит ввести
удалить № файла, после того как пользователь ввел № файла, программа удалит
элемент с массива так что все элементы стоящим за ним переместятся на одну
позицию вперед. Если пользователь введет команду «Сортировать» программа
попросит вас ввести каким образом необходимо сортировать: по имени, по дате,
либо по размеру. После того как пользователь ввел необходимую команду программа
автоматический отсортирует массив там чтобы все сведения остались на нужном
положении.