1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 21
1

Маршрут-класс

15.05.2016, 17:00. Показов 886. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста завершить код. После отсутствия вывода маршрута при отсутствии совпадений нужно чтобы программа не закрывалась, а возвращалась к выбору транспорта и маршрута

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
#define _CRT_SECURE_NO_WARNINGS
 
#include"stdafx.h"
#include <iostream>
#include <conio.h>
#include <string.h>
#include <locale.h>
#include <Windows.h>
 
using namespace std;
 
class TMarsh
{
public:
    char *pot, *pna;
    char *vid;
    TMarsh() :pot(0), pna(0), vid(0) {}; //Конструктор по умолчанию
    TMarsh(char*, char*, char*);   //Конструктор, получающий параметры
    TMarsh(const TMarsh &);  //Конструктор, получающий параметр-ссылку на класс TMarsh
    void Input();
    void Output();
    int srav_vid(char*);
    int punkty(char*, char*);
 
};
 
TMarsh::TMarsh(char* p1, char *p2, char *v)  //Конструктор, получающий параметры
{
    pot = new char[strlen(p1) + 1]; pot = p1;
    pna = new char[strlen(p2) + 1]; pna = p2;
    vid = new char[strlen(v) + 1]; vid = v;
}
 
TMarsh::TMarsh(const TMarsh & obj) //Конструктор, получающий параметр-ссылку
{
    pot = new char[strlen(obj.pot) + 1];    pot = obj.pot;
    pna = new char[strlen(obj.pna) + 1];    pna = obj.pna;
    vid = new char[strlen(obj.vid) + 1];    vid = obj.vid;
}
 
void TMarsh::Input()  //Метод ввода данных
{
    char buf[50];
 
    cout << "Пункт отправления: ";
    cin >> buf;
    pot = new char[strlen(buf) + 1]; strcpy(pot, buf);
    cout << "Пункт назначения: ";
    cin >> buf;
    pna = new char[strlen(buf) + 1]; strcpy(pna, buf);
    cout << "Вид транспорта: ";
    cin >> buf;
    vid = new char[strlen(buf) + 1]; strcpy(vid, buf);
    cout << "\n";
}
 
void TMarsh::Output()  //Метод вывода данных
{
    cout << "Пункт отправления: " << pot << ";" << "\n" << " Пункт назначения: " << pna << ";" << "\n" << " вид транспорта: " << vid << ";" << "\n";
}
 
int TMarsh::srav_vid(char *v)
{
    return (!strcmp(v, vid));
}
 
int TMarsh::punkty(char *p1, char *p2)  {
    return (!strcmp(p1, pot)) && (!strcmp(p2, pna)); //если пункты совпадают, то возвращаем 1, иначе 0
}
 
void main()
{
 
    TMarsh *A;
    int i, n;
    char st1[50], st2[50];
    char vi[50];
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    cout << "\nВведите количество записей n=";
    cin >> n;
 
    A = new TMarsh[n];
    for (i = 0; i < n; i++)
        A[i].Input();
 
    cout << "\nИсходный массив:\n";
    for (i = 0; i < n; i++)
    {
        A[i].Output();
        cout << "\n";
    }
 
    cout << "\nВведите интересующий вас вид траспорта: ";
    cin >> vi;
    cout << "Введите пункт отправления: ";
    cin >> st1;
    cout << "Введите пункт назначения: ";
    cin >> st2;
 
    cout << "\nВывод маршрутов по вашему запросу:\n";
    for (i = 0; i < n; i++)
    if (A[i].srav_vid(vi) && A[i].punkty(st1, st2))
    {
        cout << "№" << i + 1 << "; ";
        A[i].Output();
        cout << "\n";
    }
 
    cout << "\n";
 
    system("pause");
    delete(A);
    return;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2016, 17:00
Ответы с готовыми решениями:

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class matrix { ...

Маршрут
массив 10х10 заполнено числами. Начало маршрута в левом нижнем углу. Конец - в правом верхем. Можна...

Маршрут
массив 10х10 заполнено числами. Начало маршрута в левом нижнем углу. Конец - в правом верхем. Можна...

Маршрут в таблице
В таблице из N строк и N столбцов клетки заполнены цифрами от 0 до 9. Требуется найти такой путь из...

0
15.05.2016, 17:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2016, 17:00
Помогаю со студенческими работами здесь

Кратчайший маршрут
Очень сложная задачка на мой взгляд. Подскажите хотя-бы алгоритм! Буду очень благодарен.

Маршрут Bus
Создать объект класса автобус(Bus). У автобуса будет 2 свойства. Первое - это номер маршрута(int...

Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами
Здравствуйте! Никак не могу продумать структуру этой программы. Проходим наследование, но я все...

Оптимальный маршрут почтальона
Найти оптимальный маршрут почтальона на ориентированном графе, который задается количеством вершин,...

Найти кратчайший маршрут
Найти кратчайший маршрут, который начинается и завершается в заданной вершине ориентированному...

Класс: Разработать абстрактный класс класс Point для задания координаты...
Всем привет, помогите пожалуйста решить задачу, я уже всю голову сломал, не знаю как решить... ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru