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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2012, 12:15   #1
нона
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 14
По умолчанию композиция классов с++

Условие: Класс товары(goods). Поле дата вводитса с помощью класса date.Как это реализовать в плане вложености класса в класс. Я вот написала оба класса если кто то может то поменяйте в тексте проги куда что нада вставить. И еще помогите реализовать метод вычисляющий срок хранения товара.
нона вне форума Ответить с цитированием
Старый 06.05.2012, 12:17   #2
нона
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 14
По умолчанию

Код:
class Date
{
 unsigned int day,month,year;
 public:
 friend class ;
};
class Goods
{
{
        private:
   char* naimenovanie_tovara;
   char* data_oformleniya;
   float cena_tovara;
   int kolichestvo_edinic_tovara;
   int nomer_nakladnoi;
           public:
    friend class Date;
    Date date;
    void Read();
    void Display();
    float Izmenenie_cenu_tovara();
    float Izmenenie_kolichestva_tovara();
    float Vuchislenie_stoimosti_tovara();
    float data_postyplenya_tovara ();
    float srok_hranenya ();
};
нона вне форума Ответить с цитированием
Старый 06.05.2012, 12:21   #3
нона
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 14
По умолчанию продолжение кода

Код:
void Goods::Read()
{
while(true)
    {
        cout<<"Vvedite naimenovanie tovara: ";
        cin>>naimenovanie_tovara;
        cout<<"Vvedite daty oformleniya: ";
        cin>>data_oformleniya;
        cout<<"Vvedite ceny tovara: ";
        cin>>cena_tovara;
        cout<<"Vvedite kolicestvo edinic tovara: ";
        cin>>kolichestvo_edinic_tovara;
        cout<<"Vvedite nomer nakladnoi: ";
        cin>>nomer_nakladnoi;
        if(cin.peek()=='\n' && cena_tovara>=0.0 && kolichestvo_edinic_tovara>=0 && nomer_nakladnoi>=0)
        {
            cin.get();
            break;
        }
        else
        {
            cout<<endl<<"Oshibka!!! Prover'te vvodimue znacheniya."<<endl;
            cout<<"Vvedite vse znaceniya povtorno: "<<endl;
            cin.clear();
            while(cin.get()!='\n') {  }
        }
    }
    cout<<"Znacheniya vvedenu verno."<<endl;
}
float Goods::Izmenenie_cenu_tovara()
{
    float novaya_cena,konechnaya_cena;
    int vubor;
    cout<<" Izmenenie cenu tovara."<<endl;
    while(true)
    {
        cout<<"Vvedite ceny tovara: ";
        cin>>novaya_cena;
        if(cin.peek()=='\n' && novaya_cena>=0.0)
        {
            cin.get();
            break;
        }
        else
        {
            cout<<endl<<"Oshibka!!! Prover'te vvodimoe znacheniye."<<endl;
            cout<<"Vvedite znacenie povtorno: "<<endl;
            cin.clear();
            while(cin.get()!='\n') {  }
        }
    }
    cout<<"Znachenie vvedeno verno."<<endl<<endl;
    cout<<"Vuberite nugnoe deistvie s vvedennum znacheniem: "<<endl;
    cout<<"1. Yvelichit' na vvedennyu velichinu."<<endl;
    cout<<"2. Ymen'shit' na vvedennyu velichinu."<<endl;
    cout<<"3. Zamenit' znachenie cenu na vvedennyu velichinu."<<endl;
    cout<<"4. Ostavit' ceny tovara pregnei."<<endl;
    cout<<"Vuberite deistvie soglasno punktam menu: ";
    cin>>vubor;
нона вне форума Ответить с цитированием
Старый 06.05.2012, 12:22   #4
нона
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 14
По умолчанию

Код:
  switch(vubor)
    {
        case 1: konechnaya_cena=cena_tovara+novaya_cena;
                cout<<"Konechnaya cena tovara ravna: "<<konechnaya_cena<<endl<<endl;
                break;
        case 2: konechnaya_cena=cena_tovara-novaya_cena;
                cout<<"Konechnaya cena tovara ravna: "<<konechnaya_cena<<endl<<endl;
                break;
        case 3: konechnaya_cena=novaya_cena;
                cout<<"Konechnaya cena tovara ravna: "<<konechnaya_cena<<endl<<endl;
                break;
        case 4: konechnaya_cena=cena_tovara;
                cout<<"Konechnaya cena tovara ravna: "<<konechnaya_cena<<endl<<endl;
                break;
        default: cout<<"Nevernui vvod."<<endl<<endl;
                 break;
    }
    return konechnaya_cena;
}
 
float Goods::Izmenenie_kolichestva_tovara()
{
    int novoe_kolichestvo,konechnoe_kolichestvo;
    int vubor;
    cout<<" Izmenenie kolichestva tovara."<<endl;
    while(true)
    {
        cout<<"Vvedite kolichestvo tovara: ";
        cin>>novoe_kolichestvo;
        if(cin.peek()=='\n' && novoe_kolichestvo>=0)
        {
            cin.get();
            break;
        }
        else
        {
            cout<<endl<<"Oshibka!!! Prover'te vvodimoe znacheniye."<<endl;
            cout<<"Vvedite znacenie povtorno: "<<endl;
            cin.clear();
            while(cin.get()!='\n') {  }
        }
    }
    cout<<"Znachenie vvedeno verno."<<endl<<endl;
    cout<<"Vuberite nugnoe deistvie s vvedennum znacheniem: "<<endl;
    cout<<"1. Yvelichit' na vvedennyu velichinu."<<endl;
    cout<<"2. Ymen'shit' na vvedennyu velichinu."<<endl;
    cout<<"3. Zamenit' znachenie kolichestva tovara na vvedennyu velichinu."<<endl;
    cout<<"4. Ostavit' kolichestvo tovara pregnim."<<endl;
    cout<<"Vuberite deistvie soglasno punktam menu: ";
    cin>>vubor;
    switch(vubor)
    {
        case 1: konechnoe_kolichestvo=kolichestvo_edinic_tovara+novoe_kolichestvo;
                cout<<"Konechnoe kolichestvo tovara ravno: "<<konechnoe_kolichestvo<<endl<<endl;
                break;
        case 2: konechnoe_kolichestvo=kolichestvo_edinic_tovara-novoe_kolichestvo;
                cout<<"Konechnoe kolichestvo tovara ravno: "<<konechnoe_kolichestvo<<endl<<endl;
                break;
        case 3: konechnoe_kolichestvo=novoe_kolichestvo;
                cout<<"Konechnoe kolichestvo tovara ravno: "<<konechnoe_kolichestvo<<endl<<endl;
                break;
        case 4: konechnoe_kolichestvo=kolichestvo_edinic_tovara;
                cout<<"Konechnoe kolichestvo tovara ravno: "<<konechnoe_kolichestvo<<endl<<endl;
                break;
        default: cout<<"Nevernui vvod."<<endl<<endl;
                 break;
    }
    return konechnoe_kolichestvo;
}
 
float Goods::Vuchislenie_stoimosti_tovara()
{
    float stoimost_tovara;[/INDENT][/INDENT]    stoimost_tovara=Izmenenie_cenu_tovara()*Izmenenie_kolichestva_tovara();
    cout<<" Vuchislenie stoimosti tovara."<<endl;
    if(stoimost_tovara<0)
    {
        cout<<"V sledyushii raz bud'te vmimatel'nu."<<endl;
        cout<<"V resul'tate nevernux dannux poluchim sleduushii rezultat: "<<endl;
        cout<<"Stoimost' tovara sostavit: "<<stoimost_tovara<<endl;
    }
    else cout<<"Stoimost' tovara sostavit: "<<stoimost_tovara<<endl;
    cout<<"Stoimost' tovara strokoi:  "<<ToString(stoimost_tovara)+" denegnux edenic"<<endl;
    return stoimost_tovara;
}
 
void Goods::Display()
{
    cout<<endl;
    Vuchislenie_stoimosti_tovara();
    cout<<endl;
}
 float Goods:: data_postyplenya_tovara ();
 {
    int i,day=0,month=0,year=0;
    char buf[11];
    for(int i=0,j=0,m=0;i<=strlen(str);i++)
    {
        if(str[i]=='.'||!str[i])
        {
            switch(j)
            {
                case 0: day=atoi(buf);   j++; m=0; break;
                case 1: month=atoi(buf); j++; m=0; break;
                case 2: year=atoi(buf);  j++; m=0; break;
            }
        }
        else
        {
            buf[m]=str[i];
            m++;
            buf[m]='\0';
        }
    }
    cout<<" Inithializaciya strokoi."<<endl;
    cout<<"Date in char:     "<<str<<endl;
    cout<<"Date in int:      "<<year<<":"<<month<<":"<<day<<endl;
 
 
getch ();
}
нона вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассоциация Агрегация Композиция. Артурик Помощь студентам 1 28.06.2011 13:15
Композиция класов fantom_ZET Общие вопросы C/C++ 6 31.10.2010 16:50
Формирование изображения (редактирование, композиция) TIgor4 Мультимедиа в Delphi 2 28.02.2010 21:03
Классы С++ (Композиция) werser Помощь студентам 12 01.12.2009 18:55
Создание классов и использование объектов классов при написании программ в среде C++. Frozen inside Помощь студентам 0 16.04.2009 23:18