Пошук файлів за заданими атрибутами - Программирование, компьютеры и кибернетика курсовая работа

Пошук файлів за заданими атрибутами - Программирование, компьютеры и кибернетика курсовая работа



































Особливості програмної реалізації алгоритму пошуку файлів з заданими атрибутами. Опис програмного комплексу на мові Turbo С. Розробка інструкції користувача. Тестування програмного продукту на операційних системах MS DOS 5.0/6.0/6.2 і Windows 95/98/Me/Xp.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

ПОШУК ФАЙЛІВ ЗА ЗАДАНИМИ АТРИБУТАМИ
6. Контрольні приклади та аналіз їх реалізацій
Тема моєї курсової роботи - "Пошук файлів за заданими атрибутами".
Метою даної курсової роботи є реалізація програми яка б могла здійснювати пошук файлу на жорсткому диску комп'ютера за заданим іменем, розширенням, розміром та датою створення файлу. Також даний програмний продукт повинен передбачати пошук файлу за одним із вище вказаних атрибутів, при чому повинно бути передбачено завдання неповної назви файлу, тобто в разі невідомого імені чи розширення потрібно ввести символ “*”, а якщо невідомим буде якийсь один символ то замість нього потрібно буде вести “?”. Навіть при таких обставинах буде здійснюватись пошук файлів оскільки функції пошуку (findfirst, findnext) передбачають такі шаблони. Дана програма може мати застосування в операційній системі DOS, оскільки в ній дуже важко знайти необхідний файл, не знаючи шляху до нього. Програма повинна знаходити і виводити на екран усі файли не залежно від їх типу.
Я провів огляд ряду літератури, ознайомився з організацією файлової системи MS DOS. Ознайомився з функціями бібліотеки , мови програмування Turbo C. В модулях багато функцій та процедур для роботи із файлами, а зокрема за часом їх створення, розміром, розширенням, тобто завдяки цьому модулю можна отримати повний доступ до файлу та його атрибутів.
При записі даного програмного продукту на мові програмування Turbo C використовуються процедури пошуку FindFirst та FindNext.
Прототипи функцій fіndfіrst() і fіndnext() містяться у файлі dіr.h. Однак необхідно включити також файл dos.h, що містить макроси, які використовуються як значення параметра attrіb. Ці функції не визначені стандартом ANSІ С.
Функція fіndfіrst() шукає перше ім'я файлу, що відповідає зразку пошуку, на який указує параметр fname. Ім'я файлу може містити в собі диск і шлях. Також ім'я файлу може містити в собі шаблони пошуку * і ?. При перебуванні придатного файлу структура, на яку вказує ptr, заповнюється інформацією про цей файл.
Структура ffblk визначена для DOS і Wіndows 3.1 у такий спосіб:
char ff_reserved[21]; /* зарезервовано */
char ff attrіb; /* атрибути файлу */
unsіgned ff ftіme; /* час створення */
unsіgned ff fdate; /* дата створення */
long ff_fsіze; /* розмір у байтах */
char ff name[13]; /* ім'я файлу */ };
Структура ffblk визначена для Wіndows 95/NT у такий спосіб:
long ff_reserved; / * зарезервовано */
long ff_fsіze; / *розмір у байтах */
unsіgned long ff_attrіb; /* атрибути файлу */
unsіgned short ff_ftіme; / *час створення */
unsіgned short ff fdate; / *дата створення */
char ff name[256]; / *ім'я файлу */ };
Параметр attrіb визначає тип файлів, які необхідно знайти за допомогою функції fіndfіrst(). Якщо attrіb має значення 0, то припустимими є усі файли, що підходять під шаблон пошуку. Для того, щоб забезпечити більш ефективний пошук, параметр attrіb може приймати одне зі значень, обумовлених наступними макросами:
Функція fіndnext() продовжує пошук, початий функцією fіndfіrst().
Обидві функції fіndfіrst() і fіndnext() у випадку успіху повертають 0. У випадку невдачі повертається -1, а перемінна errno установлюється рівної ENOENT (ім'я файлу не знайдене). Переменнaя_doserror установлюється рівної або ENMFІLE (немає більше файлів у каталозі), або ENOENT.
Оскільки у структурі ffblk розмір і дата створення файлу числові типи відповідно longint та shortint а числа при введенні будуть розпізнаватися як текстовий рядок (string) то для їх перетворення у числовий тип необхідно буде викликати заголовний файл для можливості виклику функції atoi.
Int atoi(char *str) - перетворює рядок str в десяткове ціле, а якщо число перевищує діапазон int то повертає два молодші байти. Якщо перетворення неможливе - повертає 0.
Long atol(char *str) - перетворює рядок в довге десяткове ціле.
З цього ж заголовного файлу використовуватиметься функція strcat для того щоб скласти шлях пошуку файла, тобто назва файлу чи інший його атрибут буде вводитися окремо від диску на якому потрібно шукати.
Car *strcat(char *sp, char *si) в цюму випадку рядок si дописується до рядка sp. Результатом об'єднання буде sp/
Наступна програма виводить усі файли з розширенням *.с поточного робочого каталогу, а також їхні розміри:
prіntf("%s %ld\n", f.ff_name, f.ff_fsіze);
Дійсно дана програма знаходить файли лише в робочому каталозі. Для того щоб програма здійснювала пошук по усіх вкладених директоріях (папках) необхідно використати рекурсивну функцію. Рекурсивною називається функція, яка викликає сама себе. Проте особливо важливий момент полягає в тому щоб вийти з неї таким чином потрібно ставити умову виходу, оскільки функція яка викликає сама себе може робити це безкінечно.
{printf (“Рівень %d\n”, n) /*оператор виведення #1*/
printf(“Рівень %d\n”, n) }/*оператор виведення #2*/
Останнім оператором я кий виконався у 3-му рівні був оператор if тож робота продовжується з наступного - оператор виведення #2, буде виведений рядок “Рівень 3” і т. д.
Головна задача даної програми - здійснення пошуку файлу чи файлів за заданими атрибутами. В даній програмі будуть використовуватися дві основні функції Findfirst() та Findnext() з заголовного файла також будуть використовуватися функції переведення з формату string в числовий формат і найголовніше потрібно буде використати рекурсивну функцію для перегляду усіх вкладених директорій (папок), приклад і принцип роботи рекурсивної функції описаний вище. При програмній реалізації даної задачі, як результат ми повинні отримати символьний рядок, який буде містити повний шлях до заданого файлу, а також ім'я цього файлу. Якщо файлів багато, то в такому разі результатом повинен бути список символьних рядків. При чому виведення повинно зупинятись при заповненні кожної відео сторінки і програма повинна очікувати на натискання будь-якої клавіші.

Об'єм програми - текстових рядків або байт - 162 текстових рядків або 4903 байти.
Програма призначена для пошуку файлів на жорсткому диску комп'ютера.
Вхідні дані вводяться з клавіатури, при чому спочатку потрібно вибрати в меню тип(пи) даних за яким(ми) буде виконуватися пошук. Кількість символів на назву файлу - 12, тобто 8 - ім'я, 1 - “.”, 3 - розширення. Розмір файлу вводиться в байтах для більшої конкретизації пошуку. Дата створення файлу вводиться в форматі Рік.Місяць.День. Назву диска потрібно вказувати у вигляді “c:\”.
Виводиться у вигляді символьного рядка (рядків). В разі якщо виводиться велика кількість файлів проводиться запинка з очікуванням натискання клавіші після кожного заповнення відеосторінки.
5. Ввести назву диску на якому шукаємо.
6. Подивитись результати на екрані .
7. Для виходу, або для просування списку знайдених файлів натиснути будь-яку клавішу.
6. Контрольні п риклади та аналіз їх реалізації
Для перевірки працездатності програми проведемо експеримент.
В цьому приклді будемо шукати за даною назвою і розширенням
Отримуємо результат у вигляді: D:\BC5\CDC.PAS
Результат : D:\KURSAK\C\NEW\FINDFILE.EXE
Отримаємо такий результат : D:\KURSAK\C\NEW\FINDFILE.EXE
Отже програма працює коректно. Як видно з результатів здійснюється пошук за всіма атрибутами файлу. Перевіривши результати можна переконатись у вірності виконання пошуку, бо у двох останніх прикладах ми шукали один і той самий файл, але за різними атрибутами.
Даний програмний продукт був опротестований на таких операційних системах, як MS DOS 5.0/6.0/6.2 та Windows 95/98/Me/Xp. В усіх цих операційних системах працювала правильно.
Громов Ю.Ю.,Татаренко С.И. Программирование на языке СИ: Учебное пособие.. -Тамбов,1995.- 169 с.
Блох А.Ш, Граф-схемы и алгоритмы. - Минск: Высш. шк., 1987.
Вирт Н, Алгоритмы и структуры данных. - М.: Мир, 1989.
Языки программирования Ада, Си, Паскаль: сравнение и оценки. -М.: Радио и связь, 1989.
Башкин А.В., Дубнер П.Н. Работа в Турбо СИ. НИВФ ЮКИС, 1991.
Болски М.И. Язык программирование Си: Справочник. - М.: Радио и связь, 1988.
Керниган Б., Ритчи Д. Язык программирования Си. - М.: Финансы и статистика, 1992.
Страуструп Б. Язык программирования Си++. - М.: Радио и связь, 1991.
Проценко В.С., Чаленко Б.И., Старовський А-Б. Техніка програмування мовою Сі. - К.: Либідь, 1993.
Уэйт М., Прата С., Мартин Д. Язык Си: руководство для начинающих. - М.: Мир, 1988
/*----------------------- FindFile ------------------------------------------*/
if (Ar1[2]==1) if (Fs.ff_fdate!=iFileDate) goto skip2;
if (c==24){c=0;textcolor(4);cprintf("Press any key to continue\r");
printf("%s",Dir);printf("%s",Fs.ff_name);
/*------------------- End FindFile --------------------------------------------*/
derror = findfirst(DirS,&ffblk,16);
if (st1 != 0 && st2 != 0 && atr==16)
if (Ar1[0]==1) {gotoxy(6,2);cprintf("*");}else {gotoxy(6,2);cprintf(" ");}
if (Ar1[1]==1) {gotoxy(6,3);cprintf("*");}else {gotoxy(6,3);cprintf(" ");}
if (Ar1[2]==1) {gotoxy(6,4);cprintf("*");}else {gotoxy(6,4);cprintf(" ");}
if (Ar1[0]==1) {gotoxy(6,2);cprintf("*");gotoxy(wherex()-1,2);}
else {gotoxy(6,2);cprintf(" ");gotoxy(wherex()-1,2);}break;}
if (Ar1[1]==1) {gotoxy(6,3);cprintf("*");gotoxy(wherex()-1,3);}
else {gotoxy(6,3);cprintf(" ");gotoxy(wherex()-1,3);}break;}
if (Ar1[2]==1) {gotoxy(6,4);cprintf("*");gotoxy(wherex()-1,4);}
else {gotoxy(6,4);cprintf(" ");gotoxy(wherex()-1,4);}break;}
/*--------------------------------------------------------------------------*/
{if (klav==80) if (poz!=4) poz=poz+1; else poz=1;
if (klav==72) if (poz!=1) poz=poz-1; else poz=4;
if (strlen(_FileName)!=0)Ar1[0]=1;else Ar1[0]=0;break;
if (strlen(FileSize)!=0)Ar1[1]=1;else Ar1[1]=0;break;
/* Format file date year.month.day [yy.mm.dd] */
if (strlen(FileDate)!=0)Ar1[2]=1;else Ar1[2]=0;break;
if (Ar1[1]==1) iFileSize=atol(FileSize);
dops[0]=FileDate[0];dops[1]=FileDate[1];dops[2]=0;
iFileDate=(atoi(dops)+20)*(2*2*2*2*2*2*2*2*2);
dops[0]=FileDate[3];dops[1]=FileDate[4];dops[2]=0;
iFileDate=iFileDate+atoi(dops)*(2*2*2*2*2);
dops[0]=FileDate[6];dops[1]=FileDate[7];dops[2]=0;
if (strlen(_FileName)==0 && Ar1[1]==0 && Ar1[2]==0) goto h_end;
if (strlen(_FileName)==0) _FileName="*.*";
/*----------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/
Методика управління каталогами та атрибутами файлів. Аналіз вихідних даних, вибір підходу та технології реалізації програмного продукту. Розробка узагальненого та деталізованих алгоритмів роботи програми, інтеграція компонентів та комплексне тестування. курсовая работа [2,8 M], добавлен 23.01.2012
Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Технології розробки Windows-додатків. Опис функціональних можливостей і програмної реалізації системи. дипломная работа [891,7 K], добавлен 25.10.2012
Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio. практическая работа [1,8 M], добавлен 05.06.2014
BMP як формат зберігання растрових зображень, огляд структури файлу. Створення програми для запису та перегляду графічних BMP-файлів на мові програмування Turbo Pascal 7.0, розробка функціональної схеми і алгоритмів, особливості проведення тестування. курсовая работа [325,8 K], добавлен 12.06.2011
Дослідження вбудованого акселерометра, розробка алгоритму автоматичного підрахунку фізичнх вправ і його практична реалізація у вигляді програмного продукту для смартфонів iPhone. Налаштування сервера. Поширення програмного продукту, його тестування. дипломная работа [2,6 M], добавлен 14.12.2012
Розробка програмного продукту в програмному середовищі C++ Builder на прикладі гри "Шахи". Опис предметної області: правила пересування фігур по шаховій дошці. Концептуальна модель програмного продукту. Керівництва для програміста та користувача. отчет по практике [2,8 M], добавлен 27.02.2015
Проектування програмного продукту, що здійснює формування електронної програмної моделі білборда з налаштуванням об’єктів рекламної площі, визначених користувачем. Опис інтефейсу програмного продукту з користувачем, його тестування та результати. курсовая работа [3,2 M], добавлен 18.05.2016
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Пошук файлів за заданими атрибутами курсовая работа. Программирование, компьютеры и кибернетика.
Личность И Коллектив Реферат
Дипломная Работа На Тему Специальная Психология Для Детей С Умственной Отсталостью И Задержкой Психического Развития
Реферат: Оценка царствования Екатерины II (По В.О. Ключевскому)
Сочинение По Повести Горького
Реформы И Государство Эпохи Петра 1 Курсовая
Курсовая работа: Нетрадиционная медицина в лечении рака
Реферат На Тему Сша В 1950-2000 Гг. Внутренняя И Внешняя Политика
Входная Контрольная Работа По Дисциплине Биология
Выпускная Квалификационная Работа Дипломный Проект
Основные Экономические Показатели Банка Диссертация Pdf
Курсовая Работа На Тему Проблема Отцовства В Современной Тувинской Семьи
Курсовая Работа На Тему Особенности Размещения И Развития Атомной Энергетики Рф. Противоречия, Перспективы
Сочинение Репортаж Пример
Моделирование Социальных Процессов Реферат
Дипломная работа по теме Формы презентации современной молодёжной поэзии и их популяризация в медиапространстве
Без Борьбы Нет Прогресса Эссе Вывод
Контрольная работа по теме Судебно-ветеринарная экспертиза кровоизлияний (кровоподтек, гематома). Отличие от трупных пятен. Судебно ветеринарная экспертиза при фальсификации мясопродуктов
Сочинение по теме Вольнолюбивая лирика А. С. Пушкина
Стоимость Реферата 15 Страниц
Реферат На Тему Дифференциальная Диагностика Заболеваний Кишечника
Особенности образовательной системы США - Педагогика реферат
Внутригрупповая пиар коммуникация как инструмент управления персоналом. Стратегическая политика фирмы - Маркетинг, реклама и торговля контрольная работа
Товароведная оценка качества колбас полукопченых, реализуемых в розничной торговой сети г. Красноярска - Маркетинг, реклама и торговля курсовая работа


Report Page