Агентство по организации концертов и праздников.
Структуры данных в С++

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Оглавление

Введение

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труктуры в С++

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

/

/

Да Нет

Основные концепции:

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

· Структура состоит из одной или нескольких частей данных, называемых элементами.

· Для определения структуры внутри программы следует указать имя структуры и ее элементы.

· Каждый элемент структуры имеет тип, например 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 работник сфера услуг время работыnn";

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 Название услуги Количество часов Стоимость nn";

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 Название программы Пояснение Продолжитеьность nn";

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-40 484. html

ПоказатьСвернуть
Заполнить форму текущей работой