Розробка програми, яка забезпечує опрацювання структур даних

Забезпечення опрацювання полів елементів з використанням різних простих типів даних (стрічки, символи, числа). Особливість додавання нового елементу. Пошук елементу за значенням полів. Характеристика видалення та модифікація значень полів елементу.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык украинский
Дата добавления 02.05.2020
Размер файла 126,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Міністерство освіти і науки України

Національний університет “Львівська політехніка”

Кафедра Систем Автоматизованого

Розрахункова робота

З курсу алгоритмізації і програмування

Львів 2018

Розробити програму яку забезпечує опрацювання структур даних.

Необхідно забезпечити опрацювання 3-5 полів елементів з використанням

різних простих типів даних (стрічки, символи, числа). Забезпечити виконання

таких операцій:

* додавання нового елементу;

* пошук елементу за значенням полів;

* послідовний перегляд елементів;

* модифікація значень полів елемену;

* видалення елементу;

* сортування за значеннями полів.

Результати всіх операцій повинні зберігатись у файлі (створити не менше десяти відповідних записів у файлі). Елемент:

3. Автомобіль (виробник, модель, ціна, потужність, рік випуску).

#include "pch.h"

#include <stdio.h>

#include <math.h>

#include <string.h>

#include <iostream>

#include <cstdio>

void addNewStruct(int i, struct Editors *parm);

void find_el_by_field(struct Editors *parm);

void removeElement(int how_many, struct Editors *parm);

void modify(int many, struct Editors *parm);

void output(int how_many, struct Editors *parm);

void sort(int how_many, Editors *parm);

struct Editors {

char name[50];

char model[50];//creator[50];

int year;//licence;

double potyshnist;// rating;

int value;

};

int main() {

struct Editors ed[50];

int many, n, n1;

printf(" how many you want to add: ");

scanf_s("%d", &many);

for (int j = 0; j < many; j++) {

addNewStruct(j, ed);

}

printf("if you to delete some struck enter witch one you want to delete,otherwise enter -1: ");

scanf_s("%d", &n);

if (n != -1) {

removeElement(many, ed);

}

printf("if you want to find some editor enter 1: ");

scanf_s("%d", &n1);

if (n1 == 1) {

find_el_by_field(ed);

}

sort(many, ed);

modify(many, ed);

output(many, ed);

}

void addNewStruct(int i, struct Editors *parm) {

printf("Enter name of editor: ");

scanf_s("%9s", &parm[i].name, 50);

printf("Enter model: ");

scanf_s("%s", &parm[i].model, 50);

printf("Enter year: ");

scanf_s("%d", &parm[i].year);

printf("Enter potyshnist: ");

scanf_s("%lf", &parm[i].potyshnist);

printf("Enter value: ");

scanf_s("%d", &parm[i].value);

}

void find_el_by_field(struct Editors *parm) {

int choice;

double potyshnist_c;

int value_c;

int i = 0;

printf("Input what do you know about your text editor you want to find:\n"

"1 - potyshnist\n2 - value\nSo what do you know: ");

scanf_s("%d", &choice);

if (choice == 1) {

printf("input the potyshnist of editor: ");

scanf_s("%lf", &potyshnist_c);

while (parm[i].potyshnist) {

if (potyshnist_c == parm[i].potyshnist) {

printf("Your editor is: %s\n", parm[i].name);

break;

}

else if (i > 10) {

printf("No such editors found");

}

else i++;

}

}

else if (choice == 2) {

printf("input the value of editor: ");

scanf_s("%d", &value_c);

while (parm[i].value) {

if (value_c == parm[i].value) {

printf("Your editor is: %s\n", parm[i].name);

break; даний символ число поле

}

else if (i > 10) {

printf("No such editors found");

}

else i++;

}

}

}

void removeElement(int how_many, struct Editors *parm) {

int position = 0;

while (position == 0 || position >= how_many + 1) {

printf("Enter a number: ");

scanf_s("%i", &position);

if (position >= how_many + 1)

printf("Deletion not possible.\n");

}

for (int c = position - 1; c < how_many - 1; c++)

parm[c] = parm[c + 1];

printf("Element deleted from array!\n\n");

}

void modify(int how_many, struct Editors *parm) {

int a, which_country, tmp;

double tmp_c;

for (int i = 0; i < how_many; i++) {

printf("\n%d: %s\n", i, parm[i].name);

}

printf("Which editor u want to modify(enter number):");

scanf_s("%d", &which_country);

printf("Which editor parametr u want to modify(1 - year, 2 - rating,3 - value): ");

scanf_s("%d", &a);

if (a == 1) {

printf("\nEnter year to replace old one: ");

scanf_s("%d", &tmp);

parm[which_country].year = tmp;

}

else if (a == 2) {

printf("\nEnter potyshnist to replace old one: ");

scanf_s("%lf", &tmp_c);

parm[which_country].potyshnist = tmp_c;

}

else if (a == 2) {

printf("\nEnter value to replace old one: ");

scanf_s("%d", &tmp);

parm[which_country].value = tmp;

}

}

void output(int how_many, struct Editors *parm) {

for (int i = 0; i < how_many; i++) {

printf("%s\n", parm[i].name);

printf("%s\n", parm[i].model);

printf("%d\n", parm[i].year);

printf("%lf\n", parm[i].potyshnist);

printf("%d\n", parm[i].value);

}

FILE *f;

fopen_s(&f, "text.TXT", "w");

for (int i = 0; i < how_many; i++) {

fprintf(f, "%s\n", parm[i].name);

fprintf(f, "%s\n", parm[i].model);

fprintf(f, "%d\n", parm[i].year);

fprintf(f, "%lf\n", parm[i].potyshnist);

fprintf(f, "%d\n", parm[i].value);

}

fclose(f);

}

void sort(int how_many, struct Editors *parm) {

int which_par;

printf("enter what you want to sort\n1 - potushnist\t2 - value: ");

scanf_s("%d", &which_par);

if (which_par == 1) {

double temp;

for (int i = 0; i < how_many - 1; i++) {

for (int j = 0; j < how_many - i - 1; j++) {

if (parm[j].potyshnist > parm[j + 1].potyshnist) {

temp = parm[j].potyshnist;

parm[j].potyshnist = parm[j + 1].potyshnist;

parm[j + 1].potyshnist = temp;

}

}

}

printf("potyshnist sort:\n");

for (int i = 0; i < how_many; i++) {

printf("%.2lf; ", parm[i].potyshnist);

}

}

if (which_par == 2) {

int temp;

for (int i = 0; i < 2; i++) {

for (int j = 0; j < 2 - i; j++) {

if (parm[j].value > parm[j + 1].value) {

temp = parm[j].value;

parm[j].value = parm[j + 1].value;

parm[j + 1].value = temp;

}

}

}

printf("value sort:\n");

for (int i = 0; i < how_many; i++) {

printf("%d; ", parm[i].value);

}

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Створення баз даних і введення даних. Створення бази даних за допомогою майстра. Створення таблиць. Створення таблиці в режимі конструктора. Створення запитів за допомогою майстра. Додавання полів у бланк запиту. Зміна порядку полів.

    реферат [17,1 K], добавлен 07.10.2004

  • Проектування бази даних "Аптека" у Microsoft Access, розробка структури таблиць, ключових полів і схеми даних. Створення запитів різних типів, екранних форм різного виду для введення і перегляду даних. Створення кнопкових форм, що полегшують навігацію.

    дипломная работа [3,1 M], добавлен 16.11.2014

  • Оператори визначення даних. Створення таблиць. Вилучення таблиць. Додавання записів. Модифікація даних. Видалення даних. Пошук даних. Database Desktop. Компонент TQuery.

    реферат [165,8 K], добавлен 13.06.2007

  • SQL як стандартна мова для роботи з реляційними базами даних, стандартні типи даних, які можна використовувати. Числа з плаваючою комою, текстові та спеціальні типи даних. Типи та розміри полів таблиці, обмеження з метою забезпечення цілісності таблиці.

    реферат [24,8 K], добавлен 20.06.2010

  • Обробка інформації нетекстового характеру. Електронні редактори для опрацювання даних. Пошук даних у діапазоні клітинок або в таблиці. Фільтрування даних в Microsoft Excel. Вимоги до апаратного забезпечення. Мотивація вибору програми Microsoft Excel.

    реферат [2,9 M], добавлен 18.03.2013

  • Загальна характеристика методів проектування та документації додатків. Розробка інтерфейсу програми для медичного діагностичного центру. Вибір архітектури. Описання логічної структури програми. Розробка структури бази даних проекту, полів таблиць.

    курсовая работа [2,0 M], добавлен 21.08.2015

  • Використання полів в Microsoft Office Word і функції "Слияние" для злиття двох документів Word i Excel. Створення списку запрошених із зазначенням їх статі. Складання тексту запрошення, налаштування полів програми і запуск функції з'єднання даних.

    лабораторная работа [74,2 K], добавлен 15.09.2010

  • Проектування автоматизованої інформаційної системи обліку аудиторного фонду, яка має виконувати наступні функції: ініціалізацію; додавання і видалення елементів; переміщення по структурі даних; пошук елементів. Розробка інтерфейсу, інструкції користувача.

    курсовая работа [1,0 M], добавлен 08.05.2012

  • Загальний склад, структура таблиць та бази даних, опис інформаційних полів структури таблиць, головних процедур. Розробка інструкцій: адміністратору, менеджеру, користувачу, гостю. Собівартість, ціна розробки бази даних реалізації косметичної продукції.

    курсовая работа [4,6 M], добавлен 14.10.2014

  • Поняття черги в програмуванні, основні операції з чергою і їх реалізація. Опис алгоритму й специфікація програми. Розробка додатку з використанням задачі Ларсона по опису зв'язного неорієнтованого графа. Алгоритм розв’язку і результати виконання програми.

    курсовая работа [1,1 M], добавлен 14.09.2012

  • Загальні характеристики та структура найпростішої бази даних. Режими роботи з нею. Основні властивості полів таблиць. Створення запиту, зв’язків, звіту та макросу. Програмне забезпечення для створення БД. Нові можливості макросів в Office Access 2007.

    дипломная работа [4,5 M], добавлен 01.03.2014

  • Розробка програми у середовищі візуального програмування Borland Delphi, що демонструє роботу із двовимірним масивом різних символів. Побудова інформаційно-математичної моделі та опрацювання кожного з функціональних блоків на етапі алгоритмізації.

    курсовая работа [1,7 M], добавлен 07.05.2009

  • Визначення необхідних даних для створення бази даних "Бібліотека", групування їх по таблицях. Передбачення ключових полів, зв’язків між таблицями Access. Створення запитів для функціонування фільтрів у головній формі, а також інтерфейсу користувача.

    курсовая работа [2,5 M], добавлен 22.01.2015

  • Визначення мети створення бази даних магазину та таблиць, які вона повинна містити. Розгляд видів полів та ключів таблиць. Створення запитів, форм, звітів, макросів та модулів. Вибір системи управління базами даних. Реалізація моделі у Microsoft Access.

    курсовая работа [3,8 M], добавлен 20.07.2014

  • Опис предметної області та середовища розробки бази даних. Модель реальної системи - ієрархія діаграм DFD. Складання таблиці списку подій. Переробка ERD в реляційне відношення клієнтів, постачальників та автомобілів. Створення ключових полів таблиць БД.

    курсовая работа [606,4 K], добавлен 04.02.2013

  • Характеристика сучасних баз даних. Вивчення складу та призначення різноманітних елементів меню. Сутність об’єктів баз даних та елементів середовища керування СУБД MS Access. Основні засоби опрацювання об’єктів, принцип запуску середовища СУБД MS Access.

    лабораторная работа [443,3 K], добавлен 13.03.2011

  • Проектування бази даних та інтерфейсу програми. Розробка бази даних за допомогою Firebird 2.5. Контроль коректності вхідних та вихідних даних. Додавання та редагування інформації. Вплив електронно-обчислювальних машин на стан здоров'я користувачів.

    дипломная работа [4,7 M], добавлен 12.10.2015

  • Розробка та виконання простих програм, програм з розгалуженням, з використанням функцій, масивів, рядків, функцій та структур. Динамічні структури даних. Написання програми обчислення струму по відомих значеннях напруги і опору електричного ланцюга.

    курсовая работа [471,0 K], добавлен 02.06.2016

  • Опис інструментальних засобів розробки програмного забезпечення. Загальний склад, структура і інформаційна діаграма схеми даних. Опис полів таблиць структурної схеми бази даних. Первісні дані системи обліку студентів коледжу, що навчаються за контрактом.

    дипломная работа [869,3 K], добавлен 13.09.2014

  • Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".

    курсовая работа [4,0 M], добавлен 02.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.