С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 28.02.2021
Сообщений: 5

Неизвесная ошибка

28.02.2021, 15:30. Показов 1289. Ответов 10

Студворк — интернет-сервис помощи студентам
Я не знаю почему у меня ошибка вроде все правильно задача практически готова.
Вот условие задачи.
Написать программу «Автоматизированная информационная система
железнодорожного вокзала ».
Система содержит сведения об отправке поездов дальнего
следования. Для каждого поезда указываем: номер, время отправления,
станцию ​​назначения.
обеспечить:
■ Ввод данных в систему;
■ Вывод информации обо всех поезда;
■ Вывод информации о запрашиваемые поезда.
Использовать контейнерный класс vector.
Ошибки 82 строка... .
выбивает такие ошибки: 1.oshibka "
Ошибка C2440 инициализация: невозможно преобразовать "std::_Vector_const_iterator<std::_Vecto r_val<std::_Simple_types<_Ty>>>" в "std::_Vector_iterator<std::_Vector_val< std::_Simple_types<_Ty>>>" poezd C:\Users\MY-PC\source\repos\poezd\poezd\poezd.cpp 85
"
2. oshibka
Ошибка (активно) E0312 не существует подходящего определяемого пользователем преобразования из "std::_Vector_const_iterator<std::_Vecto r_val<std::conditional_t<true, std::_Simple_types<Poizd>, std::_Vec_iter_types<Poizd, size_t, ptrdiff_t, Poizd *, const Poizd *, Poizd &, const Poizd &>>>>" в "std::_Vector_iterator<std::_Vector_val< std::conditional_t<true, std::_Simple_types<Poizd>, std::_Vec_iter_types<Poizd, size_t, ptrdiff_t, Poizd *, const Poizd *, Poizd &, const Poizd &>>>>" poezd C:\Users\MY-PC\source\repos\poezd\poezd\poezd.cpp 85
"
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
#include <iostream>
#include <string>
#include <vector>
 
#include <iomanip>
#include<algorithm>
using namespace std;
 
class Poizd
{
protected:
    int nomer;
    string chasvidpr, mistsenazn;
public:
    Poizd() :nomer(0), chasvidpr(0), mistsenazn(0) {}
    Poizd(const Poizd& copy) :nomer(copy.nomer), chasvidpr(copy.chasvidpr), mistsenazn(copy.mistsenazn) {}
    Poizd(int _nomer, string _chasvidpr, string _mistsenazn)
    {
        nomer = _nomer;
        chasvidpr = _chasvidpr; //время отправления
        mistsenazn = _mistsenazn; //место назначения
    }
    int getNumber()
    {
        return nomer;
    }
    string getDeparture()
    {
        return chasvidpr;
    }
    string getDestination()
    {
        return mistsenazn;
    }
    void operator = (Poizd other)
    {
        nomer = other.nomer;
        chasvidpr = other.chasvidpr;
        mistsenazn = other.mistsenazn;
    }
 
};
 
void addTrain(vector <Poizd>& a) //добавление поезда
{
    int num;
    string stantia, chas;
    cout << "Введите номер поезда: " << endl;
    cin >> num;
    cin.ignore();
    cout << "Введите место назначения: " << endl;
    cin >> stantia;
    cin.ignore();
    cout << "Введите время отправления: " << endl;
    cin >> chas;
    cin.ignore();
    a.push_back(Poizd(num, chas, stantia));
}
 
void allInfo(vector <Poizd>& a) 
{
    if (a.empty())
    {
        cout << "Список пуст! " << endl; return;
    }
    vector <Poizd>::iterator it = a.begin();
    cout << "Номер поїзда  " << '\t' << " Час відправления " << '\t' << " Місце прибуття " << endl;
    while (it != a.end())
    {
        cout << it->getNumber() << setw(25) << it->getDeparture() << setw(25) << it->getDestination() << '\n';
        it++;
    }
}
void info_one_Poizd(const vector<Poizd>& a)
{
    if (a.empty()) { cout << "Список пустий\n"; return; }
    int user_Poizd;
    cout << "Ввести номер поїзда: " << endl;
    cin >> user_Poizd;
 
    bool found = false;
    for (vector <Poizd>::iterator it = a.begin(); it != a.end(); ++it)
    {
        if (it->getNumber() == user_Poizd)
        {
            cout << it->getDestination() << '\t' << it->getDeparture() << endl;
            found = true;
            break;
        }
    }
 
    if (!found) cout << "Поїзд не знайдений! " << endl;
}
int main()
{
    setlocale(LC_ALL, "ukr");
    cout << setw(55) << "Завдання 2 " << endl;
    vector <Poizd> database;
    for (int i = 0; i < 2; i++)
    {
        addTrain(database);
    }
    allInfo(database);
    info_one_Poizd(database);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2021, 15:30
Ответы с готовыми решениями:

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к сценарию(asp) получаю ошибку: &lt;пропуск&gt;...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error).
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление записи в файл, но после успешного создания и чтения вылазиет...

10
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.02.2021, 17:41
Цитата Сообщение от Uriy7777 Посмотреть сообщение
Ошибка C2440 инициализация: невозможно преобразовать "std::_Vector_const_iterator<std::_Vecto r_val<std::_Simple_t ypes<_Ty>>>" в "std::_Vector_iterator<std::_Vector_val< std::_Simple_types<_ Ty>>>" poezd C:\Users\MY-PC\source\repos\poezd\poezd\poezd.cpp 85
Цитата Сообщение от Uriy7777 Посмотреть сообщение
for (vector <Poizd>::const_iterator it = a.begin(); it != a.end(); ++it)
А лучше
C++
1
for (auto it = a.begin(); it != a.end(); ++it)
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
28.02.2021, 18:19
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
for (auto it = a.begin(); it != a.end(); ++it)
По-моему это не решение. Можно:

Добавлено через 19 минут
C++
1
2
3
4
5
6
7
8
9
10
for (vector <Poizd>::const_iterator it = a.begin(); it != a.end(); ++it)
    {
        Poizd itt = *it;
        if (itt.getNumber() == user_Poizd)
        {
            cout << itt.getDestination() << '\t' << itt.getDeparture() << endl;
            found = true;
            break;
        }
    }
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.02.2021, 18:22
Цитата Сообщение от Volga_ Посмотреть сообщение
Poizd itt = *it;
        if (itt.getNumber() == user_Poizd)
Прикалываешься?
C++
1
2
3
const Poizd &itt = *it;
 
if (itt.getNumber() == user_Poizd)
Добавлено через 49 секунд
И даже так нет особого смысла.
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
28.02.2021, 18:44
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
И даже так нет особого смысла.
Да.
Я поменял код автора как:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void info_one_Poizd(vector<Poizd> a)
{
    if (a.empty()) { cout << "Список пустий\n"; return; }
    int user_Poizd;
    cout << "Ввести номер поїзда: " << endl;
    cin >> user_Poizd;
 
    bool found = false;
    for (int i = 0; i < a.size(); i++)
    {
        if (a[i].getNumber() == user_Poizd)
        {
            cout << a[i].getDestination() << '\t' << a[i].getDeparture() << endl;
            found = true;
            break;
        }
    }
 
    if (!found) cout << "Поїзд не знайдений! " << endl;
}
Это может быть лучше?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.02.2021, 18:50
Цитата Сообщение от Volga_ Посмотреть сообщение
Это может быть лучше?
Что-то ты из одной крайности в другую - если не копируешь, то по-индексу. Либо оставь итераторы, либо сделай здесь ссылку
C++
1
2
3
4
5
6
for (int i = 0; i < a.size(); i++)
{
    auto &item = a[i];
    if (item.getNumber() == user_Poizd)
    {
        cout << item.getDestination() << '\t' << item.getDeparture() << endl;
Это с итераторами ссылка не нужна, т.к. итератор и без того напрямую указывает на элемент. А с индексами ссылка будет довольно полезной оптимизацией.
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
28.02.2021, 18:53
Цитата Сообщение от Uriy7777 Посмотреть сообщение
Я не знаю почему у меня ошибка вроде все правильно задача практически готова.
Вот условие задачи.
Написать программу «Автоматизированная информационная система
железнодорожного вокзала ».
Система содержит сведения об отправке поездов дальнего
следования. Для каждого поезда указываем: номер, время отправления,
станцию ​​назначения.
Посмотрите код ниже:
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
#include <iostream>
#include <string>
#include <vector>
 
#include <iomanip>
#include<algorithm>
using namespace std;
 
class Poizd
{
protected:
    int nomer;
    string chasvidpr, mistsenazn;
public:
    Poizd() :nomer(0), chasvidpr(0), mistsenazn(0) {}
    Poizd(const Poizd& copy) :nomer(copy.nomer), chasvidpr(copy.chasvidpr), mistsenazn(copy.mistsenazn) {}
    Poizd(int _nomer, string _chasvidpr, string _mistsenazn)
    {
        nomer = _nomer;
        chasvidpr = _chasvidpr; //время отправления
        mistsenazn = _mistsenazn; //место назначения
    }
    int getNumber()
    {
        return nomer;
    }
    string getDeparture()
    {
        return chasvidpr;
    }
    string getDestination()
    {
        return mistsenazn;
    }
    void operator = (Poizd other)
    {
        nomer = other.nomer;
        chasvidpr = other.chasvidpr;
        mistsenazn = other.mistsenazn;
    }
 
};
 
void addTrain(vector <Poizd>& a) //добавление поезда
{
    int num;
    string stantia, chas;
    cout << "Введите номер поезда: " << endl;
    cin >> num;
    cin.ignore();
    cout << "Введите место назначения: " << endl;
    cin >> stantia;
    cin.ignore();
    cout << "Введите время отправления: " << endl;
    cin >> chas;
    cin.ignore();
    a.push_back(Poizd(num, chas, stantia));
}
 
void allInfo(vector <Poizd>& a)
{
    if (a.empty())
    {
        cout << "Список пуст! " << endl; return;
    }
    vector <Poizd>::iterator it = a.begin();
    cout << "Номер поїзда  " << '\t' << " Час відправления " << '\t' << " Місце прибуття " << endl;
    while (it != a.end())
    {
        cout << it->getNumber() << setw(25) << it->getDeparture() << setw(25) << it->getDestination() << '\n';
        it++;
    }
}
void info_one_Poizd(vector<Poizd> a)
{
    if (a.empty()) { cout << "Список пустий\n"; return; }
    int user_Poizd;
    cout << "Ввести номер поїзда: " << endl;
    cin >> user_Poizd;
 
    bool found = false;
    for (vector <Poizd>::iterator it = a.begin(); it != a.end(); ++it)
    {
        if (it->getNumber() == user_Poizd)
        {
            cout << it->getDestination() << '\t' << it->getDeparture() << endl;
            found = true;
            break;
        }
    }
 
    if (!found) cout << "Поїзд не знайдений! " << endl;
}
int main()
{
    setlocale(LC_ALL, "ukr");
    cout << setw(55) << "Завдання 2 " << endl;
    vector <Poizd> database;
    for (int i = 0; i < 2; i++)
    {
        addTrain(database);
    }
    allInfo(database);
    info_one_Poizd(database);
}
Удаляйте ключевое слово const для аргумента в функции info_one_Poizd() ((даже удалить &, они не нужны для для аргумента в функциях info_one_Poizd() и allInfo()). Это решение для вас !
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,205
28.02.2021, 19:31
Цитата Сообщение от Volga_ Посмотреть сообщение
Удаляйте ключевое слово const для аргумента в функции info_one_Poizd()
Зачем его удалять???

Цитата Сообщение от Volga_ Посмотреть сообщение
((даже удалить &, они не нужны для для аргумента в функциях info_one_Poizd() и allInfo()).
Что значит "не нужны"? Нужны разумеется. Без них вся база данных будет передаваться по значению.

Цитата Сообщение от Volga_ Посмотреть сообщение
Это решение для вас !
???
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
28.02.2021, 19:53
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Без них вся база данных будет передаваться по значению.
В этой ситуации только нужно передаваться по значению ! Прочитайте вообще программу, вы уведите что, не нужно передаваться по ссылке !
0
28.02.2021, 20:50

Не по теме:

Цитата Сообщение от Volga_ Посмотреть сообщение
В этой ситуации только нужно передаваться по значению ! Прочитайте вообще программу, вы уведите что, не нужно передаваться по ссылке !
=-O Это троллинг что ли?

0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
28.02.2021, 20:53
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Это троллинг что ли?
Не понял вас ! Я иностранец, пожалуйста, скажите ясно мнения у вас.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2021, 20:53
Помогаю со студенческими работами здесь

Ошибка CL.exe завершилась с кодом 2 Что это за ошибка и как исправить?
Ошибка появилась, но не могу понять как ее исправить. #include &lt;iostream&gt; using namespace std; /*Реализуйте класс Дробь....

Ошибка HTTP 500 - внутреняя ошибка сервера при отправке почты.
Я пытаюсь отправить почту и присоединяю к ней письма Вот часть страницы Dim myMail Set myMail = CreateObject('CDONTS.NewMail') ...

Django Ошибка доступа (403) Ошибка проверки CSRF. Запрос отклонён
На хостинге разместил сайт и не могу войти в админку, т.к. возникает 403 ошибка &quot;Ошибка доступа (403). Ошибка проверки CSRF. Запрос...

Загружается до окна приветствия и вылетает ошибка: isass.exe - Системная ошибка
Ребята, помогите кто может... весь день бьюсь безрезультатно... с утра пришёл на работу а сервак не пингуется... загружается до...

Ошибка разбора XML/ Ошибка при вызове метода контекста (Прочитать)
1C 8.2 Документооборот КОРП 1.2 Текст ошибки {ОбщийМодуль.АвтозаполнениеШаблоновФайловКлиентСервер.Модуль(616)}: Ошибка при вызове...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru