DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

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

Рік:
2023
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмізація та програмування

Частина тексту файла (без зображень, графіків і формул):

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування 2: Процедурне програмування ЗВІТ до лабораторної роботи № 3 «Структури» Варіант 16 Дата «20» травня 2022 ЗАВДАННЯ: 1. Ознайомитись зі структурами та масивами структур. Дослідити особливості доступу до змінних структурного типу. 2. Розробити Блок-схему програмного алгоритму. 3. У якості індивідуального завдання необхідно написати код програми, що створює масив структур згідно з індивідуальним завданням та виконує запис даних в файл у вигляді структурних блоків (елементів масиву структур). Ім'я файлу – «імя_структури».txt. 4. Реалізувати читання із файлу «імя_структури».txt окремих елементів масиву структур за заданим індексом масиву. 5. Оформити ЗВІТ до лабораторної роботи згідно вимог та методичних рекомендацій. Варіант завданнь: За варінатом 16 – Структура «Файл»: назва, тип, розмір, дата створення, дата  редагування.  Теоритичні відомості: Покажчик на файл (змінна-покажчик типу FILE *) – це покажчик на інформацію, що визначає різні параметри файлу, включаючи його ім'я, стан та поточну позицію. Вказівник на файл ідентифікує конкретний дисковий файл та використовується потоком для виконання операцій введення/виводу. Для читання або запису файлу програма використовує вказівник на файл. Файлова змінна (наприклад, файл) створюється наступним оператором: FILE *file; Операція, за допомогою якої програма вперше запитує доступ до файлу, називається відкриттям файлу. Звільнення файлу в кінці роботи зазвичай називається закриттям файлу. Функція fopen() відкриває потік. Цією функцією керують три основні параметри: ім'я файлу, який слід відкрити, вид застосування файлу та вказівник на файл, повертається функцією. Синтаксис: FILE * fopen (char * filename, char * mode); Опис: функція fopen() відкриває файл, іменований параметром filename і пов'язує його з відповідним потоком stream. Функція fopen() повертає як результат адресний покажчик, який ідентифікуватиме потік stream у наступних операціях. Файл може бути відкритий у таких режимах (mode): r відкриття файлу лише для читання; w створення файлу для запису; а приєднання, відкриття для запису в кінець файлу або створення запису, якщо файл не існує; r+ відкриття існуючого файлу для оновлення (читання та запису); w+ створення нового файлу для зміни; a+ відкриття для приєднання; відкриття (або створення, якщо файл не існує) для оновлення на кінець файлу. Якщо файл відкривається або створюється в текстовому режимі, можна додати символ t до значення параметра mode (rt, w+t тощо); аналогічно, для специфікації бінарного режиму можна до значення параметра mode додати символ b (wb, a+b тощо). * Структури в мові Сі - це складові типи даних ,створених з використанням інших типів. Розглянемо наступне визначення структури: struct Time { int hour; // годинник int minute; // хвилини int second; // секунди }; Особливість структур в тому, що ми можемо створювати свої власні типи даних і оголошувати змінні цих типів даних. У даному прикладі ми створили свою структуру Time, що складається з полів години, хвилини, секунди. Вивід програми: / Рисунок 1. / Рисунок 2. / Рисунок 3. Код програми: Посилання на Repl.it: https://replit.com/join/cxrqibutqj-tr-15khavkin #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAXN 40 #define MAXT 10 int main(){ struct pfile { char name [MAXN]; char type [MAXT]; char size[10]; char tcreation[MAXN]; char tediting[MAXN]; }; int N,q,S; printf("\nВведіть кількість файлів:\n"); scanf("%i", &N); struct pfile pf[N]; struct pfile pf2[N]; for(int i=0; i<N; i++){ printf("Ведіть назву файлу № %d...\n", i+1); scanf("%s", pf[i].name); printf("Тепер ведіть тип файлу...\n"); scanf("%s", pf[i].type); printf("Тепер ведіть розмір файлу...\n"); scanf("%s", pf[i].size); printf("Дата створення файлу...\n"); scanf("%s", pf[i].tcreation); printf("Дата редагування файлу...\n"); scanf("%s", pf[i].tediting); printf("\n"); } FILE *stream; stream = fopen("dir/File.txt","w+"); //Запис данних у створений файл fprintf(stream, "Input structure:\n"); fprintf(stream, "Name | Type | Size | Date create | Date change \n"); for(int i=0; i<N; i++){ fprintf(stream, "%s %s %s %s %s", pf[i].name, pf[i].type, pf[i].size, pf[i].tcreation, pf[i].tediting); fprintf(stream,"\n"); } fclose(stream);//Збереження та закритя файлу printf("Дані збережені успішно\n"); printf("Ведіть номер файлу інформацію щодо якого ви хочете дізнатися: "); scanf("%i", &q); printf("Ведіть яку інформацію про файл ви хочете дізнатися:\n1-Назва\n2-Тип\n3-Розмір\n4-Дата створбювання\n5-Дата змінювання\n"); scanf("%i", &S); stream = fopen("dir/File.txt","r+"); fseek (stream,0,SEEK_SET); fseek (stream,64,SEEK_SET); for(int i=0; i<N; i++){ fscanf(stream, "%s %s %s %s %s", pf2[i].name, pf2[i].type, pf2[i].size, pf2[i].tcreation, pf2[i].tediting); } switch (S){ case 1: printf("Назва - %s",pf2[q-1].name); break; case 2: printf("Тип - %s",pf2[q-1].type); break; case 3: printf("Розмір - %s",pf2[q-1].size); break; case 4: printf("Дата створювання - %s",pf2[q-1].tcreation); break; case 5: printf("Дата змінювання - %s",pf2[q-1].tediting); break; } return 0; } Висновок: У цій лабораторної роботі ознайомилися з роботою структур. Було створено програмний код для створення масиву структур, створення файлу та запис у файл масиву структур. Також код реалізує читання з файлу елементів структур вибраної структури. Зроблено звіт з лабораторної роботи та вчасно надіслано викладачу на перевірку.
Антиботан аватар за замовчуванням

25.07.2023 18:11

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

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

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

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!