Передо мной была поставлена следующая задача: необходимо разработать программу, учет пассажиров в поездах. Программа должна обладать набором стандартных функций работы СУБД такими как чтение и запись данных в файл, сортировка, удаление и добавление данных, просмотр данных по желанию пользователя, создание новых таблиц с данными.
Программа должна быть гибкой, то есть ее блоки должны быть практически функционально независимы. Программа должна обладать интуитивно понятным для пользователя интерфейсом. В последнее время интуитивно понятным для пользователя интерфейсом обладают программы, построенные на основе пользовательских меню. Данная программа тоже должна иметь пользовательское меню. В программе будут использоваться стандартные библиотеки 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#.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.