Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Компилятор ругается на массив #include <iostream> #include <conio.h> using namespace std; int main() { int M, N, I, i, j, num = 1; int ; https://www.cyberforum.ru/ cpp-beginners/ thread2162582.html Переворот числа C++
Вводится число и его нужно перевернуть Типо вводится 12345 нужно вывести 54321 Но у меня проблема с тем,что когда вводится 12340,у меня выводится 04321,хотя ноль не должен стоять первой цифрой(по условию) Мой код: #include <iostream> using namespace std; int main() { int a,ch,c=1;
C++ Вычислить произведение всех элементов матрицы Составить программу, которая вводит матрицу действительных чисел размером 6х3, вычисляет произведение всех элементов и в Сделать прогу в c++ builder https://www.cyberforum.ru/ cpp-beginners/ thread2162574.html C++ Вычислить сумму элементов массива https://www.cyberforum.ru/ cpp-beginners/ thread2162573.html
Составить программу, которая вводит 11 целых элементов одномерного массива, вычисляет сумму этих элементов и выводит пол Сделать прогу в c++ builder
C++ Структуры, вывести процент студентов, которые сдали заданные предметы на 4 и 5
Дана вот такая структура. Мне нужно, что программа выводила процент студентов, которые написали матан, физику и апр, на 4 или 5. Это понятное дело 66%. Подскажите пожалуйста, как это сделать? #include <iostream> using namespace std; struct univer{ char surname;
C++ В заданном предложении указать слово, в котором доля согласных максимальна. Считать, что слова в тексте отделены друг В заданном предложении указать слово, в котором доля согласных максимальна. Считать, что слова в тексте отделены друг от друга одним пробелом. https://www.cyberforum.ru/ cpp-beginners/ thread2162556.html
C++ В строке заменить все точки «.» на запятые «,», а двоеточия «:» на точку с запятой «;». Подсчитать количество замен https://www.cyberforum.ru/ cpp-beginners/ thread2162555.html
В строке заменить все точки «.» на запятые «,», а двоеточия «:» на точку с запятой «;». Подсчитать количество замен.
Положения первого вхождения C++
Подскажите как реализовать - две подпрограммы, одна формирует массив символов, а вторая находит в массиве положения первого вхождения заданного символа
C++ задачи на матрицы в с++ на первом рисунке показан способ нахождения, на втором сама матрица соответственно https://www.cyberforum.ru/ cpp-beginners/ thread2162550.html C++ Подпрограммы Помогите реализовать - две подпрограммы, одна из которых заполняет значение типа индексируемой, а вторая - читает значения (при чтении значения в другую переменную индексированного типа удвоить значения компонентов мультизначения). https://www.cyberforum.ru/ cpp-beginners/ thread2162546.html
C++ задача на массивы
1) Имеется массив данных о возрасте и поле сотрудников. Определить общее количество пенсионеров в списке, приняв, что пенсионный возраст для женщин равен 55 лет, а для мужчин – 60 лет. 2) В одномерном массиве найти сумму элементов, расположенных до максимального элемента массива. 3)работа с двумерными массивами: Имеются результаты трех вступительных экзаменов для 50 абитуриентов. Определить...
C++ задача на вложенные циклы необходимо вычислить значение функции https://www.cyberforum.ru/ cpp-beginners/ thread2162542.html
0 / 0 / 0
Регистрация: 08.04.2017
Сообщений: 17
0

Выводится несколько рейсов вместо одного - C++ - Ответ 11969017

21.12.2017, 21:14. Показов 543. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго вечера форумчане! Есть такой вопрос: не могу понять, почему при поиске рейса по номеру рейса и дате рейса выводит несколько заявок, а должно выдать только одну. Если вводишь самый последний рейс в списке, то он выводится единственный, а если вводишь с 1 по предпоследний, то они все выводятся. Прилагаю код программы.
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
#include <iostream>
#include <string>
#include <iomanip>
#include "windows.h"
using namespace std;
 
struct Node
{
    char point[20];    //- пункт назначения;
    int reis;        //- номер рейса;
    char name[12];    //- фамилия пассажира;
    char surname[12];    //- имя
    char patr[12];    //- отчество
    char date[12];  //- желаемая дата вылета;
    Node * next;    // указатель на структуру заявка.
};
 
void Menu();
Node *first;
Node *addNode(Node *first); // - добавление заявок в список;
Node *deleteNode(Node *first); // - удаление заявок по заданному номеру рейса
void outNode(Node *first); // - вывод всех заявок.
void outNodeNum(Node *first); // вывод одной заявки
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int k = 5;
    while (k != 6)
    {   
        switch (k)
        {
        case 1: first = addNode(first); break;
        case 2: outNode(first); break;
        case 3: outNodeNum(first); break;
        case 4: first = deleteNode(first); break;
        case 5: Menu(); break;
        case 6: break;
        default: cout << "  ОШИБКА! Числа от 1 до 6.\n";     
        }
        cout << "\nВведите нужный пункт: ";
        cin >> k;
    }
    getchar(); // пауза    
    return 0;
}
 
 
void Menu()
{
    system("cls");
    cout << "\n";
    cout << "1 - Добавить заявку\n";
    cout << "2 - Вывести все заявки\n";
    cout << "3 - Вывести заявку по номеру рейса и дате вылета\n";
    cout << "4 - Удалить заявку\n";
    cout << "5 - Очистить экран\n";
    cout << "6 - Выход\n";
}
 
Node *addNode(Node *first)
{
    cout << "______________________________________________\n";
    Node *pv = new Node;
    cout << "Данные о заявке: \n";
    cout << "Введите пункт назначения > ";
    cin >> pv->point;
    cout << "Введите номер рейса > ";
    cin >> pv->reis;
    cout << "Введите фамилию пассажира > ";
    cin >> pv->name;
    cout << "Введите имя пассажира > ";
    cin >> pv->surname;
    cout << "Введите отчество пассажира > ";
    cin >> pv->patr;
    cout << "Введите дату вылета > ";
    cin >> pv->date;
    cout << "\n";
    pv->next = NULL;
    cout << "______________________________________________\n";
    if (first == NULL)
    {
        first = pv; 
    }
    else
    {
        Node *p = first;
        while (p->next != NULL)
        {
            p = p->next;
        }
        p->next = pv;
    }
    return first;
}
 
void outNode(Node *first)
{
    cout << setiosflags(ios::right);
    cout << "_________________________________________________________________\n";
    cout << "Данные по заявкам:\n";
    cout << "       Пункт  Номер    Фамилия      Имя      Отчество        Дата\n";
    cout << "  назначения  рейса  --------- ДАННЫЕ ПАССАЖИРА -----      вылета\n";
 
    Node *pv = first;
    while (pv)
    {
        cout << setw(12) << pv->point << setw(7) << pv->reis << setw(11) << pv->name;
        cout << setw(10) << pv->surname << setw(13) << pv->patr << setw(12) << pv->date << endl;
        pv = pv->next;
    }
    cout << "_________________________________________________________________\n";
}
 
void outNodeNum(Node *first)
{
    int num;
    string dat;
    Node *pv = first;
    cout << "Введите номер рейса: ";
    cin >> num;
    cout << "Введите дату: ";
    cin >> dat;
    int n = 1, fl = 0;
    while (pv)
    {
        if (pv->reis == num && pv->date == dat)
        {
            outNode(pv);
            break;
        }
        pv = pv->next;
    }
}
 
Node *deleteNode(Node *first)
{
    cout << "______________________________________________\n";
    cout << "Номер рейса, заявку по которому удалить: ";
    int num;
    cin >> num;
 
    Node *temp = first;
    int k = -1;
    int N = 0;
    while (temp)
    {
        if (temp->reis == num)
        {
            k = N;
        }
        temp = temp->next;
        N++;
    }
    N--;
    if (k != -1)
    {
        temp = first;
        // если нужно удалить 1-й узел и он единственный был в списке
        if (k == 0 && N == 0)
        {
            delete first;
            cout << "  Удаление прошло успешно!\n";
            cout << "______________________________________________\n";
            return NULL;
        }
        // если нужно удалить 1-й узел и он НЕ единственный в списке
        if (k == 0 && N > 0)
        {
            temp = temp->next;
            delete first;
            cout << "  Удаление прошло успешно!\n";
            cout << "______________________________________________\n";
            return temp;
        }
        // если нужно удалить узел где-то в середине списка, но не последнего
        Node *el = first;
        temp = first->next;
        while (temp->next)
        {
            if (temp->reis == num)
            {
                el->next = temp->next;
                delete temp;
                cout << "  Удаление прошло успешно!\n";
                cout << "______________________________________________\n";
                return first;
            }
            el = el->next;
            temp = temp->next;
        }
        // если нужно удалить последний узел
        el->next = NULL;
        delete temp;
        cout << "  Удаление прошло успешно!\n";
        cout << "______________________________________________\n";
        return first;
    }
    else
    {
        cout << "  Такого рейса нет или список пуст!\n";
        cout << "______________________________________________\n";
        return first;
    }
}


Вернуться к обсуждению:
Выводится несколько рейсов вместо одного C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2017, 21:14
Готовые ответы и решения:

Два раза выводится слово вместо одного
Здесь в первый раз &quot;Бот, &quot; выводится 2 раза, все последующие разы по 1 разу Вот отрывочек из...

Вместо одного принта и одного скана выводится 2 принта на один скан
Первый цикл проходит нормально, а далее небольшая проблемка. Вместо одного принта и одного скана...

Значение два раза выводится в таблицу вместо одного
Есть вот такой код для кнопки. Суть проблемы в том, что расчитываемый результат в нужную мне...

Цикл прокручивается несколько раз, вместо одного
Добрый вечер. Недавно начал изучать Java. Написал простенькую программу с &quot;System.in.read()&quot; и...

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

Вместо создания одного массива создает несколько
Здравствуйте. Простите за наглость но задам два вопроса. 1 Вместо одного массива создает...

Происходит несколько редиректов 301 вместо одного
Здравствуйте. Проблема следующего характера. Сайт переехал на новый движок. С вордпресса на модекс....

Explorer отправляет несколько post запросов вместо одного
Через мазилу и гуглхром работает нормально, но вот эхплорер11 почему-то шлёт по несколько запросов...

Asus x55a - Клавиатура: скачет курсор, несколько символов вместо одного
При наборе текста проявляются след. проблемы: 1. Курсор может переместиться в произвольное...

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