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

Класс + Очередь

09.03.2017, 23:36. Показов 971. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток!
Есть следующая задача.
Имеется класс Студенты, который хранит: номер, ФИО студента, один предмет и средний бал.
Реализовано меню со след. пунктами:
1- Ввести информацию о студенте
2- Вывести инфор. обо всех студентах
3- Удалить выбранную запись
4- Редактировать запись
5- Найти студента по предмету
6- выход
Все реализовано через очередь.
Все отлично работает кроме 5 пункта.
Необходимо реализовать его через дружественную функцию, но я не совсем понимаю, как? В эту функцию необходимо передать очередь как параметр.
Я понимаю, что очередь необходимо проходить от головы до хвоста. Будьте так добры наставить меня на путь истины. Пытаюсь вот что сделать но ошибка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Queue:: subject(Queue q)
{
        string str;
        cout<<"Enter subject: ";
        cin>>str;
 
    for (Node *ptr=head; ptr!=NULL; ptr=ptr->next)
            if(str.compare(ptr->info.q)!=0)
            {
                cout<<"NO!!!!!!!!";
            }
            else
            {
                ptr->info.show();
            }
    
}
За любую помощь буду очень благодарен!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2017, 23:36
Ответы с готовыми решениями:

Создайте класс, в котором есть ostream& operator<<. Класс должен содержать очередь с приоритетом
Создайте класс, в котором есть ostream&amp; operator&lt;&lt;. Класс должен содержать очередь с приоритетом....

Класс-очередь
Вечер добрый! Собственно задание: Определить и реализовать класс. Определить и реализовать...

класс очередь
реализовать класс очередь, написать прототипы необходимых функций-членов к нему, 2 из них...

Очередь и класс
Всем привет! Нужна консультация в таком вопросе. Есть класс: class myclass { char* author;...

6
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
09.03.2017, 23:42 2
ну было бы хорошо увидеть всю программу
0
0 / 0 / 0
Регистрация: 01.02.2017
Сообщений: 7
09.03.2017, 23:45  [ТС] 3
Azazel-San
вы если можете опишите хотя просто словами порядок действий, а я уже буду разбиратся
0
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
09.03.2017, 23:57 4
nik56, попробуйте сделать через рекурсию
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
10.03.2017, 12:30 5
Как то так.
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
#include <iostream>
#include <queue>
#include <string>
 
struct Student
{
    std::string subject;
    unsigned no;
    // и многое многое другое
};
 
int main()
{
    std::queue<Student> q;
    q.push({"eniki", 0});
    q.push({"beniki", 1});
    q.push({"eli", 2});
    q.push({"vareniki", 3});
    const std::string key = "eli";
 
    const std::queue<Student> backup(q);
    while (!q.empty() && q.front().subject != key)
        q.pop();
 
    if (q.empty())
        std::cout << "No such\n";
    else
        std::cout << q.front().no << std::endl;
 
    q = backup; // restore
}
0
0 / 0 / 0
Регистрация: 01.02.2017
Сообщений: 7
10.03.2017, 16:38  [ТС] 6
MrGluck, Спасибо, но у меня очередь не добавлена как заголовочный файл #include <queue>, я ее пишу собственно ручно. не подскажите как поступить тогда? Спасибо
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
10.03.2017, 16:41 7
Цитата Сообщение от nik56 Посмотреть сообщение
не подскажите как поступить тогда?
Я показал подход, а как работать с вашей очередью - без понятий, вы же даже не выложили её исходник.
Да и подход в любом случае должен быть таким же.
0
10.03.2017, 16:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2017, 16:41
Помогаю со студенческими работами здесь

Параметризованый класс - очередь
Здравствуйте всем. Я тут пытаюсь сделать задание на программированию но у меня не получается. Прошу...

Класс двусторонняя очередь
Проблема: С методом pop_back(удалением с конца) Так-же помогите перезагрузить оператор(Выводит...

Класс Очередь с приоритетом
Oчередь с приоритетами Создайте класс PriorityQueue со следующим интерфейсом конструктор по...

Создать класс List - очередь
Создать класс List - очередь. Определить операторы &quot;+&quot; – сложения списков, &quot;-&quot; – вычитание (как в...

Класс «Дек» (двусторонняя очередь)
Помогите, задание : Класс «Дек» (двусторонняя очередь). Методы: добавление и удаление элементов....

Класс круговая очередь Помoгите плз
У меня задание создать круговую очередь( я тока начал изучать классы так что многово не понимаю ) ...


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

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

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