Разработка программы учета пассажиров в поездах, страница 2

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

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

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

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

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

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

Программа должна быть разработана с расчетом на возможные в дальнейшем изменения и усовершенствования.

В процессе разработки программы понадобится использовать следующие стандартные библиотеки и операторы языка Си:

Stdio.h – одна из главных головных библиотек, определяющая функции ввода-вывода. Сюда относятся: fopen, fclose, fflush, printf, scanf, fgets, fputs, и многие другие.

Conio.h – библиотека, содержащая функции для работы с консолью. В данной программе использовался оператор getch() из этой библиотеки.

String.h – библиотека, содержащая функции, которые оперируют со строками. В программе использовался оператор strcat() из данной библиотеки.

Fopen(), fclose() – операторы открытия – закрытия файла.

Fputs(), fprintf() – запись данных в файл.

Fgets(), fscanf() – считывание данных из файла.

Puts(), printf() – вывод данных на экран.

Gets(), scanf() – считывание данных с клавиатуры.

While, do-while – операторы выполнения тела цикла, пока условие истинно.

For  - оператор-«счетчик», выполняющий тело цикла, пока переменная не достигнет конечного значения.

If , switch - операторы проверки условия. 

Break – средство прерывания цикла.

For  - оператор-«счетчик», выполняющий тело цикла, пока переменная не достигнет конечного значения.

If , switch - операторы проверки условия. 

Break – средство прерывания цикла.

2. ОПИСАНИЕ ПРОГРАММЫ

2.1. Схема алгоритма программы (блок-схема). 2.2 Описание используемых функций

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

Класс «Passenger» представляет собой объектную модель пассажира поезда.

В нем находится ряд закрытых полей, определяющих основные свойства «пассажира»  - Ф.И.О, возраст, номер билета, номер места и номер вагона.

class Passenger

{

private:

string name;           

unsigned int age;      

unsigned int  ticket;  

unsigned int  place;   

unsigned int  carriage;

...

}

Также в классе содержатся методы, обеспечивающие корректный доступ к закрыты  полям. Эти методы представляют так называемую концепцию «свойств»,  реализованную в полной мере в таких языках как Delphi, C#.