Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2022, 23:13   #1
Zakhar_Titar
 
Регистрация: 26.01.2022
Сообщений: 4
По умолчанию Классы, методы класса

Тип «Повар» определить как класс, содержащий:
- закрытые поля с именем и фамилией, реализованные в виде символьных строк
произвольной длины;
Тип «Блюда» определить как класс, содержащий:
- закрытые поля типа символьной строки с названием, целое со стоимостью и типа «Повар»
с информацией о поваре;
Загвоздка в том, что при заполнении информации о блюде, необходимо указать, к какому именно повару она относится.
Заранее благодарю!
Код:
#include <windows.h>
#include <iostream>
#include <cmath>
#include<string>
using namespace std;
class Povar {
    public:
        string firstname, secname;
};
class Strava {
public:
    string eda;
    int price;
};


int main()
{
    
    return 0;
}
Zakhar_Titar вне форума Ответить с цитированием
Старый 22.07.2022, 23:45   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

А в чем загвоздка? Вы же определили класс Povar. Так и передавайте значение этого класса, чтобы определить повара.
macomics вне форума Ответить с цитированием
Старый 24.07.2022, 18:33   #3
Zakhar_Titar
 
Регистрация: 26.01.2022
Сообщений: 4
По умолчанию

Тип «Повар» определить как класс, содержащий:
- закрытые поля с именем и фамилией, реализованные в виде символьных строк
произвольной длины;
- все функции реализовать в соответствии с общими требованиями.
Тип «Блюда» определить как класс, содержащий:
- закрытые поля типа символьной строки с названием, целое со стоимостью и типа «Повар»
с информацией о поваре;
- все функции реализовать в соответствии с общими требованиями.
В тестовом примере создать объекты типа «Повар» и «Блюда» соответственно
общим требованиям и вывести информацию о них в полном и сокращенном
виде
Есть два класса: повар и блюдо. Необходимо заполнить информацию о поваре(имя и фамилию) и о еде (как называется, сколько стоит и кто приготовил)
Потом нужно все вывести на экран.Я ввел временные переменные temp1 и temp2 которые хранят в себе инфу о имени и фамилии повара, когда мы присваиваем их к блюду.Ввод через иф организовал. Проблема заключается вот в чем: я ввожу 3 повара, и когда начинаю вводить инфу о еде,а именно кто приготовил, то программа говорит, что введенные имена для поваров не существуют + проблема с getline(cin, "что-то"), не всегда срабатывают и ,бывает, пропускаются. Заранее спасибо.Ввод и вывод организовал через функции.
Код:
#include <windows.h>
#include <iostream>
#include <cmath>
#include<string>
using namespace std;
class Bliudo {
public:
    string eda; //название блюда
    int price; //цена
    string avtorn, avtors;// имя и фамилия повара
 
};
class Povar {
public:
    string firstname, secname; //Имя и фамилия повара
    string dish;//То,что он приготовил
 
};
Bliudo eda1, eda2, eda3; // создаю три элемента класса еда(будет 3 блюда)
Povar man1, man2, man3;// так же делаю 3 элемента класса повар(3 повара)
 
void enter() {
    string temp1, temp2;//временные переменные, которые хранят имя и фамилию повара
    cout << "Введите имя первого повара: ";//Ввод имени и фамилии
    getline(cin, man1.firstname);
    cout << "Введите фамилию первого повара: ";
    getline(cin, man1.secname);
    cout << endl;
    cout << "Введите имя второго повара: ";
    getline(cin, man2.firstname);
    cout << "Введите фамилию второго повара: ";
    getline(cin, man2.secname);
    cout << "Введите имя третьего повара: ";
    getline(cin, man3.firstname);
    cout << "Введите фамилию третьего повара: ";
    getline(cin, man3.secname);
    for (int i = 1; i <= 3; i++) //3 раза цикл сверяет, кто и что приготовил
    {
        cout << "Введите название " << i << "-го " << " блюда: ";
        getline(cin, eda1.eda);
        cout << "Введите стоимость блюда (" << eda1.eda << ") :";
        cin >> eda1.price;
        cin.get();
        cout << "Укажите имя повара блюда (" << eda1.eda << ") :";
        getline(cin, temp1);
        cout << "Укажите фамилию повара блюда ( " << eda1.eda << ") :";
        getline(cin, temp2);
        if (temp1 == man1.firstname && temp2 == man1.secname)
        {
            man1.dish == eda1.eda;
            eda1.avtorn == man1.firstname;
            eda1.avtorn == man1.secname;
        }
        if (temp1 == man2.firstname && temp2 == man2.secname)
        {
            man2.dish == eda2.eda;
            eda2.avtorn == man2.firstname;
            eda2.avtorn == man2.secname;
        }
        if (temp1 == man3.firstname && temp2 == man3.secname)
        {
            man3.dish == eda3.eda;
            eda3.avtorn == man3.firstname;
            eda3.avtorn == man3.secname;
        }
        else {
            cout << "Данные введены некорректно!" << endl;
        }
    }
}
void print() { // вывод
    cout << "Блюдо " << eda1.eda << " приготовил повар " << eda1.avtorn << " " << eda1.avtors << ".Стоимость($): " << eda1.price << endl;
    cout << "Блюдо " << eda2.eda << " приготовил повар " << eda2.avtorn << " " << eda2.avtors << ".Стоимость($): " << eda2.price << endl;
    cout << "Блюдо " << eda3.eda << " приготовил повар " << eda3.avtorn << " " << eda3.avtors << ".Стоимость($): " << eda3.price << endl;
}
int main()
{
    SetConsoleOutputCP(1251);
    enter();
    print();
    return 0;
 
}
Zakhar_Titar вне форума Ответить с цитированием
Старый 24.07.2022, 20:36   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от Zakhar_Titar Посмотреть сообщение
Тип «Повар» определить как класс, содержащий:
- закрытые поля с именем и фамилией, реализованные в виде символьных строк
Код:
class Povar {
public:
    string firstname, secname; //Имя и фамилия повара
    string dish;//То,что он приготовил
 
};
И где же они закрытые?
Цитата:
Сообщение от Zakhar_Titar Посмотреть сообщение
Тип «Блюда» определить как класс, содержащий:
- закрытые поля типа символьной строки с названием, целое со стоимостью и типа «Повар»
с информацией о поваре
;
Код:
class Bliudo {
public:
    string eda; //название блюда
    int price; //цена
    string avtorn, avtors;// имя и фамилия повара
 
};
Тот же вопрос. Но еще при этом ясно написано какого типа должно быть третье поле. Почему у вас их четыре.
Код:
        if (temp1 == man1.firstname && temp2 == man1.secname)
        {
            man1.dish == eda1.eda;
            eda1.avtorn == man1.firstname;
            eda1.avtorn == man1.secname;
        }
        if (temp1 == man2.firstname && temp2 == man2.secname)
        {
            man2.dish == eda2.eda;
            eda2.avtorn == man2.firstname;
            eda2.avtorn == man2.secname;
        }
        if (temp1 == man3.firstname && temp2 == man3.secname)
        {
            man3.dish == eda3.eda;
            eda3.avtorn == man3.firstname;
            eda3.avtorn == man3.secname;
        }
А чему равны значения в переменных temp1 и temp2? Про цикл даже не хочу спрашивать.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы и методы bITA666 Помощь студентам 1 29.05.2021 14:10
Классы и методы Of_value Общие вопросы C/C++ 1 28.09.2014 07:28
Реализация работы с классами, конструктор, методы класса и переменные класса / Java EE (J2EE) pashkevych Помощь студентам 60 21.08.2014 10:49
Классы и методы в JAVA KIKSa Помощь студентам 0 07.04.2013 19:22
Классы и методы класса Exploit Помощь студентам 9 17.12.2006 18:21