Разработка базы данных для учёта музыкальных альбомов на языке программирования Си

База данных как структурированный набор постоянно хранимой информации. Прототипы и описания основных алгоритмов. Синтаксис функции, открывающей файловый поток и записывающей в него структуры в бинарном виде. Конструкция исходного программного кода.

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

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

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

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

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

Введение

База данных - это структурированный набор постоянно хранимых данных. Постоянность означает, что данные не уничтожаются по завершении программы или пользовательского сеанса, в котором они были созданы.

С постоянным развитием мира, появляется всё больше и больше музыкальных групп. В связи с этим в магазинах появляется необходимость поиска, добавления, сортировки и многое другое. Одним из способов решения этой задачи является создание базы данных.

1. Постановка задачи

1. Создать структуру «Альбом вокально-инструментальной группы».

2. Описать функции для работы с ней:

a. Ввод.

b. Вывод.

c. Удаление записи.

d. Сохранение в файл.

e. Загрузка из файла.

f. Поиск записи.

g. Редактирование записи.

h. Сортировка базы.

3. Создать соответствующие проверки ввода данных.

2. Описание структуры данных

ID - Идентификатор записи.

Carrier - Тип товара.

Name - Название товара.

Author Name - Имя автора.

Author Last Name - Фамилия автора.

Time - Время.

Numberofworks - Количество треков.

Price - Цена товара.

В программе данных загружаются из файла «music.txt», в котором описаны десять альбомов:

1. Halt mich.

2. Angst.

3. Das Model.

4. Fears.

5. The nightmare before Christmas.

6. Toture.

7. Catch you.

8. First day.

9. Timo.

10. My happy ending.

3. Прототипы и описания основных алгоритмов

voidmain().

Это самая главная функция в программе. С неё начинается выполнение любой программы на языке Си.

Music_AlbumMake_Record(Music_AlbumAlbum).

Входным параметром принимается указатель на структуру. Эта функция добавляет новую запись в конец глобального массива структур.)

voidWrite_To_File().

Эта функция открывает файловый поток и записывает в него структуры в бинарном виде.

voidRead_From_File().

Эта функция открывает файловый поток и загружает из него структуры в бинарном виде.

voidShow_Record(Music_AlbumAlbum).

Эта функция выводит на экран все записи и требует ввести ID записи для удаления и удаляет если такой IDсуществует.

voidEdit_Record().

Эта функция выводит на экран все записи и требует ввести ID записи для редактирования. Потом она вызывает функцию updateRecord().

voidSortBy

Эта функция сортирует по контуру поля.

voidFind_Record().

Это функция требует ввести кол-во минут и секунд, переводит всё в секунды и выводит на экран совпадения.

intShow_menu().

Эта функция показывает меню.

voidBubble()

Эта функция сортирует методом пузырьков.

4. Блок-схемы основных алгоритмов

Рис. 1

Рис. 2

Рис. 3

Рис. 4

Рис. 5

Рис. 6

Рис. 7

Рис. 8

Рис. 9

Рис. 10

Рис. 11

Рис. 12

5. Исходный код

#include <stdafx.h>

#include <conio.h>

#include <string.h>

#include <stdio.h>

#include <ctype.h>

structMusic_Album {

charGroup_Name[100];

charAlbum_Title[100];

intSong_Amount;

longint Year;

charCompany_Name[50];

};

Music_Albumalbums[100];

Music_AlbumMake_Record(Music_Album Album){

printf("Vveditenazvaniegruppi:\n");

scanf("%s", &Album.Group_Name);

printf("Vveditenazvaniealboma:\n");

scanf("%s", &Album.Album_Title);

bool flag(0);

m1:

printf("Vveditekolichestvopesen:\n");

scanf("%d",&Album.Song_Amount);

if(Album.Song_Amount<=0){

printf("Error: Incorrect input!\n\n");

goto m1;

}

m2:

printf("Vvedite god vipuska:\n");

scanf("%d",&Album.Year);

if(Album.Year> 2015 || Album.Year< 1950){

printf("Error: Incorrect input!\n\n");

goto m2;

}

printf("Vveditenazvaniestudii:\n");

scanf("%s", &Album.Company_Name);

printf("\n");

return Album;

};

voidShow_Record(Music_Album Album){

printf("%s ", Album.Group_Name);

printf("%s ", Album.Album_Title);

printf("%d ", Album.Song_Amount);

printf("%d ", Album.Year);

printf("%s \n", Album.Company_Name);

};

voidWrite_To_File(Music_Album albums[100], int n){

FILE * pFile;

pFile = fopen("output.txt" , "wb");

for(inti = 0; i< n ;i++)

fwrite(&albums[i], sizeof(Music_Album), 1, pFile);

fclose (pFile);

};

voidRead_From_File(Music_Album albums[100], int n){

FILE *FH = NULL;

FH = fopen("output.txt", "rb");

for(inti = 0; i< 100; i++){

fread(&albums[i], sizeof(Music_Album), 1, FH);

};

fclose(FH);

};

voidEdit_Record(){

printf("Kakujuzapismeniat:\n");

int k;

scanf("%d",&k);

albums[k] = Make_Record(albums[k]);

};

voidFind_Record(int n){

printf("Po kakomypoliiskat:\n");

printf("1. Group_Name\n");

printf("2. Album_Title\n");

printf("3. Company_Name\n");

int k;

scanf("%d",&k);

char temp[50];

intindeks(0);

if (k == 1 || k == 2 || k == 3){

printf("Vvedite pole:\n");

scanf("%s",&temp);

};

if (k == 1){

for (inti = 0; i< n; i++){

if (strcmp(albums[i].Album_Title, temp) == 0)

indeks = i+1;

}

};

if (k == 2){

for (inti = 0; i< n; i++){

if (strcmp(albums[i].Group_Name, temp) == 0)

indeks = i+1;

}

};

if (k == 3){

for (inti = 0; i< n; i++){

if (strcmp(albums[i].Company_Name, temp) == 0)

indeks = i+1;

}

};

if (indeks != 0) {

printf("Zapis #%d\n",indeks);

}

else

printf("Takojzapisi net\n");

};

voidOutPut_Mass(int n){ // ????? ??????? ?? ?????

for (inti = 0; i< n; i++){

Show_Record(albums[i]);

}

};

intShow_menu(){ // ????? ???? ?? ????? ??? ?????? ??????? ????????

inti;

printf("Viberitedejstvije:\n");

printf("1. Dobavitzapis;\n");

printf("2. Zapis v fail;\n");

printf("3. Chteniemassivaizfaila;\n");

printf("4. Redaktirovatzapis v massive;\n");

printf("5. Naitizapis;\n");

printf("6. Vivestimassivnaekran;\n");

printf("7. Sortirovatmassivpopoliu.\n");

printf("0. Zakonchitrabotu.\n");

m2:

scanf("%d",&i);

if( !(i>=0 &&i<=7)){

printf("Error: Incorrect input!\n\n");

goto m2;

};

while ( !(i>= 0 &&i<= 7) ){ // ???????? ?? ???????????? ????? ????????

printf("Viberitepravilnoeznachenie:\n");

scanf("%d",&i);

};

printf("\n");

returni;

};

void Bubble( int (*compFunc)(int), int n ) {

for (inti = 1; i< n; i++) {

for (int j = n-1; j >= i; j--) {

if (compFunc(j)) {

Music_Album temp = albums[j];

albums[j] = albums[j-1];

albums[j-1] = temp;

}

}

}

}

intcompName(int j) {

returnstrcmp(albums[j].Group_Name, albums[j-1].Group_Name) < 0;

}

intcompTitle(int j) {

returnstrcmp(albums[j].Album_Title,albums[j-1].Album_Title) < 0;

}

intcompAmount(int j) {

return albums[j].Song_Amount< albums[j-1].Song_Amount;

}

intcompYear(int j) {

return albums[j].Year < albums[j-1].Year;

}

intcompCompanyName(int j) {

returnstrcmp(albums[j].Company_Name, albums[j-1].Company_Name) < 0;

}

voidSortBy(int n){ // ?????????? ?? ??????? ????

printf("Po kakomypolisortirovat:\n");

printf("1. Group_Name\n");

printf("2. Album_Title\n");

printf("3. Song_Amount\n");

printf("4. Year\n");

printf("5. Company_Name\n");

int k;

scanf("%d",&k);

if (k == 1) {

Bubble(&compName,n);

};

if (k == 2) {

Bubble(&compTitle,n);

};

if (k == 3) {

Bubble(&compAmount,n);

};

if (k == 4) {

Bubble(&compYear,n);

};

if (k == 5) {

Bubble(&compCompanyName,n);

};

};

int main(){

int procedure;

int n(0);

do{

procedure = Show_menu();

switch (procedure){

case 1: albums[n] = Make_Record(albums[n]); n++; break;

case 2: Write_To_File(albums, n); break;

case 3: Read_From_File(albums, n); break;

case 4: Edit_Record(); break;

case 5: Find_Record(n); break;

case 6: OutPut_Mass(n); break;

case 7: SortBy(n); break;

};

} while (procedure != 0);

getch();

return 0;

}

6. Примеры работы программы

Добавление записи.

Рис. 13

Вывод на экран.

Рис. 14

Поиск записи.

Рис. 15

Сортировка.

Рис. 16

Поиск.

Рис. 17

Редактирование.

Рис. 18

программный структурированный файловый бинарный

Заключение

В данной работе была создана база данных для учёта музыкальных альбомов, позволяющая обеспечить добавление, хранение, поиск, сортировку, редактирование и удаление данных. В дальнейшем планируется добавить больше проверок для ввода значений, возможность добавления полей в структуру записи, работа в отдельном окне операционной системы Windows, а не в командной строке, добавить новый метод сортировки. Также планируется написать эту же базу, но с использованием ООП.

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

...

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

  • Порядок проектирования и разработки базы данных и программного обеспечения. Информация о структуре базы данных, созданных таблицах, формах, отчетах, запросах, хранимой информации. Логическая и концептуальная модели данных; выбор программного обеспечения.

    курсовая работа [906,6 K], добавлен 20.01.2010

  • Разновидности систем управления базами данных. Анализ предметной области. Разработка структуры и ведение базы данных. Структурированный язык запросов SQL. Организация выбора информации из базы данных. Общие принципы проектирования экранных форм, макросов.

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

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

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

  • Разработка структуры базы данных для хранения дипломных проектов в среде объектно-ориентированного программирования Python. Создание внешнего вида окон ввода-вывода информации, технологии переходов. Листинг программы с пояснениями; направления улучшения.

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

  • Разработка базы данных в ErWIn. Сущности, логическая и физическая структуры базы данных "Работа деканата в вузе". Разработка и проверка хранимой процедуры. Создание пользовательской функции по формированию текстовой строки и триггеров к таблице "Студент".

    контрольная работа [3,2 M], добавлен 30.11.2015

  • Разработка базы данных организации, которая занимается ремонтом автомобилей и реализована в виде программного продукта. Моделирование структуры баз данных с использованием CASE-средств средствами языка SQL. Разработка логической и физической модели базы.

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

  • Программа перенесения данных из таблицы Word в таблицу базы данных. Алгоритм решения задачи в виде текстового описания. Описание базы данных (структура таблиц, схема). Копии с экрана форм для работы с базой данных при разработке их в конструкторе.

    контрольная работа [914,3 K], добавлен 26.03.2011

  • Необходимость создания базы данных для начальника отдела управления персоналом с целью учёта осуществления командировок в компании S7 Airlines. Концептуальная модель данных в sql server 2008. Листинг программного кода и результат выполнения программы.

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

  • Анализ информационных потоков. Разработка структуры таблиц базы данных. Выбор CASE-средства для проектирования информационной системы и среды программирования. Разработка программных модулей (программного обеспечения). Подготовка справочных баз данных.

    дипломная работа [6,8 M], добавлен 19.11.2013

  • Понятие шаблона проектирования или паттерна в разработке программного обеспечения. Изменение поведения системы (базы данных) с помощью порождающего шаблона программирования - абстрактной фабрики. Программирование базы данных и управление ею на языке С+.

    курсовая работа [124,8 K], добавлен 30.04.2011

  • Разработка вычислительной структуры, реализующей заданный набор операций для обработки запросов в реляционной базе данных (БД). Описание общей структуры системы с машиной баз данных. Разработка схем исполнительных процессоров и алгоритмов их операций.

    реферат [140,3 K], добавлен 27.10.2010

  • Особенности разработки и реализации обучающей программы и схемы алгоритмов на языке программирования С++. Понятие равномерной и неравномерной дискретизации. Представление информации (составление кода) в виде таблицы перекодировки или многочлена.

    курсовая работа [704,6 K], добавлен 06.03.2013

  • Анализ предметной области - магазин "Канцелярские товары". Проектирование и реализация базы данных в MS SQL Server. Перечень хранимой информации: таблицы, поля, типы. Моделирование предметной области. Выделение сущностей, атрибутов, ключей, связей.

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

  • Информационно-логическая модель предметной области по нотациям Ричарда Баркера. Даталогическая модель реляционной базы данных в виде диаграммы схемы отношений. Приложение интерфейса для базы данных на языке программирования С# в среде Visual Studio.

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

  • Выбор программных средст, основные требования. Разработка программного обеспечение для автоматизации учета использования и обслуживания транспортных средств. Инфологическая модель базы данных. Разработка SQL запросов, алгоритмов. Структура базы данных.

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

  • Обзор преимуществ и недостатков среды программирования Delphi, ее сравнение с аналогичными продуктами. Разработка инфологической, датологической, модели базы данных. Проектирование структуры программного обеспечения и понятного интерфейса базы данных.

    курсовая работа [964,8 K], добавлен 27.09.2014

  • Разработка программного продукта - базы данных "Экскурсия" в интегрированной среде программирования C++ Builder 6. Определение порядка просмотра данных базы, их редактирования и удаления. Особенности руководства пользователя и общего интерфейса программы.

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

  • Общие требования и этапы разработки автоматизированных информационных систем. Особенности работы, технологии доступа и проектирование структуры базы данных. Разработка клиентского программного обеспечения для магазина, защита и сохранность данных.

    курсовая работа [650,9 K], добавлен 27.02.2013

  • Особенности проектирования программы на языке С++ для обработки данных из таблиц базы данных. Основные функции программы, создание концептуальной модели базы данных и диаграммы классов, разработка интерфейса пользователя и запросов к базе данных.

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

  • Автоматизированные базы данных в учебном процессе. Создание базы данных для МОУ СОШ № 12 с целью помощи в обеспечении централизованного управления, хранения информации об учениках. Требования к программе, условия эксплуатации. Программный код базы данных.

    дипломная работа [2,0 M], добавлен 25.03.2014

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