Автор: Пользователь скрыл имя, 05 Декабря 2011 в 16:04, курсовая работа
Язык С++ , появившийся в начале 80-х годов, не только универсален, как язык Си, но и является средством объектного программирования, новейшей методикой проектирования и реализации программ. Главной целью создателя языка, доктора Бьерна Страустрапа, было оснащение языка С++ конструкциями, позволяющими увеличить производительность труда программистов и облегчить процесс овладения большими программными продуктами.
ВВЕДЕНИЕ……………………………………………………………3
Постановка задачи……………………………………………5
Спецификация системы……………………………………..5
3. Структура входных и выходных данных………………………………….7
4. Диаграмма классов…………………………..……………………………..8
5. Описание классов………………………………...…………………..…....10
6. Алгоритмы по шагам и блок- схемы функций .…………………………13
7. Текст программы…………………………………………………………..15
8. Результаты работы………………………………………………………...34
ЗАКЛЮЧЕНИЕ………………………………………………………………….35
Список использованной литературы…………………………………………...36
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<
{
switch(ans)
{
case '1':
if((*
break;
case '2':
if(
break;
case '3':
if(
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(
}
DistrictMenu
break;
case '3':
SaveBase(
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();
Информация о работе Информационная система по учету автомобилей