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

Что не так в очереди? С++

02.04.2017, 14:35. Показов 448. Ответов 0

Author24 — интернет-сервис помощи студентам
Друзья, подскажите, пожалуйста, что не так в коде? Программа должна считывать слово в консольном окне, и выполнять определенную функцию. push=добавление элемента, введенного с клавиатуры, pop=удаление элемента и возвращение его значения, front=возвращение значения элемента, size=размер очереди, clear=очистить очередь, exit=вывод слова "bye" и завершение работы. Проблема - программа больше одной функции не выполняет.

Добавлено через 8 минут
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
#include <iostream>
#include <string>
using namespace std;
 
struct node
{
    int d;
    node *n;
};
 
node *first();
void push(node **pend, node **pbeg);
void pop(node **pbeg);
void front(node **pbeg);
void size(node **pbeg);
void clear(node **pbeg);
void exit();
 
 
int main()
{
    node *pbeg = NULL;
    node *pend = NULL;
    for (int i = 1; i > 0; i++)
    {
        string x;
        cin >> x;
        if (x == "push")
            push(&pbeg, &pend);
        else
        if (x == "pop")
            pop(&pbeg);
        else
        if (x == "size")
            size(&pbeg);
        else
        if (x == "front")
            front(&pbeg);
        else
        if (x == "clear")
            clear(&pbeg);
        else
        if (x == "exit")
        {
            exit();
            break;
        }
    }
 
    return 0;
}
 
node *first()
{
    node *pv = new node;
    cin >> pv->d;
    pv->n = 0;
    cout << "ok" << endl;
    return pv;
}
 
void push(node **pend, node **pbeg)
{
    if (*pbeg == NULL)
    {
        *pend = first();
        *pbeg = first();
    }
    else
    {
        node *pv = new node;
        cin >> pv->d;
        pv->n = 0;
        (*pend)->n = pv;
        *pend = pv;
        cout << "ok" << endl;
    }
}
 
void pop(node **pbeg)
{
    int temp = (*pbeg)->d;
    node *pv = *pbeg;
    *pbeg = (*pbeg)->n;
    delete pv;
    cout << temp << endl;
}
 
void front(node **pbeg)
{
    int temp = (*pbeg)->d;
    cout << temp << endl;
}
 
void size(node **pbeg)
{
    int size = 0;
    node *pv = *pbeg;
    while (*pbeg)
    {
        size++;
        *pbeg = (*pbeg)->n;
    }
    *pbeg = pv;
    cout << size << endl;
}
 
void clear(node **pbeg)
{
    while (*pbeg)
    {
        node *pv = (*pbeg)->n;
        delete *pbeg;
        *pbeg = pv;
    }
    cout << "ok" << endl;
}
 
void exit()
{
    cout << "bye" << endl;
    return;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2017, 14:35
Ответы с готовыми решениями:

При нажатии сделать так что бы числа выводились в label по очереди
при нажатии сделать так что бы числа выводились в label по очереди . то есть нажал на кнопку и...

Как сделать так что бы по нажатию одной кнопки нажимались по очереди две?
Поясню на примере. Допустим нажимаю я кнопку K и в первый раз вместо K реализуется 1, а во второй...

Поменять в очереди первый элемент со вторым, третий с четвертым и так далее до конца очереди
Дана очередь из целых чисел. Поменять в очереди первый элемент со вторым, третий с четвертым и так...

Нужно сделать программу с Shape, когда по очереди появляются 3 разных фигуры.Подскажите, что не так
procedure TForm1.FormCreate(Sender: TObject); var k:integer; begin k:=k+1; if k mod 3=1 then ...

0
02.04.2017, 14:35
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.04.2017, 14:35
Помогаю со студенческими работами здесь

Что не так с кодом? ( пытаюсь понять, что не так? )
Есть исходный код. Hook, работает хорошо, но есть минус огромный - перестаёт писать в лог, при...

И так, что не так с моим запросом на добавление записи в таблицу?
$sql = 'INSERT INTO product ' . '(name, code, price, category_id, brand,...

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее?
Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ float...

сегодня так можно сказать праздник так что...
простите меня за все пожалуйста!!!


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

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

Новые блоги и статьи
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru