Прикладная программа "Афиша фильмов"

 

Содержание


Введение

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

1.1 Исходные данные

1.2 Результаты

1.3 Связь

2. Техническое проектирование

2.1 Метод решения

2.2.1 Структура программы

2.2.2 Основной алгоритм функционирования программы

3. Рабочее проектирование

3.1 Структура данных программы

3.2 Обоснование оптимальности алгоритма

3.4 Обоснование оптимальности алгоритма

Выводы

Перечень ссылок

Приложения

Реферат


Пояснительная записка состоит из ___ листов, 10 иллюстраций и 4 приложений.

Данный программный продукт - прикладная программа по теме "Афиша фильмов".

Основная цель, которая была поставлена в процессе выполнения курсовой работы, - это разработка прикладной программы по заданной теме, способной функционировать под управлением операционной системы MS-DOS или Windows.

Метод разработки - создание приложения в среде программирования не выше, чем Dev C++.

В качестве результата работы над программой мы имеем таблицу с кинотеатрами и фильмами [1], которую мы можем просматривать полностью, находить минимальные и максимальные значения по каждому показателю, а также сортировать, совершать поиск. При каждом запуске генератора программа будет выполнять то действие, которое вы выберете.

Данная программа служит отличным научным пособием для различного вида пользователей и может быть использована в областях, связанных с культурой.

Использование программы позволит значительно сократить и эффективно использовать время людей.

ФУНКЦИЯ, ПРОГРАММА, ОПЕРАЦИОННАЯ СИСТЕМА, ИСХОДНЫЕ ДАННЫЕ, ФАЙЛЫ.

Введение


Одним из условий эффективного внедрения вычислительной техники в практику является создание специализированных прикладных программ. Доступность и простота использования их создает предпосылки более широкого внедрения ЭВМ в инженерный труд, решение конкретных задач научной области, экономики, культуры, образования. Существующие прикладные программы охватывают почти все сферы человеческой деятельности связанной с обработкой информации [3].

Они обычно строятся на базе специальных систем и являются дальнейшим их развитием в конкретном направлении. Прикладные программы поставляются отдельно от программного обеспечения вычислительных средств, имеют свою документацию и не входят в состав операционных систем [4].

Что касается данной системы, то она представляет собой весьма полезный программный продукт, который может быть широко использован как в общественных целях, так и в индивидуальном порядке. Интерфейс программы выполнен в удобной пользователю форме. Предоставляются программой и широкие возможности по поиску и редактированию справочной системы.

Данная система является представителем класса систем, работающих под управлением MS DOS или Windows.

Целью данной курсовой работы является закрепление практических навыков самостоятельной постановки и решения задачи, обработки данных с помощью ЭВМ средствами языка программирования Си [2].

Условием успешного выполнения курсовой работы являются практические навыки модульного программирования, полученные при выполнении лабораторных работ по дисциплине "ОПиАЯ".

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


Была поставлена задача создать справочную систему по теме "Афиша фильмов" [1]. В программе должны быть: раздельная компиляция, ввод-вывод из файла, различные функции по работе с таблицей [2].


1.1 Исходные данные


Исходными данными в программе являются данные, которые находятся в файле 1. txt (здесь содержится таблица "Афиша фильмов").


1.2 Результаты


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


1.3 Связь


Пользователь может просмотреть таблицу "Афиша фильмов", выводимую из файла полностью, либо с помощью функций выбирать определенные значения и просматривать информацию о них.

прикладная программа алгоритм программирование

2. Техническое проектирование


2.1 Метод решения


В основе метода лежит использование структуры переключателя switch. На экране пользователю будет предоставлен выбор из нескольких вариантов дальнейших его действий. Каждое действие будет иметь свой номер. Действие будет выполняться после того, как пользователь введет номер пункта меню и нажмет клавишу enter.

Всего в данной программе существует девять пунктов меню. Первый пункт - вывод таблицы из файла, второй пункт-выведение на экран максимального показателя стоимости билета. Третий пункт - выведение на экран минимального показателя стоимости. Четвертый пункт - выведение на экран максимального количества мест в кинотеатре. Пятый пункт - выведение на экран минимального количества мест. Шестой пункт - поиск. Седьмой пункт - сортировка по названию кинотеатра. Восьмой пункт - сортировка по названию фильма. Девятый пункт-выход из программы.


2.2.1 Структура программы

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


Рис. 2.1 структура программы


Таблица 2.2 описание функций программы

НазваниеВходные данныеВыходные данныеОписаниеВыводится изIzFailaint iпустовыводит данные на экранmainstoimostint cena_max int imaxпустоМаксимальное значение стоимости билетаmainstoimostiint cena_min int iminпустоМинимальное значение стоимости билетаmainkin_maxint mesta_max int imaxпустоМаксимальное количество мест в кинотеатреmainkin_minint mesta_min int iminпустоМинимальное количество мест в кинотеатреmainpoiskint i int z char nameпустоПоискmainsortint i int l int prпустоСортировка по названию кинотеатраmainsort_1int i int l int prпустоСортировка по названию фильмаmain

2.2.2 Основной алгоритм функционирования программы

Алгоритм функции main ()

Возвращает пусто;

Вызывает функции: IzFaila (), stoimost (), stoimosti (), kin_max (), kin_min (), poisk (), sort (), sort_1 ().

Переменные:i,n;a;


Рис. 2.3 Основной алгоритм функционирования справочной системы


3. Рабочее проектирование


3.1 Структура данных программы


Доминирующей структурой программы является структура, содержащая следующие элементы:

name: строка на 20 символов. Наименование кинотеатра

film: строка на 18 символов. Название фильма: целое. Стоимость билета: строка на 20 символов. Адрес кинотеатра: целое. Количество мест в кинотеатре

Описание структуры на языке Си:

Основная структура данных struct

struct filmy

{name [N];film [N];cena;adres [N];mesta;

};n;filmy afisha [M];


3.2 Обоснование оптимальности алгоритма


Все структуры данных, используемые в программе, были выбраны с учетом всех их преимуществ и качеств. Благодаря чему алгоритмы приобрели простоту работы и гибкость. Немалым преимуществом у выбранных структур данных является то, что пользователь может просмотреть любую строку структуры. Структуры, выбранные для вывода текстовой информации, отличаются простотой и эффективностью, позволяют корректно выводить необходимые значения и фрагменты текста.


3.4 Обоснование оптимальности алгоритма


Алгоритм программы удобен своей гибкостью и простотой. В процессе работы программы не наблюдаются графические ошибки зависания или зацикливаний. Любая функция, вызванная из main (), завершает свою работу и передает управление обратно.

Алгоритм отвечает всем требованиям современного профессионального программирования. А именно: точностью, формальностью и полнотой. В процессе выполнения программа не изменяет свой код, то есть является рентабельной. Не используются устаревшие конструкции типа меток и переходов на метки, что подтверждает оптимальность данного алгоритма.


Выводы


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


Перечень ссылок


1. Язык программирования Си / М.И. Болски. - М.: Радио и связь, 1988. - 96с.

. Методические указания и задания к выполнению курсовой работы по дисциплине "Основы программирования и алгоритмические языки"/Н.М. Дацун, М.О. Голубенко, О.А. Горбунова. - Донецк, ДонДТУ, 2000. - 60с.

. Язык Турбо Си/ Уинер Р. - М.: Мир, 1991. - 384 с.

. Язык программирования Си/ Керниган Б., Ритчи Д. - М.: Финансы и статистика, 1990. - 230с.

Приложения


Приложение А


Руководство пользователя

Назначение программы

Программа предназначена для визуализации информации по теме "Афиша фильмов".

Условия выполнения программы

Минимальные аппаратные требования приложения определены минимальными аппаратными требованиями операционной системы, под которой оно функционирует, т.е. MS DOS или Windows.

Выполнение программы

При запуске программы появляется меню, позволяющее пользователю выбрать дальнейшее действие (рис. 1)


Рис. 1 Меню


Для начала введите номер выбранного вами пункта, а затем для подтверждения своего выбора - Enter.

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

. Работа с пунктом ввод из файла

После того как вы выбрали данный пункт меню, на экране появится таблица (рис. 2).


Рис.2 Ввод из файла


. Работа с пунктом поиска максимального значения по стоимости билета.

После того как вы выбрали данный пункт меню, на экране появится максимальная стоимость (рис. 3).


Рис. 3 поиск максимального значения


. Работа с пунктом нахождения минимального значения.

После того как вы выбрали данный пункт меню, на экране появится минимальная стоимость билета (рис.4).


Рис. 4 поиск минимального значения


. Работа с пунктом поиска максимального количества мест.

После того как вы выбрали данный пункт меню, на экране появится максимальное количество мест (рис.5).


Рис. 5 поиск максимального количества мест


. Работа с пунктом нахождения минимального количества.

После того как вы выбрали данный пункт меню, на экране появится минимальное количество мест (рис. 6).


Рис. 6 поиск минимального количества мест


. Поиск по названию кинотеатра

После того как вы выбрали данный пункт меню нужно выбрать название кинотеатра, содержащееся в данной таблице (рис. 7). Затем нажать цифру, соответствующую выбранному кинотеатру и enter. (рис. 7.1)


Рис. 7 выбор кинотеатра, по которому будет проводиться поиск


Рис. 7.1 поиск по названию кинотеатра


. Сортировка по наименованию кинотеатра

После того как вы выбрали данный пункт меню, вы увидите отсортированную таблицу по названию кинотеатра (рис.8).


Рис. 8 сортировка по названию кинотеатра


. Сортировка по названию кинотеатра

После того как вы выбрали данный пункт меню вы увидите отсортированную таблицу по названию фильма. (рис. 9)


Рис. 9 сортировка по названию фильма

Приложение Б


Описание программы

. Общие сведения

.1 Наименование программы

Выполняемый код находится в файле KSYU_KUR2. exe.

.2 ПО, необходимое для работы

Необходима ОС MS DOS или Windows.

.3 Язык программирования

Программа написана на языке Си и откомпилирована компилятором

Dev C++.

. Функциональное назначение

Программа создана для визуализации и корректировки таблицы Афиша фильмов. То есть имеет прикладной характер.

. Описание логической структуры

.1 Алгоритм

См. п.2.2.3 "Основной алгоритм функционирования программы".

.2 Методы

См. п.2.1 "Метод решения".

.3 Структура

См. Приложение Д "Текст программы".

. Используемые технические средства

ЭВМ на базе процессора Intel Pentium 4.

. Вызов и загрузка

См. Приложение В "Руководство программиста".

. Входные данные

Приложение В


Руководство программиста

Назначение и условия функционирования программы

Программа предназначена для визуализации информации по теме "Афиша фильмов".

Основным условием функционирования программы определяется ОС MS DOS (или Windows).

Обращение к программе

Запуск приложения осуществляется таким образом:

Запустить Dev C++

Открыть файл BIN

Запустить программу, предварительно нажав F9.


Приложение Д


Текст программы

#include<conio. h>

#include<stdio. h>

#include<stdlib. h>

#include<string. h>

#include<ctype. h>

#define N 50

#define M 100filmy // opredelenie structury

{name [N];film [N];cena;adres [N];mesta;

};n;filmy afisha [M];

/************************************************************/IzFaila (struct filmy *afisha) // chtenie dannih iz faila

{i;*f;=fopen ("1. txt","r");( ( (f=fopen ("1. txt","r"))! =NULL))

{("Fail otkrit! \n");

}

{("Fail ne naiden! \n");(-1);

}("\nKol-vo strok: ",n);("%d",&n);(i=0; i<n; i++)

{(f,"%s",&afisha [i]. name);(f,"%s",&afisha [i]. film);(f,"%d",&afisha [i]. cena);(f,"%s",&afisha [i]. adres);(f,"%d",&afisha [i]. mesta);

}(f);("\n");("\n +---------------------+----------------+-----------------+-------+------------+");("\n | nazvanie kinoteatra | Nazvanie filma | Stoimost bileta | Adres | Kol-vo mest|");("\n +---------------------+----------------+-----------------+-------+------------+");(i=0; i<n; i++)

{("\n | %20s |%18s| %2d | %20s |%3d |", afisha [i]. name,afisha [i]. film,afisha [i]. cena,afisha [i]. adres,afisha [i]. mesta);("\n +--------------------+----------------+-----------------+-------+------------+");();

}

/************************************************************/stoimost (struct filmy afisha [M]) // opredelenie maximalnoi stoimosti bileta

{cena_max;_max=afisha [0]. cena;imax=0;(int i=0; i<n; i++)(afisha [i]. cena>cena_max)

{_max=afisha [i]. cena;=i;

}("\n Maximalnaya stoimost bileta: %d",afisha [imax]. cena);("\n Na film: %s",afisha [imax]. film);("\n V kinoteatr: %s",afisha [imax]. name);();

}

/************************************************************/stoimosti (struct filmy afisha [M]) // opredelenie minimalnoi stoimosti bileta

{cena_min;_min=afisha [0]. cena;imin=0;(int i=0; i<n; i++)(afisha [i]. cena<cena_min)

{_min=afisha [i]. cena;=i;

}("\n Minimalnaya stoimost bileta: %s",afisha [imin]. name);("\n Na film: %s",afisha [imin]. film);("\n V kinoteatr: %s",afisha [imin]. name);();

}

/************************************************************/kin_max (struct filmy afisha [M]) // kinoteatr s maximalnym kol-vom mest

{mesta_max;_max=afisha [0]. mesta;imax=0;(int i=0; i<n; i++)(afisha [i]. mesta>mesta_max)

{_max=afisha [i]. mesta;=i;

}("\n Kinoteatr s maximal'nym kol-vom mest: %s",afisha [imax]. name);("\n Maximalnoe kol-vo mest: %d ",afisha [imax]. mesta);();

}

/************************************************************/kin_min (struct filmy afisha [M]) // kinoteatr s minimalnym kol-vom mest

{mesta_min;_min=afisha [0]. mesta;imin=0;(int i=0; i<n; i++)(afisha [i]. mesta<mesta_min)

{_min=afisha [i]. mesta;=i;

}("\n Kinoteatr s minimal'nym kol-vom mest: %s",afisha [imin]. name);("\n Minimalnoe kol-vo mest: %d ",afisha [imin]. mesta);();

}

/************************************************************/poisk (struct filmy afisha [M]) // poisk po nazvaniyu kinoteatra

{i,z;name [20];("Vyberete kinoteatr\n");(i=0; i<n; i++) {("%d %s \n", i,afisha [i]. name);

}("%d",&z);("%s %s %d %s %d",afisha [z]. name,afisha [z]. film,afisha [z]. cena,afisha [z]. adres,afisha [z]. mesta);(i=0; i<n; i++)

{(strspn (name,afisha [i]. name))

{("%s %s %d %s %d",afisha [i]. name,afisha [i]. film,afisha [i]. cena,afisha [i]. adres,afisha [i]. mesta);

}

}

}

/************************************************************/sort (struct filmy afisha [M]) // sortirovka po nazvaniyu kinoteatra

{*f;=fopen ("1. txt","r");i,l,pr;t;=20-1;

{=0;(i=0; i<n; i++)(strcmp (afisha [i]. name,afisha [i+1]. name) >0)

{=afisha [i];[i] =afisha [i+1];[i+1] =t;=1;

}-;(i=0; i<n; i++)

{(f,"%s",&afisha [i]. name);(f,"%s",&afisha [i]. film);(f,"%d",&afisha [i]. cena);(f,"%s",&afisha [i]. adres);(f,"%d",&afisha [i]. mesta);

}(f);("\n");("\n +---------------------+----------------+-----------------+-------+------------+");("\n | nazvanie kinoteatra | Nazvanie filma | Stoimost bileta | Adres | Kol-vo mest|");("\n +---------------------+----------------+-----------------+-------+------------+");(i=0; i<n; i++)

{("\n | %20s |%18s| %2d | %20s |%3d |",[i]. name,afisha [i]. film,afisha [i]. cena,afisha [i]. adres,afisha [i]. mesta);

}("\n +--------------------+----------------+-----------------+-------+------------+");

}(pr==1);();

}

/************************************************************/sort_1 (struct filmy afisha [M]) // sortirovka po nazvaniyu kinoteatra

{*f;=fopen ("1. txt","r");i,l,pr;t;=20-1;

{=0;(i=0; i<n; i++)(strcmp (afisha [i]. film,afisha [i+1]. film) >0)

{=afisha [i];[i] =afisha [i+1];[i+1] =t;=1;

}-;(i=0; i<n; i++)

{(f,"%s",&afisha [i]. name);(f,"%s",&afisha [i]. film);(f,"%d",&afisha [i]. cena);(f,"%s",&afisha [i]. adres);(f,"%d",&afisha [i]. mesta);

}(f);("\n");("\n +---------------------+----------------+-----------------+-------+------------+");("\n | nazvanie kinoteatra | Nazvanie filma | Stoimost bileta | Adres | Kol-vo mest|");("\n +---------------------+----------------+-----------------+-------+------------+");(i=0; i<n; i++)

{("\n | %20s |%18s| %2d | %20s |%3d |", afisha [i]. name,afisha [i]. film,afisha [i]. cena,afisha [i]. adres,afisha [i]. mesta);

}("\n +--------------------+----------------+-----------------+-------+------------+");

}(pr==1);();

}

/************************************************************/main () // Osnovnaya funkciya

{ int i,n;a;

{("\n 1. Vvod dannih iz faila");("\n 2. Maximalnaya stoimost bileta");("\n 3. Minimalnaya stoimost bileta");("\n 4. Kinoteatr s maximalnym kol-vom mest");("\n 5. Kinoteatr s minimalnym kol-vom mest");("\n 6. Poisk po naimenvaniyu kinoteatra");("\n 7. Sortirovka po nazvaniyu kinoteatra");("\n 8. Sortirovka po nazvaniyu filma");("\n-------------------------------------------------");("\n 0. Exit\n");("\n");("Vash vibor: ");=getchar ();(a)

{'1': IzFaila (afisha);;'2': stoimost (afisha);;'3': stoimosti (afisha);;'4': kin_max (afisha);;'5': kin_min (afisha);;'6': poisk (afisha);;'7': sort (afisha);;'8': sort_1 (afisha);;

}

}(a! ='0');(0);

}


Содержание Введение 1. Постановка задачи 1.1 Исходные данные 1.2 Результаты 1.3 Связь 2. Техническое проектирование 2.1 Метод решения

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ