Агентство по организации концертов и праздников. Структуры данных в С++
Создание базы данных предоставляемых услуг и персонала агентств по организации концертов и праздников, отбор и вывод данных, связанных с культурно-досуговыми мероприятиями. Разработка алгоритма и реализация программы на языке программирования С++.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.01.2014 |
Размер файла | 262,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Оглавление
Введение
1. Входные и выходные данные
2. Разработка алгоритма с помощью блок-схем
3. Структуры С++
4. Реализация программы на языке программирования С++
5. Тестирование программы в программной среде Borland C++ for Windows
Список использованных источников
Введение
Данная программная разработка может применяться в агентствах по организации концертов и праздников для целей управления персоналом, а так же услугами по организации и проведению культурно-досуговых и культурно-зрелищных мероприятий. Разработана на языке С++, реализована в программе Borland C++ для Windows, может быть использована в операционных системах семейства Windows.
Цель - создание базы данных предоставляемых услуг и персонала, отбор и вывод данных, связанных с реализацией культурно-досуговых мероприятий.
Задачи:
1. Определение входных и выходных данных
2. Разработка алгоритма, представление его в виде блок схемы
3. Разработка программы на языке программирования С++
4. Реализация программы (написание программы в среде Borland C++ для Windows)
5. Тестирование программы и компиляция программы, ввод данных
6. Отбор данных по определенному условию, вывод данных
1. Входные и выходные данные
Входные данные - вид услуги, часы проведения мероприятия, длительность услуги, выходные данные - отдельно выводятся сведения о стоимости услуги.
Входные данные можно представить в виде таблицы
Таблица 1
Наименование |
Ф.И.О. работника |
Сфера услуг |
Часы работы |
Место нахождения работника |
|
Тип данных |
текстовый |
текстовый |
текстовый |
числовой |
|
Область допустимых значений |
любые текстовые данные |
любые текстовые данные по определенному шаблону |
любые текстовые данные по определенному шаблону |
1-работник свободен, 0-работник на вызове |
|
Максимальное количество символов |
50 |
50 |
6 |
- |
Выходные данные -сведения об оказываемых услугах и их стоимости . Для отбора данных используется следующие условия:
1) Если место нахождения работника равно 1, то он свободен
2) Если место нахождения работника равно 0, то работник находится на вызове
2. Разработка алгоритма с помощью блок-схем
Блок-схемой называют графическое представление алгоритма, в котором он изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий.
Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:
* линейные;
* ветвящиеся;
* циклические.
Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
Линейные вычислительные процессы имеют место, например, при вычислении арифметических выражений, когда имеются конкретные числовые данные и над ними выполняются соответствующие условию задачи действия.
Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Каждое отдельное направление процесса обработки данных является отдельной ветвью вычислений. Ветвление в программе -- это выбор одной из нескольких последовательностей команд при выполнении программы. Выбор направления зависит от заранее определенного признака, который может относиться к исходным данным, к промежуточным или конечным результатам. Признак характеризует свойство данных и имеет два или более значений.
Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей -- сложным. Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов.Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» -- условие выполнено и «нет» -- условие не выполнено.
Циклическими называются программы, содержащие циклы. Цикл -- это многократно повторяемый участок программы.
В организации цикла можно выделить следующие этапы:
* подготовка (инициализация) цикла (И);
* выполнение вычислений цикла (тело цикла) (Т);
* модификация параметров (М);
* проверка условия окончания цикла (У).
Порядок выполнения этих этапов, например, Т и М, может изменяться. В зависимости от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями. Для цикла с нижним окончанием тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла с верхним окончанием тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода.
Алгоритм задачи представлен ниже
3. Cтруктуры в С++
Если в программе требуется хранить связанную информацию разных типов, она может использовать структуру. Структура представляет собой переменную, группирующую связанные части информации, называемые элементами, типы которых могут различаться. Группируя данные в одну переменную подобным образом, программы упрощаются, снижая количество переменных, которыми необходимо управлять, передавать в функции и т.д.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Да Нет
Основные концепции:
· Структуры позволяют программам группировать в одной переменной связанные данные, типы которых могут различаться.
· Структура состоит из одной или нескольких частей данных, называемых элементами.
· Для определения структуры внутри программы следует указать имя структуры и ее элементы.
· Каждый элемент структуры имеет тип, например char, int и float, и имя каждого элемента должно быть уникальным.
· После того как программа определит структуру, она может объявить переменные типа этой структуры.
· Для изменения элементов структуры внутри функции программы должны передать структуру в функцию с помощью адреса.
4. Реализация программы на языке программирования С++
Программа представлена в файлах agenstvo.cpp и agenstvo. exe после компиляции). Ниже представлен текст программы.
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
struct agenstvo//описание структуры
{
char rabotnik[50];
char sfera_uslug[50];
char chas_rabot;
int mesto;
};
int main()
{
const n=10;
int i;
agenstvo s[n];
for(i=0;i<=n-1;i++)//цикл для ввода данных структуры
{
cout<<" Введите работника\n";
cin>>s[i].rabotik;
cout<<" Введите сферу услуг\n";
cin>>s[i].sfera_uslug;
cout<<" Введите часы работы\n";
cin>>s[i].chas_rabot;
cout<<" Место\n";
cin>>s[i].mesto;
cout<<"\n";
}
cout<<"\n работник сфера услуг время работы\n\n";
for(i=0;i<=n-1;i++)//цикл для выводы данных структуры
cout<<s[i].rabotnik<<" "<<s[i].sfera_uslug<<" "<<s[i].chas_rabot<<endl;
cout<<"Свободен\n";//вывод на экран условия отбора
for(i=0;i<=n-1;i++)//цикл для вывода данных по условию отбора
{
if(s[i].mesto!=1)
cout<<s[i].rabotnik<<" "<<s[i].sfera_uslug<<" "<<s[i].chas_rabot<<endl;
}
cout<<"На работе\n";//вывод на экран условия отбора
for(i=0;i<=n-1;i++) //цикл для вывода данных по условию отбора
{if(s[i].mesto!=0)
cout<<s[i].rabotnik<<" "<<s[i].sfera_uslug<<" "<<s[i].chas_rabot<<endl;
}
}
база данный концерт праздник
5. Тестирование программы в программной среде Borland C++ for Windows
Таблица 2
Наименование |
Услуга |
Часы |
Стоимость |
Заказ |
|
Тип данных |
текстовый |
текстовый |
текстовый |
числовой |
|
Область допустимых значений |
любые текстовые данные |
любые текстовые данные по определенному шаблону |
любые текстовые данные по определенному шаблону |
1-услуга заказана, 0-услуга не заказана |
|
Максимальное количество символов |
50 |
5 |
6 |
- |
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
struct agenstvo
{
char nazvanie_uslug[50];
int kolvo_chasov;
long int stoimost;
int zakazano;
};
int main()
{
const n=5;
int i;
agenstvo s[n];
for(i=0;i<=n-1;i++)
{
cout<<" Введите название услуги\n";
cin>>s[i].nazvanie_uslug;
cout<<" Введите количество часов\n";
cin>>s[i].kolvo_chasov;
cout<<" Введите стоимость\n";
cin>>s[i].stoimost;
cout<<" Заказано\n";
cin>>s[i].zakazano;
cout<<"\n";
}
cout<<"\n Название услуги Количество часов Стоимость \n\n";
for(i=0;i<=n-1;i++)
cout<<s[i].nazvanie_uslug<<""<<s[i].kolvo_chasov<<"
"<<s[i].stoimost<<endl;
cout<<"да\n";
for(i=0;i<=n-1;i++)
{
if(s[i].zakazano!=1)
cout<<s[i].nazvanie_uslug<<""<<s[i].kolvo_chasov<<"
"<<s[i].stoimost<<endl;
}
cout<<"нет\n";
for(i=0;i<=n-1;i++)
{if(s[i].zakazano!=0)
cout<<s[i].nazvanie_uslug<<""<<s[i].kolvo_chasov<<"
"<<s[i].stoimost<<endl;
}
}
Таблица 3
Наименование |
Программа |
Пояснение |
Продолжительность |
Заказ |
|
Тип данных |
текстовый |
текстовый |
текстовый |
числовой |
|
Область допустимых значений |
любые текстовые данные |
любые текстовые данные по определенному шаблону |
любые текстовые данные по определенному шаблону |
1-услуга заказана, 0-услуга не заказана |
|
Максимальное количество символов |
50 |
50 |
5 |
- |
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
struct agenstvo
{
char nazvanie_programm[50];
char pojasnenie[50];
int prodolgitelnost;
int zakazano ;
};
int main()
{
const n=5;
int i;
agenstvo s[n];
for(i=0;i<=n-1;i++)
{
cout<<" Введите название программы\n";
cin>>s[i].nazvanie_programm;
cout<<" Введите пояснение\n";
cin>>s[i].pojasnenie;
cout<<" Введите продолжительность\n";
cin>>s[i].prodolgitelnost;
cout<<" Заказано\n";
cin>>s[i].zakazano;
cout<<"\n";
}
cout<<"\n Название программы Пояснение Продолжитеьность \n\n";
for(i=0;i<=n-1;i++)
cout<<s[i].nazvanie_programm<<" "<<s[i].pojasnenie<<"
"<<s[i].prodolgitelnost<<endl;
cout<<"да\n";
for(i=0;i<=n-1;i++)
{
if(s[i].zakazano!=1)
cout<<s[i].nazvanie_programm<<" "<<s[i].pojasnenie<<"
"<<s[i].prodolgitelnost<<endl;
}
cout<<"нет\n";
for(i=0;i<=n-1;i++)
{if(s[i].zakazano!=0)
cout<<s[i].nazvanie_programm<<" "<<s[i].pojasnenie<<"
"<<s[i].prodolgitelnost<<endl;
}
}
Список использованных источников
1. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство; Высшая школа, 2001. - 432 с.
2. С/С++. Программирование на языке высокого уровня / Т.А. Павловская. - Спб.: Питер, 2012. - 461 с.
3. Павловская Т.А., Щупак Ю.А. С/С++. Структурное и объектно-ориентированное программирование: Практикум.- Спб.: Питер, 2011. - 352 с.
4. http://www.programmersclub.ru/18/
5. http://lib.znate.ru/docs/index-40484.html
Размещено на Allbest.ru
Подобные документы
Разработка программы, создающей и управляющей базой данных, ее реализация на языке Turbo Pascal. Организация алгоритма программы. Вывод информации и возможность добавления информации в базу данных. Поиск информации в базе данных по заданному значению.
курсовая работа [26,7 K], добавлен 19.06.2010Особенности проектирования программы на языке С++ для обработки данных из таблиц базы данных. Основные функции программы, создание концептуальной модели базы данных и диаграммы классов, разработка интерфейса пользователя и запросов к базе данных.
курсовая работа [2,1 M], добавлен 08.06.2012Разработка структуры базы данных для хранения дипломных проектов в среде объектно-ориентированного программирования Python. Создание внешнего вида окон ввода-вывода информации, технологии переходов. Листинг программы с пояснениями; направления улучшения.
курсовая работа [3,1 M], добавлен 27.02.2015Создание на языке C базы данных "Стадионы города", требования к программе. Осуществление загрузки базы данных в массив и вывод главного меню в основной программе. Алгоритм работы программы в виде блок-схемы. Описание функций программы и ее листинг.
курсовая работа [183,6 K], добавлен 06.10.2010Процедура ввода исходных данных в программу, вывод результатов работы программы на экран. Принцип организации хранения логически связанных наборов информации в виде файлов. Параметры характеристики файла, способы обращения к нему, соглашения по типу.
реферат [14,5 K], добавлен 06.12.2011Разработка программы для учета услуг на предприятии и хранения данных о сотрудниках и заказчиках. Анализ и состав входящей и исходящей информации. Структура базы данных, выполнение запросов. Система управления базами данных, принципы их организации.
курсовая работа [1,7 M], добавлен 06.12.2012Создание набора классов, реализующих функции генерации метаданых для заданного файла данных спутника MTSAT-1R. Существующие методы решения. Реализация алгоритма получения необходимых полей с нужными данными. Разработка структуры базы данных инвентаря.
курсовая работа [38,6 K], добавлен 17.07.2009Возможности извлечения информации из баз данных. Программы для создания и обработки базы данных и создания пользовательского интерфейса. Обоснование выбора программных средств для реализации. Создание базы данных, интерфейса и базы данных к интерфейсу.
курсовая работа [2,9 M], добавлен 24.03.2023Создание базы данных, содержащей сведения о напильниках. Вывод данных об инструменте, номер насечки которых равен 2.Использование переменных типа "запись" при работе с базами данных. Решение задачи с использованием Microsoft Excel. Алгоритм программы.
курсовая работа [33,3 K], добавлен 08.03.2013Создание базы данных и СУБД. Структура простейшей базы данных. Особенности языка программирования Турбо Паскаль. Описание типов, констант, переменных, процедур и функций. Описание алгоритма базы данных (для сотрудников ГИБДД), листинг программы.
курсовая работа [26,3 K], добавлен 26.01.2012