Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya Ostroverhov.docx
Скачиваний:
4
Добавлен:
18.09.2019
Размер:
6.22 Mб
Скачать

8.Приложение

Код файла Lab3.cpp

// Lab3.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <iostream>

#include <conio.h>

#include <Windows.h>

#include "Class3.h"

using namespace std;

void GTXY(short x, short y){

HANDLE StdOut = GetStdHandle(STD_OUTPUT_HANDLE);

COORD coord = {0,x};

SetConsoleCursorPosition(StdOut,coord);

cout << " ";

coord.Y = y;

SetConsoleCursorPosition(StdOut,coord);

cout << "*";

}

void ExitMenu(){

char c(0);

int point(0);

system("cls");

cout << "Вы действительно хотите выйти?\n\t1 - Да\n\t2 - Нет";

GTXY(point + 1,point + 1);

while(1){

c = getch();

if( c == 49 ){

GTXY(point + 1,1);

point = 0;

}

else if( c == 50 ){

GTXY(point + 1,2);

point = 1;

}

else if( c == 13 ) {

if( point == 0 ) exit(0);

else break;

}

else if( c == 72 || c == 80 ) {

point ^= 1;

GTXY((point ^ 1) + 1,point + 1);

}

else if( c == 27 ) break;

}

}

void AddElem(Class1 & cl1, Class2 & cl2, Class3 & cl3){

char c(0);

int point(0);

system("cls");

cout << "*\t1 - В список направлений работы турагенства\n\t2 - В список экскурсий, предлагаемых турагенством\n\t3 - В список туристов, приобретавших путевки\n\t0 - Назад";

while(1){

c = getch();

if( c == 48 ) {

GTXY(point,3);

point = 3;

}

else if( c == 49 ) {

GTXY(point,0);

point = 0;

}

else if( c == 50 ) {

GTXY(point,1);

point = 1;

}

else if( c == 51 ) {

GTXY(point,2);

point = 2;

}

else if( c == 72 ){

int i(point);

point = point - 1;

if( point < 0 ) point = 3;

GTXY(i,point);

}

else if( c == 80 ){

int i(point);

point = point + 1;

if( point > 3 ) point = 0;

GTXY(i,point);

}

else if( c == 13 ){

if( point == 3 ) break;

else if( point == 0 ){

turWork * data = new turWork;

int count(0);

system("cls");

cout << "Идентификатор = ";

cin >> data -> id;

data -> country = new char;

cout << "\nНазвание страны = ";

cin >> data -> country;

cout << "\nКол-во городов = ";

cin >> count;

data -> towns = new char *[count - 1];

for(int i = 0; i < count; i++){

cout << "\nГород №" << i+1 << " = ";

data -> towns[i] = new char;

cin >> data -> towns[i];

}

data -> towns[count] = NULL;

cout << "\nИдентификатор авиакомпании = ";

cin >> data -> aId;

data -> next = NULL;

cl1.Add( data );

data = NULL;

delete data;

}

else if( point == 1 ){

exWork * data = new exWork;

int count(0);

system("cls");

cout << "Идентификатор экскурсии = ";

cin >> data -> exId;

cout << "\nКраткое описание = ";

data -> comment = new char;

cin >> data -> comment;

cout << "\nИдентификатор направления = ";

cin >> data -> id;

data -> next = NULL;

cl2.Add( data );

data = NULL;

delete data;

}

else if( point == 2 ){

turList * data = new turList;

int count(0);

system("cls");

data -> fio = new char;

cout << "ФИО = ";

gets(data -> fio);

if(!strcmp(data -> fio,"")) gets(data -> fio);

cout << "\nНомер паспорта = ";

cin >> data -> passN;

cout << "\nИдентификатор направления = ";

cin >> data -> id;

cout << "\nКол-во идентификаторов оплаченных экскурсий = ";

cin >> count;

data -> Id = new int [count];

for(int i = 0; i < count; i++){

cout << "\nID №" << i+1 << " = ";

cin >> data -> Id[i];

}

data -> Id[count] = NULL;

data -> hotel = new char;

cout << "\nНазвание отеля = ";

cin >> data -> hotel;

data -> date = new char;

cout << "\nДата вылета = ";

cin >> data -> date;

cout << "\nЧисло дней = ";

cin >> data -> nDays;

data -> next = NULL;

cl3.Add( data );

data = NULL;

delete data;

}

break;

}

else if( c == 27 ) break;

}

}

void ShowList(Class1 & cl1, Class2 & cl2, Class3 & cl3){

char c(0);

int point(0);

system("cls");

cout << "*\t1 - Cписок направлений работы турагенства\n\t2 - Список экскурсий, предлагаемых турагенством\n\t3 - Список туристов, приобретавших путевки\n\t0 - Назад";

while(1){

c = getch();

if( c == 48 ) {

GTXY(point,3);

point = 3;

}

else if( c == 49 ) {

GTXY(point,0);

point = 0;

}

else if( c == 50 ) {

GTXY(point,1);

point = 1;

}

else if( c == 51 ) {

GTXY(point,2);

point = 2;

}

else if( c == 72 ){

int i(point);

point = point - 1;

if( point < 0 ) point = 3;

GTXY(i,point);

}

else if( c == 80 ){

int i(point);

point = point + 1;

if( point > 3 ) point = 0;

GTXY(i,point);

}

else if( c == 13 ){

if( point == 3 ) break;

else{

system("cls");

if( point == 0 ) cl1.Show();

else if( point == 1 ) cl2.Show();

else if( point == 2 ) cl3.Show();

getch();

break;

}

}

else if( c == 27 ) break;

}

}

void DeleteElem(Class1 & cl1, Class2 & cl2, Class3 & cl3, int id){

char c(0);

int point(0);

system("cls");

cout << "*\t1 - Из списка направлений работы турагенства\n\t2 - Из списка экскурсий, предлагаемых турагенством\n\t3 - Их списка туристов, приобретавших путевки\n\t0 - Назад";

while(1){

c = getch();

if( c == 48 ) {

GTXY(point,3);

point = 3;

}

else if( c == 49 ) {

GTXY(point,0);

point = 0;

}

else if( c == 50 ) {

GTXY(point,1);

point = 1;

}

else if( c == 51 ) {

GTXY(point,2);

point = 2;

}

else if( c == 72 ){

int i(point);

point = point - 1;

if( point < 0 ) point = 3;

GTXY(i,point);

}

else if( c == 80 ){

int i(point);

point = point + 1;

if( point > 3 ) point = 0;

GTXY(i,point);

}

else if( c == 13 ){

if( point == 3 ) break;

else if( point == 0 ) cl1.Remove(id);

else if( point == 1 ) cl2.Remove(id);

else if( point == 2 ) cl3.Remove(id);

break;

}

else if( c == 27 ) break;

}

}

void LoadFile(Class1 & cl1, Class2 & cl2, Class3 & cl3){

char c(0);

int point(0);

system("cls");

cout << "*\t1 - Список направлений работы турагенства\n\t2 - Список экскурсий, предлагаемых турагенством\n\t3 - Список туристов, приобретавших путевки\n\t0 - Назад";

while(1){

c = getch();

if( c == 48 ) {

GTXY(point,3);

point = 3;

}

else if( c == 49 ) {

GTXY(point,0);

point = 0;

}

else if( c == 50 ) {

GTXY(point,1);

point = 1;

}

else if( c == 51 ) {

GTXY(point,2);

point = 2;

}

else if( c == 72 ){

int i(point);

point = point - 1;

if( point < 0 ) point = 3;

GTXY(i,point);

}

else if( c == 80 ){

int i(point);

point = point + 1;

if( point > 3 ) point = 0;

GTXY(i,point);

}

else if( c == 13 ){

if( point == 3 ) break;

else if( point == 0 ) cl1.FileLoad();

else if( point == 1 ) cl2.FileLoad();

else if( point == 2 ) cl3.FileLoad();

break;

}

else if( c == 27 ) break;

}

}

void MainMenu(Class1 & cl1, Class2 & cl2, Class3 & cl3){

char c(0);

int point(0);

system("cls");

cout << "*\t1 - Сохранение списков в файлы\n\t2 - Загрузка списка из файла\n\t3 - Добавление элемента\n\t4 - Удаление элемента по Id\n\t5 - Вывод на экран\n\t6 - Вывод на экран информации о купленной путёвке\n\t7 - Вывод на экран списка экскурсий по заданному направлению\n\t8 - Вывод списка стран, в которые производит полёты авиакомпания\n\t0 - Выход";

while(1){

c = getch();

if( c == 48 ) {

GTXY(point,8);

point = 8;

}

else if( c == 49 ) {

GTXY(point,0);

point = 0;

}

else if( c == 50 ) {

GTXY(point,1);

point = 1;

}

else if( c == 51 ) {

GTXY(point,2);

point = 2;

}

else if( c == 52 ) {

GTXY(point,3);

point = 3;

}

else if( c == 53 ) {

GTXY(point,4);

point = 4;

}

else if( c == 54 ) {

GTXY(point,5);

point = 5;

}

else if( c == 55 ) {

GTXY(point,6);

point = 6;

}

else if( c == 56 ) {

GTXY(point,7);

point = 7;

}

else if( c == 72 ){

int i(point);

point = point - 1;

if( point < 0 ) point = 8;

GTXY(i,point);

}

else if( c == 80 ){

int i(point);

point = point + 1;

if( point > 8 ) point = 0;

GTXY(i,point);

}

else if( c == 13 ){

if( point == 8 ) ExitMenu();

else if( point == 0 ) {

cl1.FileSave();

cl2.FileSave();

cl3.FileSave();

}

else if( point == 1 ) LoadFile(cl1, cl2, cl3);

else if( point == 2 ) AddElem(cl1, cl2, cl3);

else if( point == 3 ){

int id(0);

system("cls");

cout << "Введите Id = ";

cin >> id;

DeleteElem(cl1, cl2, cl3, id);

}

else if( point == 4 ) ShowList(cl1, cl2, cl3);

else if( point == 5 ){

int id(0);

system("cls");

cout << "Введите номер паспорта = ";

cin >> id;

cl3.info(id, cl1, cl2);

getch();

}

else if( point == 6 ){

int id(0);

char * s = new char;

system("cls");

cout << "Введите направление = ";

cin >> s;

id = cl1.Return(s);

cl2.exList(id);

getch();

}

else if( point == 7){

int id(0);

system("cls");

cout << "Введите идентификатор авиакомпании = ";

cin >> id;

cl1.Company(id);

getch();

}

system("cls");

cout << "\t1 - Сохранение списков в файлы\n\t2 - Загрузка списка из файла\n\t3 - Добавление элемента\n\t4 - Удаление элемента по Id\n\t5 - Вывод на экран\n\t6 - Вывод на экран информации о купленной путёвке\n\t7 - Вывод на экран списка экскурсий по заданному направлению\n\t8 - Вывод списка стран, в которые производит полёты авиакомпания\n\t0 - Выход";

GTXY(point,point);

}

else if( c == 27 ){

ExitMenu();

system("cls");

cout << "\t1 - Сохранение списков в файлы\n\t2 - Загрузка списка из файла\n\t3 - Добавление элемента\n\t4 - Удаление элемента по Id\n\t5 - Вывод на экран\n\t6 - Вывод на экран информации о купленной путёвке\n\t7 - Вывод на экран списка экскурсий по заданному направлению\n\t8 - Вывод списка стран, в которые производит полёты авиакомпания\n\t0 - Выход";

GTXY(point,point);

}

}

}

void _tmain()

{

setlocale(NULL,"Russian");

Class1 cl1;

Class2 cl2;

Class3 cl3;

MainMenu(cl1,cl2,cl3);

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]