- •Курсовая работа по дисциплине «Информатика и программирование»
- •1.Постановка задачи
- •2.Состав классов
- •2.1.2. Описание класса:
- •2.2.2. Описание класса:
- •2.3.2. Описание класса:
- •2.3.3. Описание методов класса
- •3.Схема взаимодействия классов
- •4. Список функций, не состоящих в классах.
- •5.1.Структура
- •5.2.Особенности организации
- •6. Пример работы программы
- •7.Список использованной литературы
- •8.Приложение
- •Код файла Сlass1.H
- •Код файла Сlass1.Cpp
- •Код файла Сlass2.Cpp
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);
}