Разработка программы модульной структуры для создания и обработки внешнего файла

Проведение исследования режимов открытия файлов. Основные этапы проектирования программных продуктов. Формирование главных достоинств метода пошаговой детализации. Особенность проектирования "снизу вверх". Характеристика изучения таблицы цветов.

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

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

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

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

Введение

Из всех объектно-ориентированных языков С++ наиболее употребительный и является языком общего назначения и задуман для того, чтобы настоящие программисты получили удовольствие от самого процесса программирования. Как средство программирования этот язык очень эффективен, т.к. имеет большой набор возможностей.

С++ поддерживает указатели на переменные и функции. Указатель на объект программы соответствует машинному адресу этого объекта. Посредством разумного использования указателей можно создавать эффективно выполняемые программы, т.к. указатели позволяют ссылаться на объекты тем же самым путем, как это делает ЭВМ. С++ поддерживает арифметику указателей, и тем самым позволяет осуществлять непосредственный доступ и манипуляции с адресами памяти.

Цель данной курсовой работы приобрести навыки программирования на языке высокого уровня C++ путём изучения необходимых материалов и решения поставленной задачи. Программа должна правильно решать задачу, но и иметь современный и понятный интерфейс, быть высоконадёжной, дружественной по отношению к пользователю.

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

Некоторые существенные особенности языка С++:

- С++ обеспечивает полный набор операторов структурного программирования;

- С++ предлагает необычно большой набор операций. Многие операции С++ соответствуют машинным командам и поэтому допускают прямую трансляцию в машинный код. Разнообразие операций позволяет выбирать их различные наборы для минимизации результирующего кода;

С++ поддерживает указатели на переменные и функции. Указатель на объект программы соответствует машинному адресу этого объекта. Посредством разумного использования указателей можно создавать эффективно выполняемые программы, т.к. указатели позволяют ссылаться на объекты тем же самым путем, как это делает ЭВМ. С++ поддерживает арифметику указателей, и тем самым позволяет осуществлять непосредственный доступ и манипуляции с адресами памяти.

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

1. Указатели и структуры

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

Для переменных-структур разрешены только три операции:

1) Получение адреса переменной-структуры с помощью оператора адресации (&);

2) Получение доступа к одному из членов переменной-структуры;

3) Присвоение одной структуры другой посредством операции присвоения.

Указатели на структуры используются в двух случаях:

1) когда структура передается функции с помощью вызова по ссылке,

2) когда создаются связанные друг с другом списки и другие структуры с динамическими данными.

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

Чтобы получить адрес переменной-структуры, необходимо перед ее именем поместить оператор &.

Например: struct ball

{int gol;

char fam[20];

} person;

struct ball *p; // объявление указателя на структуру

p=&person; // присвоение адреса структуры person указателю p:

Для доступа к элементам структуры при работе с самой структурой используется оператор точка. При использовании указателя на структуру надо применять оператор стрелка (->).

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

1.1 Структуры

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

Отдельные переменные в структуре называются членами, а имя структуры - тэгом. Обычно члены структуры связаны друг с другом по смыслу.

Структуры определяются следующим образом:

Случай 1: struct <имя_типа>

{ определение элементов

(<тип> <имя_переменной>;)

};

Случай 2:struct

{ определение элементов

(<тип> <имя_переменной>;)

};

<переменные_структурного_типа;>

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

Переменные, являющиеся элементом типа структуры, могут использоваться так же, как и любые другие переменные. Для этого необходимо применять оператор членства: <имя_структуры>.<имя_члена> . Например: дана структура ball и переменная fam. Операция присвоение в данном случае будет иметь вид: ball.fam=Alexei.

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

Для примера рассмотрим программку:

#include <stdio.h>

int main(void)

{ struct

{int a;

int b;

} lx, ly;

lx.a = 65;

y = x; // присвоение одной структуры другой

printf("%d", y.a);

}

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

1.2 Работа с файлами

FILE *fopen(const char * filename, const char *mode);

Функция fopen() открывает файл и инициализирует связанный с ним поток данных. Аргумент mode устанавливает режим открытия файла (Таблица. 2).

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

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

Таблица 1 Режимы открытия файлов.

Режим

Описание

R

Файл открывается только для чтения

w

Файл открывается только для записи с усечением. Если файл не существует, он создается в каталоге, заданном в параметре filename. Указатель записи-чтения устанавливается в нуль. После закрытия файл имеет новый размер, соответствующий текущему положению указателя записи-чтения

а

Файл открывается для пополнения, т.е. после его открытия указатель записи-чтения устанавливается на позицию конца файла

r+

Файл открывается для обновления. Он доступен для чтения и записи, но после закрытия не происходит усечения файла. Сразу после открытия указатель записи-чтения устанавливается в начало файла

w+

Файл открывается для обновления, т.е. доступен для чтения и записи. Если файл не существует, он создается в каталоге, заданном в параметре filename. Указатель записи-чтения устанавливается в нуль. После закрытия файл имеет новый размер, соответствующий текущему положению указателя записи-чтения

а+

Файл открывается для обновления, т.е. доступен для чтения и записи. После его открытия указатель записи-чтения устанавливается в позицию конца файла. После закрытия файла не происходит его усечения

int fprintf (FILE *stream, const char *format...);

Функция формирует по заданным аргументам символьную строку, которая записывается в поток stream. Форматирование символьной строки происходит таким же образом, как и в функции printf().

Параметр Описание stream Указатель на структуру FILE потока данных format Символьная строка формата (см. printf())

... Переменное число аргументов

Возвращаемое значение: число записанных в поток символов. В случае ошибки возвращается отрицательное значение (чаще всего EOF (WEOF)).

int fscanf (FILE *stream, const char *format, ...);

Функция считывает данные из потока данных stream. Она использует аргумент format для преобразования считываемых символов по заданному формату. Следующие аргументы являются указателями на переменные, которым присваиваются вводимые значения.

Возвращаемое значение: число успешно преобразованных и присвоенных полей либо EOF в случае попытки считывания конца файла

int fputc(int character, FILE *stream);

Функция выводит отдельный символ из потока ввода-вывода.

Возвращаемое значение: записанный в поток символ или EOF в случае ошибки.

int fputs(const char*string, FILE *stream);

Функция записывает символьную строку в поток данных. Перенос завершается при достижении символа конца строки '\0'. Сам нуль-терминатор в файл не передается и не заменяется символом '\n'.

Возвращаемое значение: код последнего записанного в файл символа. В случае ошибки возвращается EOF.

int fgetc(FILE*stream);

Функция считывает символ из потока stream. После считывания указатель записи-чтения файла устанавливается в новую позицию.

Возвращаемое значение: считанный символ в виде целого беззнакового значения типа int; EOF означает ошибку или конец файла.

char*fgets(char *string, int n, FILE*stream);

Функция считывает строку из потока stream до тех пор, пока не будут считаны n символов, либо символ конца строки '\n', либо символ конца файла. Символ '\n' не передается в считанную строку. Функция автоматически дополняет полученную строку нуль-терминатором '\0'.

Возвращаемое значение: указатель на string, а в случае ошибки или при получении символа конца файла -- NULL-указатель.

size_t fread(void*buffer, size_t size, size_t nelem, FILE* stream);

Функция считывает nelem элементов размером size байт каждый в область памяти, на которую указывает buffer, из открытого потока stream.

Возвращаемое значение: количество безошибочно считанных элементов данных.

size_t fwrite(const void *buffer, size_t size, size_t nelem, FILE *stream);

Функция записывает в поток stream nelem элементов данных размером size байтов каждый из области памяти, на которую указывает buffer. После записи указатель записи-чтения потока устанавливается на новое место. Если поток открыт в текстовом режиме, то каждый символ '\n' преобразуется в пару символов: перевода строки и возврата каретки.

Возвращаемое значение: число фактически записанных элементов данных.

int fseek(FILE *stream, long offset, int from_where);

Функция передвигает указатель записи-чтения файла на заданное аргументом offset количество байтов. Аргумент from_where задает точку отсчета для сдвига.

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

* Для файлов, открытых в текстовом режиме, количество байтов смещения должно вычисляться с помощью функции ftell(), причем аргумент from_where должен быть равен SEEK_SET. Для аргумента from_where могут быть заданы три различные константы.

SEEK_CUR сдвиг выполняется от текущей позиции указателя чтения-записи файла

SEEK_END сдвиг выполняется от конца файла SEEK_SET сдвиг выполняется от начала файла.

Возвращаемое значение: нуль в случае успеха, в противном случае -- любое ненулевое значение.

long ftell(FILE *stream);

Функция возвращает текущее значение указателя записи-чтения файла, связанного с потоком stream.

Возвращаемое значение: текущая позиция указателя записи-чтения файла.

1) Если файл открыт в двоичном режиме, функция возвращает число байтов от начала файла до текущей позиции.

2) Если файл открыт в MS DOS текстовом режиме, то каждый символ '\n' преобразуется в пару символов: перевода строки и возврата каретки (CR/LF). В этом случае значение, возвращаемое ftell(), не соответствует физическому байтовому смещению. В случае ошибки возвращаемым значением является 1L.

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

#include <iostream.h>

#include <stdio.h>

void main( void )

{

FILE *file;

char* file_name = "file.txt";

char load_string[50] = "none";

file = fopen( file_name, "w" );

//открываем файл с именем file.txt на запись

fputs( "string", file ); // записываем в него слово string

fclose( file ); //закрываем файл

file = fopen( file_name, "r" );

// открываем этот же файл на чтение

if( file != 0 )

//если файл был действительно открыт, т.е. указатель file содержит адрес

//открываемого файла и, следовательно, не равен 0, то

{

fgets( load_string, 50 , file );

//считываем из файла строку длиной 50 в переменную load_string символов

// из открытого файла (указатель на него file)

cout << "load_string = " << load_string << endl;

// выводим считанную строку на экран

}

else

cout << "File not found !!!" << endl;

// иначе (если файл не был открыт) - сообщаем об ошибке

fclose(file); // закрываем файл

}

1.3 Этапы проектирования программных продуктов

Основные этапы проектирования программных продуктов:

1. Составление технического задания на программирование

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

· определить платформу разрабатываемой программы - тип операционной системы;

· определить необходимость разработки программы, которую можно переносить на различные платформы;

· выбрать методы решения задачи;

· разработать обобщенный алгоритм решения комплекса задач, функциональную структуру алгоритма или состав объектов;

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

На данном этапе выполняется комплекс наиболее важных работ, а именно:

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

· определяется состав общесистемного программного обеспечения, включающий базовые средства;

· разрабатывается внутренняя структура программного продукта, образованная отдельными программными модулями;

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

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

1.4 Метод пошаговой детализации

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

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

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

Технология нисходящего проектирования с пошаговой детализацией является неотъемлемой частью создания хорошо структурированных программ. Разработка алгоритма методом пошаговой детализации заключается в следующем:

Любой алгоритм можно представить в виде одного предписания - в виде постановки задачи. Но если исполнитель не обучен исполнять заданное предписание, то возникает необходимость представить данное предписание в виде некоторой совокупности более простых предписаний. Если исполнитель не может выполнить и некоторые из них, то такие предписания вновь представляются в виде совокупности еще более простых предписаний. Объединяя так полученные предписания в единую совокупность выполняемых в определенном порядке предписаний получают выполнение исходного задания в целом.

Достоинства метода пошаговой детализации:

1. Сохраняется концептуальная целостность программы: от сложного к простому.

2. Проектирование программы, кодирование, проверку и документирование можно делать параллельно.

3. В каждый момент времени (даже в начале разработки) имеется работающий вариант программы.

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

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

При разработке алгоритмов обычно используют метод пошаговой детализации (поэтапно):

1. На первом этапе описываются решения поставленной перед программой задачи, выделяются подзадачи.

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

1.5 Проектирование «снизу вверх»

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

Несмотря на кажущуюся простоту, такой порядок проектирования применяется крайне редко и только при создании сборок, состоящих из небольшого количества деталей. Это вызвано тем, что форма и размеры деталей в сборках всегда взаимосвязаны. Для моделирования отдельных деталей с целью последующей их «сборки» требуется точно представлять их взаимное положение и топологию изделия в целом, вычислять, помнить (или специально записывать) размеры одних деталей для того, чтобы в зависимости от них устанавливать размеры других деталей.

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

1.6 Заголовочные файлы

Директива препроцессора (инструкция записанная и выполняемая препроцессором) #include подключает заголовочные файлы. Заголовочные файлы содержат прототипы функций, которые сообщают компилятору информацию о синтаксисе функции.

Рассмотрим основные и часто используемые заголовочные файлы.

1.7 <stdio.h>

(от англ. standard input/output header -- стандартный заголовочный файл ввода/вывода) заголовочный файл стандартной библиотеки языка С, содержащий определения константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода. Функции, объявленные в stdio.h, гарантируют работу на любой платформе, поддерживающей С.

main() - имя основной программы, которое всегда присутствует.

void main() - признак того, что программа не возвращает конкретного значения.

{ } - скобки, ограничивающие тело программы.

printf() - функция ввода (вывода) данных, находящихся в круглых скобках.

printf(“управляющая строка”, список аргументов)

Например: printf(“\n сумма чисел=%-5.3f”, S);

scanf() - функция ввода данных.

scanf(“форматная строка”, список аргументов)

Например: scanf(“%f %f %d”,&a,&b,&x);

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

1.8 <iostream.h>

(от англ. Input/Output Stream - поток ввода-вывода)

заголовочный файл с классами, функциями и переменными для организации потокового ввода-вывода в языке программирования C++. Он включён в стандартную библиотеку C++.

cin - стандартный поток ввода с клавиатуры. cin>> “переменная”.

Например: cin>>x.

cout - стандартный поток вывода на экран. cout<<”управляющая строка”

Например: cout<<a+b;

cout<<”\n Результат;”<<y;

cout<<”x=”<<x<<”y=”<<y<<endl;

Некоторые новые компиляторы (компилятор Visual C++) старые библиотеки <iostream.h> больше не поддерживают, вместо них нужно использовать #include <iostream>.

1.9 <conio.h>

(от англ. console input-output -- консольный ввод-вывод) заголовочный файл, используемый для создания текстового интерфейса пользователя.

Он объявляет несколько библиотечных функций для работы с «консольным вводом и выводом» программы.

textbackground (int bkcolor) - устанавливает цвет фона текста в диапозоне от 0 до 7.

Таблица 2.

Символические константы

Числовые значения

Цвет

BLACK

0

Черный

BLUE

1

Синий

GREEN

2

Зеленый

CYAN

3

Голубой

RED

4

Красный

MAGENTA

5

Малиновый

BROWN

6

Коричневый

LIGHTGRAY

7

Светло-серый

textcolor (int txcolor) - устанавливает цвет символов в текстовом режиме.

1.10 Таблица цветов

Допустимые цвета (как символические константы) и их численные значения для цвета символов текста.

clrscr() - очищает экран.

window(x1,x2,y1,y2) - устанавливает окно для экрана.

getch() - выводит результат на экран непосредственно после выполнения программы.

Таблица.3.

Символические константы

Числовые значения

Цвет

BLACK

0

Черный

BLUE

1

Синий

GREEN

2

Зеленый

CYAN

3

Голубой

RED

4

Красный

MAGENTA

5

Малиновый

BROWN

6

Коричневый

LIGHTGRAY

7

Светло-серый

DARKGRAY

8

Темно-серый

LIGHTBLUE

9

Светло-голубой

LIGHTGREEN

10

Светло-зеленый

LIGHTCYAN

11

Светло-циановый

LIGHTRED

12

Светло-красный

LIGHMAGENTA

13

Светло-малиновый

YELLOW

14

Желтый

WHITE

15

Белый

BLINK

128

Мерцающий

2. Практическая часть

Цель: Разработать программу модульной структуры, для создания и обработки внешнего файла в соответствии с вариантом задания.

Программа должна выполнять в общем три задачи: 1. Создание файла. 2. Чтение данных из файла. 3. Вывод данных на экран дисплея. 4. Обработка данных по заданию. Все полученные результаты отобразить на экране.

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

1. Ввод и контроль данных; (задание А)

2. Обработку данных; (задание Б)

3. Сервисная работа с файлами;

4. Отображение данных;

5. Сервисная работа по созданию удобного интерфейса.

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

Задание.

А. Создать файл, содержащий сведения о наличии билетов и рейсах Аэрофлота. Структура записи - номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в самолете. Количество записей

-25

Б. Найти:

· время отправления самолетов в город Х

· наличие свободных мест на рейс в город Х с временем отправления Y;

Значения X, Y, Z, XX - вводятся по запросу с клавиатуры.

2.1 Содержание базы данных

Номер рейса

Пункт назначения

Время вылета

Время прибытия

Кол-во свободных мест

1

1

Москва

07:00

12:23

0

2

2

Санкт-Петербург

07:15

13:20

1

3

3

Пермь

07:25

10:00

2

4

4

Улан-Удэ

13:00

18:05

0

5

5

Каир

15:50

23:20

2

6

6

Брюссель

17:05

03:23

3

7

7

Минск

08:45

15:45

4

8

8

Бразилиа

20:00

05:22

3

9

9

Лондон

21:13

07:50

0

10

10

Будапешт

09:25

16:56

0

11

11

Афины

16:20

23:50

0

12

12

Нью-Дели

18:56

04:23

3

13

13

Рим

15:05

21:50

10

14

14

Найроби

19:54

09:45

1

15

15

Бишкек

14:23

19:24

14

16

16

Пекин

08:56

16:02

3

17

17

Гавана

06:56

18:08

4

18

18

Москва

10:11

15:48

4

19

19

Лондон

11:05

20:00

0

20

20

Каир

12:00

08:15

4

21

21

Пекин

22:00

12:00

10

22

22

Боро-Боро

23:22

11:20

0

23

23

Афины

15:26

22:55

3

24

24

Монако

12:33

18:56

2

25

15

Париж

11:23

08:05

1

2.2 Листинг основной программы

#include "stdafx.h"

# include <string.h>

# include <cstring>

# include <iomanip>

# include <stdio.h>

# include <conio.h>

# include <iostream>

# include <windows.h>

# include <dos.h>

# include <fstream>

# include <math.h>

# include <wchar.h>

# include <stdlib.h>

# include <algorithm>

# include <locale.h>

using namespace std;

void outputmenu();

void vvod_dannix();

void mesto();

void spisok();

//void chislo();

void dannie();

FILE *f;

int r, i, v, z, q, A, B, min, X, k;

int n = 25;

char S, h[100];

char naz[10], vilet[10], avt, vrema[10];

struct aeroflot

{

char naznachenie[70];

//char nazvanie[50];

int nomer_reisa;

char vilet[10];

char pribitie[10];

int svobodnie_mesta;

};

aeroflot aerofl[25];

void gotoxy(int xpos, int ypos)

{

COORD scrn;

HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);

scrn.X = xpos; scrn.Y = ypos;

SetConsoleCursorPosition(hOuput, scrn);

}

int main()

{

int FF;

do

{

outputmenu();

gotoxy(5, 8);

cout << " Выбирите пункт: ";

cin >> FF;

system("cls");

switch (FF)

{

case 1: vvod_dannix(); break;

case 2: mesto(); break;

case 3: spisok(); break;

//case 4: chislo(); break;

case 4: dannie(); break;

}

} while (FF != 6);

return 0;

}

Рис. 1. Основное меню.

2.3 Листинг подпрограммы outputmenu

void outputmenu()

{

int ff;

char gg;

setlocale(LC_ALL, "Russian");

system("cls");

system("cls");

gotoxy(5, 2);

printf_s("1) Введите данные о рейсах Аэрофлота");

gotoxy(5, 3);

printf_s("2) Время отправления самолётов ");

gotoxy(5, 4);

printf_s("3) Наличие свободных мест ");

gotoxy(5, 5);

/*printf_s("4) Число книг издания в библиотеке");

gotoxy(5, 6);*/

printf_s("4) Вывести все рейсы");

gotoxy(5, 7);

printf_s("5) Выход");

}

Рис.2. Ввод данных.

2.4 Листинг подпрограммы ввода данных

void vvod_dannix()

{

gotoxy(19, 6);

if (f)

delete[] f;

f = fopen("D:\\test.txt", "w");

system("cls");

z = 1;

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

{

gotoxy(19, 6);

printf_s("Для выхода в главное меню нажмите ESC \n\t\t Для продолжения нажмите Enter \n\n");

if (_getch() == 27)

{

i = n;

outputmenu();

}

else

{

system("cls");

gotoxy(1, 2);

cout << "-------------------------------------------------------------------------------";

gotoxy(27, 3);

printf_s("Ввод данных %d рейса\n", z);

cout << "-------------------------------------------------------------------------------";

gotoxy(2, 5);

printf_s(" Введите номер рейса | ");

//scanf_s("%s", aerofl[i].nomer_reisa);

cin >> aerofl[i].nomer_reisa;

cout << "---------------------------------|---------------------------------------------";

gotoxy(2, 7);

printf_s(" Введите пункт назначение | ");

scanf_s("%s", aerofl[i].naznachenie, 70);

cout << "---------------------------------|---------------------------------------------";

gotoxy(2, 9);

printf_s(" Время вылета | ");

scanf_s("%s", aerofl[i].vilet, 10);

//cin >> aerofl[i].vilet;

cout << "---------------------------------|---------------------------------------------";

gotoxy(2, 11);

printf_s(" Время прибытия | ");

scanf_s("%s", aerofl[i].pribitie, 10);

//cin >> aerofl[i].pribitie;

cout << "---------------------------------|---------------------------------------------";

gotoxy(2, 13);

printf_s(" Количество свободных мест | ");

cin >> aerofl[i].svobodnie_mesta;

cout << "---------------------------------|---------------------------------------------";

/*gotoxy(2, 15);

printf_s(" Номер шкафа | ");

cin >> bibl[i].nomer_skafa;

cout << "-----------------------------------------------------------------------";*/

cout << "\n\n Записываю в файл ожидайте.";

system("pause");

system("cls");

fwrite(&aerofl[i], sizeof(struct aeroflot), 1, f);

z++;

if (i == n - 1)

{

gotoxy(20, 10);

cout << "Поздравляю файл успешно записан!\n";

system("pause");

}

}

}

fclose(f);

}

Рис.3. ввода данных.

2.5 Листинг подпрограммы пункт назначения

void mesto()

{

z = 1;

q = 0;

v = 4;

f = fopen("D:\\test.txt", "r");

i = 0;

while (1)

{

if (!fread(&aerofl[i], sizeof(struct aeroflot), 1, f))

{

cout << "end";

break;

} i++;

}

system("cls");

printf_s(" Введите пункт назначения | ");

scanf_s("%s", &naz, 30);

cout << "--------------------------------------------|----------------------------------";

/*gotoxy(2, 6);

printf_s(" Введите название | ");

scanf_s("%s", &naz, 50);*/

cout << "Для начала поиска нажмите Enter";

_getch();

system("cls");

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

{

if ((strcmp(aerofl[i].naznachenie, naz) == 0)) /*&& (strcmp(bibl[i].nazvanie, naz) == 0))*/

{

gotoxy(1, 1);

cout << "-------------------------------------------------------------------------------";

gotoxy(32, 2);

printf("Результат поиска: ");

gotoxy(1, 3);

cout << "-----------------------------------------------------------------------------";

gotoxy(4, 17);

printf("Нажмите ENTER для просмотра следующей части списка \n или Esc для выхода в главное меню\n");

gotoxy(2, v);

cout << setw(4) << z << " |" << " Номер рейса : " << aerofl[i].nomer_reisa;

gotoxy(2, ++v);

cout << setw(5) << z << " |" << " Время отправления : " << aerofl[i].vilet;

gotoxy(3, ++v);

cout << setw(6) << z << " |" << " Пункт назначения : " << aerofl[i].naznachenie;

gotoxy(4, ++v);

/*cout << setw(7) << z << " |" << " Номер шкафа : " << bibl[i].nomer_skafa;

gotoxy(5, ++v);*/

cout << "---------------------------------------------------------------------------\n";

z++;

v++;

if (z % 3 == 0)

{

_getch() == 13;

v = 4;

}

}

else

q++;

}

if (i == q)

{

Рис.4. Результат поиска.

gotoxy(31, 4);

printf("Рейс не найден");

gotoxy(1, 5);

cout << "-------------------------------------------------------------------------------";

}

_getch();

}

2.6 Листинг подпрограммы список

void spisok()

{

int uu[25];

z = 1;

q = 0;

v = 4;

f = fopen("D:\\test.txt", "r");

i = 0;

while (1)

{

if (!fread(&aerofl[i], sizeof(struct aeroflot), 1, f))

{

cout << "end";

break;

} i++;

}

system("cls");

printf_s(" Введите пункт назначения | ");

scanf_s("%s", &naz, 30);

printf_s(" Введите время отправления | ");

scanf_s("%s", &vrema, 30);

cout << "--------------------------------------------|----------------------------------";

gotoxy(2, 6);

system("cls");

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

{

if (((strcmp(aerofl[i].naznachenie, naz) == 0)) && (strcmp(aerofl[i].vilet, vrema) == 0))

{

gotoxy(1, 1);

cout << "-------------------------------------------------------------------------------";

gotoxy(32, 2);

printf("Результат поиска:");

gotoxy(1, 3);

cout << "-----------------------------------------------------------------------------";

gotoxy(4, 17);

printf("Нажмите ENTER для просмотра следующей части списка книг\n или Esc для выхода в главное меню\n");

gotoxy(2, v);

cout << setw(4) << z << " |" << " Номер рейса : " << aerofl[i].nomer_reisa;

gotoxy(2, ++v);

cout << setw(5) << z << " |" << " Пункт назначения : " << aerofl[i].naznachenie;

gotoxy(3, ++v);

cout << setw(6) << z << " |" << " Время отправления : " <<aerofl[i].vilet;

gotoxy(4, ++v);

cout << setw(7) << z << " |" << " Количество свободных мест : " << aerofl[i].svobodnie_mesta;

gotoxy(5, ++v);

cout << "-----------------------------------------------------------------------------\n";

z++;

v++;

if (z % 3 == 0)

{

_getch() == 13;

v = 4;

}

}

else

q++;

}

if (i == q)

{

gotoxy(31, 4);

printf("Рейс не найден ");

gotoxy(1, 5);

cout << "-------------------------------------------------------------------------------";

}

_getch();

}

Рис.7. Результат поиска.

2.7 Листинг подпрограммы вывести все рейсы

void dannie()

{

q = 1;

z = 4;

f = fopen("D:\\test.txt", "r");

i = 0;

while (10)

{

if (!fread(&aerofl[i], sizeof(struct aeroflot), 1, f))

{

printf_s(" ");

break;

}

gotoxy(4, 15);

printf_s("Нажмите ENTER для просмотра следующей части \n");

gotoxy(2, 2);

cout << setw(11) << "Номер рейса" << setw(13) << "Пункт назначения" << setw(13) << "Время вылета" << setw(13) << "Время прибытия" << setw(16) << "Количество свободных мест" << setw(11);

gotoxy(2, 3);

cout << "----------------------------------------------------------------------------";

gotoxy(2, z);

cout << setw(7) << aerofl[i].nomer_reisa;

cout << setw(7) << "|";

cout << setw(8) << aerofl[i].naznachenie;

cout << setw(8) << "|";

cout << setw(7) << aerofl[i].vilet;

cout << setw(6) << "|";

cout << setw(7) << aerofl[i].pribitie;

cout << setw(6) << "|";

cout << setw(6) << aerofl[i].svobodnie_mesta;

//cout << setw(5) << "|";

//cout << setw(5) << bibl[i].nomer_skafa;

//gotoxy(2, ++z);

cout << "---------------------------------------------------" << endl;

if (q % 5 == 0)

{

_getch() == 13;

system("cls");

gotoxy(4, 15);

printf_s("Нажмите ENTER для просмотра следующей части \n или Esc для выхода в главное меню\n");

z = 3;

q = 1;

gotoxy(2, 2);

cout << setw(11) << "Номер рейса" << setw(13) << "Пункт назначения" << setw(13) << "Время вылета" << setw(13) << "Время прибытия" << setw(16) << "Количество свободных мест" << setw(11);

gotoxy(2, 3); файл программный детализация таблица

cout << "------------------------------------------------------------------------"; i++;

}

else

q++;

z++;

}

fclose(f);

_getch();

Заключение

Были получены навыки по разработке программы на языке C++ для обработки данных типа структура, т.е. проектирования структуры базы данных, предназначенной для функционирования автоматизированной информационной системы.

В данной работе эта цель достигается на примере разработки структуры базы данных «Библиотека». Для введения учета типов часто используют программы, работающие с базами данных. Для более доступного использования базы данных были переведены в электронный вид, в этих целях разрабатываются программы, которые их обрабатывают. Упрощенным видом таких программ является данная программа. В ней используются только самые простейшие операции работы с базами данных.

Список использованной литературы

1. Каширин И.Ю., Новичков В.С. От C к C++: Учебное пособие для вузов. - 2-е изд., стереотип. - М.: Горячая линия - Телеком, 2012. - 334 с. 2.

2. Прохоренко Н.А. Программирование на C++ в Visual Studio® 2014 Express // Изд.: самиздат. - 2010. - 550 с.

3. Герберт Шилдт. С++ Базовый курс: Учебник: Вильямс, 2013-101с

4. Культин Н.Б. С/С++ в задачах и примерах. - СПб.: БХВ-

5. Павловская Т.А. С/С++. Программирование на языке высокого уровня.- СПб.: Питер, 2014-195 с.

6. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник.- М.: Мастерство, 2013.- 234 с.

7. Страуструп Б. Язык программирования С++: Бином-Пресс,2015-127с.

8. Гольцман, В. MySQL 5.0. Библиотека программиста / В. Гольцман. - СПб.: Питер Ком, 2014. - 253 с.

9. Робинсон, О. Корнес, Д. Глинн, «С++ для профессионалов» том 1, Издательство «ЛОРН» М. 2013 - 478

10. Системы управления базами данных. Учебное пособие /Ломтадзе В.В., Шишкина Л.П. - Иркутск: ИрГТУ, 2014. - 116 с.

11. Теория реляционных баз данных. Учебное пособие / Мейер М.М. - Москва: Мир, 2015. -610 с

12. Хорстманн, К.JAVA2. Библиотека профессионала. Основы. Том 1. 8-е издание. Пер.с англ. - М: ООО «И.Д.Вильямс», 2013 - 816с

Приложение

Листинг программы:

#include "stdafx.h"

# include <string.h>

# include <cstring>

# include <iomanip>

# include <stdio.h>

# include <conio.h>

# include <iostream>

# include <windows.h>

# include <dos.h>

# include <fstream>

# include <math.h>

# include <wchar.h>

# include <stdlib.h>

# include <algorithm>

# include <locale.h>

using namespace std;

void outputmenu();

void vvod_dannix();

void mesto();

void spisok();

void dannie();

FILE *f;

int r, i, v, z, q, A, B, min, X, k;

int n = 25;

char S, h[100];

char naz[10], vilet[10], avt, vrema[10];

struct aeroflot

{

char naznachenie[70];

//char nazvanie[50];

int nomer_reisa;

char vilet[10];

char pribitie[10];

int svobodnie_mesta;

};

aeroflot aerofl[25];

void gotoxy(int xpos, int ypos)

{

COORD scrn;

HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);

scrn.X = xpos; scrn.Y = ypos;

SetConsoleCursorPosition(hOuput, scrn);

}

int main()

{

int FF;

do

{

outputmenu();

gotoxy(5, 8);

cout << " Выбирите пункт: ";

cin >> FF;

system("cls");

switch (FF)

{

case 1: vvod_dannix(); break;

case 2: mesto(); break;

case 3: spisok(); break;

//case 4: chislo(); break;

case 4: dannie(); break;

}

} while (FF != 6);

return 0;

}

void outputmenu()

{

int ff;

char gg;

setlocale(LC_ALL, "Russian");

system("cls");

system("cls");

gotoxy(5, 2);

printf_s("1) Введите данные о рейсах Аэрофлота");

gotoxy(5, 3);

printf_s("2) Время отправления самолётов ");

gotoxy(5, 4);

printf_s("3) Наличие свободных мест ");

gotoxy(5, 5);

printf_s("4) Вывести все рейсы");

gotoxy(5, 7);

printf_s("5) Выход");

}

void vvod_dannix()

{

gotoxy(19, 6);

if (f)

delete[] f;

f = fopen("D:\\test.txt", "w");

system("cls");

z = 1;

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

{

gotoxy(19, 6);

printf_s("Для выхода в главное меню нажмите ESC \n\t\t Для продолжения нажмите Enter \n\n");

if (_getch() == 27)

{

i = n;

outputmenu();

}

else

{

system("cls");

gotoxy(1, 2);

cout << "-------------------------------------------------------------------------------";

gotoxy(27, 3);

printf_s("Ввод данных %d рейса\n", z);

cout << "-------------------------------------------------------------------------------";

gotoxy(2, 5);

printf_s(" Введите номер рейса | ");

//scanf_s("%s", aerofl[i].nomer_reisa);

cin >> aerofl[i].nomer_reisa;

cout << "---------------------------------|---------------------------------------------";

gotoxy(2, 7);

printf_s(" Введите пункт назначение | ");

scanf_s("%s", aerofl[i].naznachenie, 70);

cout << "---------------------------------|---------------------------------------------";

gotoxy(2, 9);

printf_s(" Время вылета | ");

scanf_s("%s", aerofl[i].vilet, 10);

//cin >> aerofl[i].vilet;

cout << "---------------------------------|---------------------------------------------";

gotoxy(2, 11);

printf_s(" Время прибытия | ");

scanf_s("%s", aerofl[i].pribitie, 10);

//cin >> aerofl[i].pribitie;

cout << "---------------------------------|---------------------------------------------";

gotoxy(2, 13);

printf_s(" Количество свободных мест | ");

cin >> aerofl[i].svobodnie_mesta;

cout << "---------------------------------|---------------------------------------------";

/*gotoxy(2, 15);

printf_s(" Номер шкафа | ");

cin >> bibl[i].nomer_skafa;

cout << "-------------------------------------------------------------------------------";*/

cout << "\n\n Записываю в файл ожидайте.";

system("pause");

system("cls");

fwrite(&aerofl[i], sizeof(struct aeroflot), 1, f);

z++;

if (i == n - 1)

{

gotoxy(20, 10);

cout << "Поздравляю файл успешно записан!\n";

system("pause");

}

}

}

fclose(f);

}

void mesto()

{

z = 1;

q = 0;

v = 4;

f = fopen("D:\\test.txt", "r");

i = 0;

while (1)

{

if (!fread(&aerofl[i], sizeof(struct aeroflot), 1, f))

{

cout << "end";

break;

} i++;

}

system("cls");

printf_s(" Введите пункт назначения | ");

scanf_s("%s", &naz, 30);

cout << "--------------------------------------------|----------------------------------";

/*gotoxy(2, 6);

printf_s(" Введите название | ");

scanf_s("%s", &naz, 50);*/

cout << "Для начала поиска нажмите Enter";

_getch();

system("cls");

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

{

if ((strcmp(aerofl[i].naznachenie, naz) == 0)) /*&& (strcmp(bibl[i].nazvanie, naz) == 0))*/

{

gotoxy(1, 1);

cout << "-------------------------------------------------------------------------------";

gotoxy(32, 2);

printf("Результат поиска: ");

gotoxy(1, 3);

cout << "-----------------------------------------------------------------------------";

gotoxy(4, 17);

printf("Нажмите ENTER для просмотра следующей части списка \n или Esc для выхода в главное меню\n");

gotoxy(2, v);

cout << setw(4) << z << " |" << " Номер рейса : " << aerofl[i].nomer_reisa;

gotoxy(2, ++v);

cout << setw(5) << z << " |" << " Время отправления : " << aerofl[i].vilet;

gotoxy(3, ++v);

cout << setw(6) << z << " |" << " Пункт назначения : " << aerofl[i].naznachenie;

gotoxy(4, ++v);

/*cout << setw(7) << z << " |" << " Номер шкафа : " << bibl[i].nomer_skafa;

gotoxy(5, ++v);*/

cout << "-------------------------------------------------------------------------------\n";

z++;

v++;

if (z % 3 == 0)

{

_getch() == 13;

v = 4;

}

}

else

q++;

}

if (i == q)

{

gotoxy(31, 4);

printf("Рейс не найден");

gotoxy(1, 5);

cout << "-------------------------------------------------------------------------------";

}

_getch();

}

void spisok()

{

int uu[25];

z = 1;

q = 0;

v = 4;

f = fopen("D:\\test.txt", "r");

i = 0;

while (1)

{

if (!fread(&aerofl[i], sizeof(struct aeroflot), 1, f))

{

cout << "end";

break;

} i++;

}

system("cls");

printf_s(" Введите пункт назначения | ");

scanf_s("%s", &naz, 30);

printf_s(" Введите время отправления | ");

scanf_s("%s", &vrema, 30);

cout << "--------------------------------------------|----------------------------------";

gotoxy(2, 6);

system("cls");

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

{

if (((strcmp(aerofl[i].naznachenie, naz) == 0)) && (strcmp(aerofl[i].vilet, vrema) == 0))

{

gotoxy(1, 1);

cout << "-------------------------------------------------------------------------------";

gotoxy(32, 2);

printf("Результат поиска:");

gotoxy(1, 3);

cout << "-----------------------------------------------------------------------------";

gotoxy(4, 17);

printf("Нажмите ENTER для просмотра следующей части\n или Esc для выхода в главное меню\n");

gotoxy(2, v);

cout << setw(4) << z << " |" << " Номер рейса : " << aerofl[i].nomer_reisa;

gotoxy(2, ++v);

cout << setw(5) << z << " |" << " Пункт назначения : " << aerofl[i].naznachenie;

gotoxy(3, ++v);

cout << setw(6) << z << " |" << " Время отправления : " <<aerofl[i].vilet;

gotoxy(4, ++v);

cout << setw(7) << z << " |" << " Количество свободных мест : " << aerofl[i].svobodnie_mesta;

gotoxy(5, ++v);

cout << "-------------------------------------------------------------------------------\n";

z++;

v++;

if (z % 3 == 0)

{

_getch() == 13;

v = 4;

}

}

else

q++;

}

if (i == q)

{

gotoxy(31, 4);

printf("Рейс не найден ");

gotoxy(1, 5);

cout << "-------------------------------------------------------------------------------";

}

_getch();

}

void dannie()

{

q = 1;

z = 4;

f = fopen("D:\\test.txt", "r");

i = 0;

while (10)

{

if (!fread(&aerofl[i], sizeof(struct aeroflot), 1, f))

{

printf_s(" ");

break;

}

gotoxy(4, 15);

printf_s("Нажмите ENTER для просмотра следующей части \n");

gotoxy(2, 2);

cout << setw(11) << "Номер рейса" << setw(13) << "Пункт назначения" << setw(13) << "Время вылета" << setw(13) << "Время прибытия" << setw(16) << "Количество свободных мест" << setw(11);

gotoxy(2, 3);

cout << "----------------------------------------------------------------------------";

gotoxy(2, z);

cout << setw(7) << aerofl[i].nomer_reisa;

cout << setw(7) << "|";

cout << setw(8) << aerofl[i].naznachenie;

cout << setw(8) << "|";

cout << setw(7) << aerofl[i].vilet;

cout << setw(6) << "|";

cout << setw(7) << aerofl[i].pribitie;

cout << setw(6) << "|";

cout << setw(6) << aerofl[i].svobodnie_mesta;

//cout << setw(5) << "|";

//cout << setw(5) << bibl[i].nomer_skafa;

//gotoxy(2, ++z);

cout << "---------------------------------------------------" << endl;

if (q % 5 == 0)

{

_getch() == 13;

system("cls");

gotoxy(4, 15);

printf_s("Нажмите ENTER для просмотра следующей части\n или Esc для выхода в главное меню\n");

z = 3;

q = 1;

gotoxy(2, 2);

cout << setw(11) << "Номер рейса" << setw(13) << "Пункт назначения" << setw(13) << "Время вылета" << setw(13) << "Время прибытия" << setw(16) << "Количество свободных мест" << setw(11);

gotoxy(2, 3);

cout << "----------------------------------------------------------------------------"; i++;

}

else

q++;

z++;

}

fclose(f);

_getch();

}

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

...

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

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

    реферат [40,0 K], добавлен 01.04.2010

  • Проведение исследования опыта взаимодействия в сети. Методы улучшения согласования с пользователем web-сервиса. Особенность проектирования онлайн-приложения. Изучение разработки контроллеров и моделей. Характеристика создания интерфейса программы.

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

  • Выбор режимов адресации, посредством которых будет осуществлен доступ к данным. Этапы создания программы. Характеристика таблицы символов и полученного файла листинга. Анализ изменения состояния регистра IP при выполнении команд JMP, Jcc, LOOPx.

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

  • Ландшафт, ландшафтные объекты и способы их описания. Основные этапы проектирования. Особенности проектирования ландшафтных объектов. Обоснование необходимости автоматизации процесса проектирования ландшафтных объектов. Разработка АРМ.

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

  • Основные характеристики системы автоматизированнного проектирования OrCAD. Этапы создания символьного элемента, графической схемы. Этапы моделирования схемы. Пример создания базовой ячейки матричного умножителя. Создание иерархической структуры.

    курсовая работа [149,5 K], добавлен 14.02.2009

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

    отчет по практике [2,4 M], добавлен 20.05.2017

  • Основные интегрированные информационные системы поддержки принятия решений. Обзор и сравнительный анализ программных продуктов инвестиционного проектирования. Программа управления проектами "MS Project". Примеры программных продуктов в ОАО "Криогенмаш".

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

  • Разработка автоматизированной системы с использованием программных продуктов: 1С: Предприятие 8.2 (для создания автоматизированной системы) и CASE средство BPwin (для проектирования структуры системы). Обучение пользователей работе с конфигурацией.

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

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

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

  • Виды и структура художественного проектирования. Феномен и специфика графического дизайна. Закономерности и принципы формообразования объектов художественного проектирования. Основные средства композиции. Этапы процесса художественного проектирования.

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

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

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

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

    презентация [119,7 K], добавлен 04.04.2013

  • Обзор процесса проектирования. Характерные черты удачных проектов. Понятие и типы домена. Способ обработки событий. Архитектурные классы Form, Imitator, AE. Статическая модель прикладного домена. Исходные тексты операций обработки событий и их описание.

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

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

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

  • Реализация программы-конвертера для создания на основе передаваемых dbf файлов файла формата XML (по заданному пользователем шаблону). Создание шаблонов при помощи кода и при помощи конструктора. Проектирование архитектуры программного продукта.

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

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

    курсовая работа [33,3 K], добавлен 10.06.2011

  • Проведение исследования программ–архиваторов, позволяющих уменьшить размер файла для экономии места на диске. Установка архиватора BreeZip и WinRAR. Особенность разархивации самых различных видов архивных файлов. Средства архивирования в Unix–системах.

    отчет по практике [1,4 M], добавлен 08.01.2023

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

    реферат [276,9 K], добавлен 27.02.2008

  • Информационная поддержка деятельности магазина по продаже компьютеров. Работа с программой. Этапы проектирования базы данных. Анализ информационных задач. Выбор программных средств. Особенности проектирования программного комплекса информационной системы.

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

  • Разработка приложений на платформе Win32 для исследования взаимодействия между процессами через отображение файла в память. Модель приложений "клиент - сервер". Описание алгоритма работы программы-клиента и программы-сервера. Результаты работы приложений.

    курсовая работа [869,3 K], добавлен 18.05.2014

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