Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bahtee2013
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 3
#1

Доработать программу. Предметная область Авиарейсы - C++

06.05.2013, 15:10. Просмотров 628. Ответов 1
Метки нет (Все метки)

Доброго времени суток. Нужна помощь в разработке программы такого же типа.
Предметная область – «Авиарейсы». Авиарейс характеризуется городом вылета, городом прилета, а также набором дополнительных параметров (например, время в пути, стоимость, название авиакомпании, дата вылета) на усмотрение студента.
Необходимо разработать классы:
• TFlight – авиарейс
• TCity – город
Класс TCity определяет параметры для города вылета и города прилета авиарейса: название города, код города, название страны, код страны. Один и тот же объект класса TCity может использоваться в нескольких авиарейсах.
Класс TFlight должен содержать следующие основные методы:
• SetCity1 – устанавливает для авиарейса город вылета
• SetCity2 – устанавливает для авиарейса город прилета
• IsLocal – проверяет, является ли авиарейс местным (возвращает true или false в зависимости от результата проверки)
• Check – проверяет, заданы ли для авиарейса город вылета и город прилета (возвращает true или false в зависимости от результата проверки)
• PrintInfo – выводит на экран информацию об авиарейсе (с указанием названий городов и стран вылета и прилета)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "stdafx.h"
#include <iostream>
#include <string.h>
using namespace std;
 
class TCity{
    public:
        char NameCity[50];
        char NameCountry[50];
        int KodCity;
        int KodCountry;
        TCity();
        ~TCity();
};
class TFlight{
    private:
        TCity* Avia;
        int n;
        int N;
        TCity Set1;
        TCity Set2;
    public:
        void PrintInfo();
        bool IsLocal();
 
        TCity* SetCity();
        TCity* SetCity1(char* namecity1, char* country1, int kodcity1, int kodcountry1);
        TCity* SetCity2(char* namecity2, char* country2, int kodcity2, int kodcountry2);
        bool Check(char* namecity1, char* namecity2);
        TFlight();
        TFlight(int a);
        ~TFlight(); 
};
TFlight::TFlight(){
    n=0;
    N=100;
    Avia = new TCity[N];
}
TFlight::TFlight(int a){
    n=0;
    N=a;
    Avia = new TCity[N];
}
TFlight::~TFlight(){
    delete [] Avia;
}
 
TCity* TFlight::SetCity(){
    if (n<N)
    {
        n++;
        return &(Avia[n-1]);
    }
    else
        return NULL;
}
TCity* TFlight::SetCity1(char* namecity1, char* namecountry1, int kodcity1, int kodcountry1){
    TCity* e = SetCity();
    if(e)
    {
        strcpy(e->NameCity, namecity1);
        strcpy(e->NameCountry, namecountry1);
        e->KodCity = kodcity1;
        e->KodCountry = kodcountry1;
    }
    return e;
}
TCity* TFlight::SetCity2(char* namecity2, char* namecountry2, int kodcity2, int kodcountry2){
    TCity* f = SetCity();
    if(f)
    {
        strcpy(f->NameCity, namecity2);
        strcpy(f->NameCountry, namecountry2);
        f->KodCity = kodcity2;
        f->KodCountry = kodcountry2;
    }
    return f;
}
 
bool TFlight::Check(char* namecity1, char* namecity2){
    
    if((namecity1 = "\0") && (namecity2 = "\0"))
        return 0;
    else 
        return 1;
    
}
Добавлено через 18 часов 23 минуты
up, ни у кого нет мыслей?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2013, 15:10     Доработать программу. Предметная область Авиарейсы
Посмотрите здесь:

Предметная область – «Записная книжка» - C++
Записная книжка содержит перечень заметок. Каждая заметка описывает некоторое событие/мероприятие, планируемое владельцем книжки. ...

Динамика,С++,предметная область Аптека - C++
Сказали сделать задачу на С++,дали только предметную область Аптека,которая состоит из:класс поставщик,класс база,класс сотрудники,класс...

Конструктор и классы. Предметная область: «Конь на шахматной доске» - C++
Помогите написать прогу к этой задаче: Предметная область: «Конь на шахматной доске». Данные класса: координаты коня. Функции класса:...

Доработать программу - C++
Как сюда добавить учет табуляции и переноса строки #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; ...

Доработать программу - C++
Найти сумму ряда с точностью е=10^-3 ,общий член которого An = (-1)^n-1/n^n Тут надо дописать нужные библиотеки и концовку дописать ...

Доработать программу - C++
День добрый. У меня есть программа, которая удваивает каждый символ, из введенной строки. Как сделать, чтобы удвоенная пара символов...

доработать программу - C++
что изменить в коде, чтобы значения вводились не с клавиатуры, а читались из файла или хотя бы вводились в самом коде? пробовал вводить в...

Доработать программу - C++
Помогите доработать программу-Даны натуральное n, целые числа a1, ..., an. Внутри данной последовательности могут быть поваторяющиеся...

Доработать программу - C++
Здравствуйте, преподавателю не нравится как выполнена задача,жалуется на формулу и требует её сократить (о чем в задаче не упоминается) при...

Доработать программу - C++
Ниже рабочая программа, но надо сделать без использования циклов (кроме уже имеющегося) и функций (аля pow). Проблема в том что я не пойму...

Структуры))доработать программу - C++
Вот программа. Чуть не доделанная. Вот задание: Создать структуру, реализующую стек целых чисел типа LIFO. Данные структуры: массив...

как доработать программу? - C++
вообщем программа на С++ там квадрат движется, и когда он доходит до края программа закрывается (у меня) а надо что бы он отскакивал от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
06.05.2013, 17:39     Доработать программу. Предметная область Авиарейсы #2
Цитата Сообщение от bahtee2013 Посмотреть сообщение
ни у кого нет мыслей?
О чем вы хотите мыслей? О неинтересном и плохо поставленном задании? О кошмарной попытке декомпозиции? Об ужасной попытке реализации?


Если закрыть глаза на все, кроме постановки задачи, можно так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <cstring>
#include <iostream>
 
class City {
 public:
  City() : name(0), country(0) {}
  City(const char *name, const char *country) : name(0), country(0) {
    setName(name);
    setCountry(country);
  }
  City(const City &other) : name(0) {
    setName(other.getName());
    setCountry(other.getCountry());
  }
  City &operator=(const City &other) {
    if (this != &other) {
      setName(other.getName());
      setCountry(other.getCountry());
    }
    return *this;
  }
  virtual ~City() {
    delete [] this->name;
  }
  const char *getName() const {
    return name;
  }
  void setName(const char *name) {
    delete [] this->name;
    this->name = strcpy(new char[strlen(name) + 1], name);
  }
  const char *getCountry() const {
    return country;
  }
  void setCountry(const char *country) {
    delete [] this->country;
    this->country = strcpy(new char[strlen(country) + 1], country);
  }
  bool isGood() const {
    return name != 0 && country != 0;
  }
 private:
  char *name;
  char *country;
};
 
class Flight {
 public:
  Flight() : company(0), source(), destination() {}
  Flight(const char *company, const City &source, const City &destination)
    : company(0), source(source), destination(destination) {
    setCompany(company);
  }
  Flight(const Flight &other) : company(0), source(other.getSource()),
    destination(other.getDestination()) {
    setCompany(other.getCompany());
  }
  Flight &operator=(const Flight &other) {
    if (this != &other) {
      setCompany(other.getCompany());
      setSource(other.getSource());
      setDestination(other.getDestination());
    }
    return *this;
  }
  virtual ~Flight() {
    delete [] company;
  }
  const char *getCompany() const {
    return company;
  }
  void setCompany(const char *company) {
    delete [] this->company;
    this->company = strcpy(new char[strlen(company) + 1], company);
  }
  const City &getSource() const {
    return source;
  }
  void setSource(const City &source) {
    this->source = source;
  }
  const City &getDestination() const {
    return destination;
  }
  void setDestination(const City &destination) {
    this->destination = destination;
  }
  bool isLocal() const {
    return strcmp(source.getCountry(), destination.getCountry()) == 0;
  }
  bool isGood() const {
    return source.isGood() && destination.isGood();
  }
 private:
  char *company;
  City source, destination;
};
 
std::ostream &operator<<(std::ostream &stream, const City &city) {
  return stream << "City{" <<
    "name='" << (city.getName() ? city.getName() : "") << "'," <<
    "country='" << (city.getCountry() ? city.getCountry() : "") << "'," <<
    "isGood=" << (city.isGood() ? "yes" : "no") << "}";
}
 
std::ostream &operator<<(std::ostream &stream, const Flight &flight) {
  return stream << "Flight{" <<
    "company='" << flight.getCompany() << "'," <<
    "source=" << flight.getSource() << "," <<
    "destination=" << flight.getDestination() << "," <<
    "isLocal=" << (flight.isLocal() ? "yes" : "no") << "," <<
    "isGood=" << (flight.isGood() ? "yes" : "no") << "}";
}
 
int main(int argc, char *argv[]) {
  std::cout << Flight("Aeroflot", City("Moscow", "Russia"),
    City("Kiev", "Ukraine")) << std::endl;
  std::cout << Flight("Lufthansa", City("Berlin", "Germany"),
    City("Tambov", "Russia")) << std::endl;
  
  return 0;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru