Информационная система по учету автомобилей

Автор: Пользователь скрыл имя, 05 Декабря 2011 в 16:04, курсовая работа

Описание работы

Язык С++ , появившийся в начале 80-х годов, не только универсален, как язык Си, но и является средством объектного программирования, новейшей методикой проектирования и реализации программ. Главной целью создателя языка, доктора Бьерна Страустрапа, было оснащение языка С++ конструкциями, позволяющими увеличить производительность труда программистов и облегчить процесс овладения большими программными продуктами.

Содержание

ВВЕДЕНИЕ……………………………………………………………3
Постановка задачи……………………………………………5
Спецификация системы……………………………………..5
3. Структура входных и выходных данных………………………………….7
4. Диаграмма классов…………………………..……………………………..8
5. Описание классов………………………………...…………………..…....10
6. Алгоритмы по шагам и блок- схемы функций .…………………………13
7. Текст программы…………………………………………………………..15
8. Результаты работы………………………………………………………...34
ЗАКЛЮЧЕНИЕ………………………………………………………………….35
Список использованной литературы…………………………………………...36

Работа содержит 1 файл

ОтчётБадеев.doc

— 367.50 Кб (Скачать)

                  cout << "2) по владельцу" << endl;

                  cout << "3) по марке" << endl;

                  cout << "4) назад" << endl; 

                  ans = getch();

                  if(ans >= '1' && ans <= '4') break;

            }

            int number = 0;

            char owner[30];

            char brand[10]; 

            switch(ans)

            {

            case '1':

                  number = cinInt("Введите номер машины");

                  break;

            case '2'

                  cout << "Введите владельца:";

                  cin >> owner;

                  break;

            case '3'

                  cout << "Введите марку:";

                  cin >> brand;

                  break;

            case '4'

                  break;

            } 

            for(qIterator<Auto> pos(&Autos); !pos.end(); pos++)

            {

                  switch(ans)

                  {

                  case '1':

                        if((*pos).Number == number &&

                              (mod == 0 || (mod == 2 && (*pos).ParkingId == (*SelectedP).Id)))

                                    cout << *pos << endl;

                        break;

                  case '2':

                        if(strcmp((*pos).Owner, owner) == 0 &&

                              (mod == 0 || (mod == 2 && (*pos).ParkingId == (*SelectedP).Id)))

                              cout << *pos << endl;

                        break;

                  case '3':

                        if(strcmp((*pos).Brand, brand) == 0 &&

                              (mod == 0 || (mod == 2 && (*pos).ParkingId == (*SelectedP).Id)))

                              cout << *pos << endl;

                        break;

                  } // При совпадении параметров выводятся нужные автомобили

            }

      }

}

bool OpenDB(char *DBN) // Загрузка БД

{

      char *DistrictsPath = new char[strlen(DBN) + strlen("_ds.bad")];

      char *ParkingsPath = new char[strlen(DBN) + strlen("_ps.bad")];

      char *AutosPath = new char[strlen(DBN) + strlen("_as.bad")]; 

      strcpy(DistrictsPath, DBN);

      strcpy(ParkingsPath, DBN);

      strcpy(AutosPath, DBN); 

      strcat(DistrictsPath, "_ds.bad");

      strcat(ParkingsPath, "_ps.bad");

      strcat(AutosPath, "_as.bad"); 

      FWriter<Parking> PWriter(ParkingsPath, ios::in | ios::binary); // Открытие файлов БД

      FWriter<Auto> AWriter(AutosPath, ios::in | ios::binary);

      FWriter<District> DWriter(DistrictsPath, ios::in | ios::binary); 

      Autos = AWriter.ReadStack(); // Чтение из файлов в стэки

      Parkings = PWriter.ReadStack();

      Districts = DWriter.ReadStack(); 

      PWriter.Close();

      AWriter.Close();

      DWriter.Close(); 

      return true;

}

bool SelectDistrict(int id) // Проверка существования района по id

{

      bool result = false;

      for(SelectedD.toBegin(); !SelectedD.end(); SelectedD++)

      {

            if((*SelectedD).Id == id) { result = true; break; }

      }

      if(!result) { system("cls"); cout << "Не найден район" << endl; }

      return result;

}

bool SelectParking(int id) // Проверка существования автостоянки по id

{

      bool result = false;

      for(SelectedP.toBegin(); !SelectedP.end(); SelectedP++)

      {

            if((*SelectedP).Id == id) { result = true; break; }

      }

      if(!result) { system("cls"); cout << "Не найдена стоянка" << endl; }

      return result;

}

int TopMenu()

{

      int a = 0;

      while(a != '4')

      {

            cout << "1) Создать базу" << endl;

            cout << "2) Открыть базу" << endl;

            cout << "3) Сохранить базу" << endl;

            cout << "4) Выйти" << endl; 

            a = getch(); 

            switch(a)

            {

            case '1':

                  cout << "Введите название базы:" << endl;

                  cin >> DBName;

                  DistrictMenu();

                  break;

            case '2':

                  system("cls"); 

                  while(true)

                  {

                        cout << "Введите название базы:" << endl;

                        cin >> DBName;

                        if(OpenDB(DBName)) break;

                   

                  DistrictMenu(); 

                  break; 

            case '3':

                  SaveBase(DBName);

                  break; 

            default:

                  break;

            }

      }

      return 0;

}

int DistrictMenu() // Меню районов

{

      int a = 0;

      while(a != '5')

      {

            while(true)

            {

                  cout << "Меню районов:" << endl;

                  cout << "1) Просмотр доступных районов" << endl;

                  cout << "2) Добавить новый район" << endl;

                  cout << "3) Выбор района" << endl;

                  cout << "4) Поиск машин по всей базе" << endl;

                  cout << "5) Выход" << endl; 

                  a = getch();

Информация о работе Информационная система по учету автомобилей