Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Послідовний метод доступу до файлів на зовнішніх запам’ятовуючих пристроях

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Організація баз даних і знань

Частина тексту файла

 ЗВІТ про виконання лабораторної роботи №1 на тему: «Послідовний метод доступу до файлів на зовнішніх запам’ятовуючих пристроях» з курсу «Організація баз даних і знань» для студентів напряму «Комп’ютерні науки» Мета роботи Мета роботи – розглянути органiзацiю i ведення файлiв послiдовного доступу; набути практичнi навички у програмуваннi алгоритмiв роботи з файлами послiдовного доступу. Теоретичні відомості Записи у простому послiдовному файлi доступнi лише послiдовно один за одним. Наприклад, можна звернутися до n-го запису тiльки пiсля звертання до 1, 2 , ... , n-1 записiв. для того, щоб видалити запис з файлу, необхiдно створити копiю файлу, у якiй цей запис є вiдсутнiм; для того, щоб помiстити запис у файл, також необхiдно створити копiю файлу, у яку цей новий запис входить; щоб змiнити хоча б одне з полiв у записi, необхiдно створити копiю файлу, який мiститиме модифiкований запис. При послiдовному методi доступу значення ключiв фiзичних записiв знаходяться у логiчнiй послiдовностi. Ефективність доступу – нехай вибрано один фiзичний запис, i належить вибрати iнший з бiльшим значенням ключа. У найгiршому випадку для вибору потрiбного запису необхiдно переглянути всi записи бази даних, а у кращому достатньо вибрати наступний запис. Для того, щоб виявити необхiдний запис у послiдовному файлi, який складається з N записiв, необхiдно переглянути у середньому N/2 записiв. Ефективність використання пам'ятi близька до 100%. Зберiгання фiзичних записiв у логiчнiй послiдовностi можна використовувати для прискорення доступу, якщо перед звертанням до власне записiв бази даних перевiряти значення ключiв. Завдання Створити програму для підтримки послідовного методу доступу до файлу бази даних на тему «Магазин будівельних матеріалів», яка реалізовує наступні функції: Створення файлу бази даних Друк бази даних Пошук запису за введеним ключем Видалення запису за введеним ключем Вставлення запису Модифікація запису Оптимізувати розроблену програму шляхом створення файлу групової обробки та реалізацією наступних додаткових функцій: Створення файлу групової обробки Внесення змін у файл бази даних Текст програми Код файлу «Main.cpp»: #include<iostream> #include<Windows.h> #include"BuildingDatabase.h" using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); short choice, M; while (1) { /*Головне Меню*/ system("cls"); cout << "\n\t1.Створити базу даних" << "\n\n\t2.Додати дані про новий товар" << "\n\t3.Редагувати дані про товар" << "\n\t4.Видалити дані про товар" << "\n\n\t5.Пошук" << "\n\t6.Вивести на екран" << "\n\t7.Друкувати у файл" << "\n\n\t8.Застосувати зміни" << "\n\n\t9.Вивести файл групової обробки" << "\n\t10.Видалити файл групової обробки" << "\n\n\t0.Вихід"; cout << "\n\n\tОберіть операцію:\n"; M: cout << "\t -> "; cin >> choice; switch (choice) { case 1: BuildingDatabase::CreateDatabase(); break; case 2: BuildingDatabase::Insert(); break; case 3: BuildingDatabase::Edit(); break; case 4: BuildingDatabase::Delete(); break; case 5: BuildingDatabase::Search(); break; case 6: BuildingDatabase::Print(); break; case 7: BuildingDatabase::PrintToFile(); break; case 8: BuildingDatabase::ApplyHandler(); break; case 9: BuildingDatabase::PrintHandler(); break; case 10: BuildingDatabase::DeleteHandler(); break; case 0: exit(1); break; default: cout << "\nБудь ласка, повторіть спробу...\n"; goto M; break; } } cout << "\n\n"; return 1; } Код файлу «Building.h»: #pragma once class Building { public: int id; char name[30]; char category[30]; char manufacturer[20]; char size[15]; double weight; double price; int count; char describe[40]; bool is_discount; short operation; }; Код файлу «BuildingDatabase.h»: #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <iomanip> #include <fstream> #include <vector> #include <algorithm> #include "Building.h" using namespace std; static Building building; static fstream databas...
Антиботан аватар за замовчуванням

25.05.2016 15:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини