Форум программистов, компьютерный форум CyberForum.ru

Класс Invoice (накладная) - C++

Восстановить пароль Регистрация
 
bujlka
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 18
22.11.2012, 21:05     Класс Invoice (накладная) #1
Вообщем проблема в том , что я не могу разобрать что и куда , подобного класса в полном описании найти не могу сама задача вбивает меня в ступор , если у кого будет время прошу помогите кодом с коментами.
Собственно задача


Создайте класс Invoice (накладная), который мог бы использоваться на складе хозяйственных товаров для представления накладных на товары, отпускаемые со склада. Класс должен включать шесть полей в качестве элементов данных: идентификационный номер изделия (тип целых чисел), артикул изделия (строковый тип), описание изделия (строковый тип), число отпускаемых единиц изделия (тип целых чисел), цена за одно изделие (тип целых чисел) и дату оформления. Класс должен иметь конструктор, инициализирующий шесть элементов данных. Для каждого элемента реализовать set- и get-функции. Предусмотреть функцию getInvoiceAmount(), вычисляющую общую сумму накладной (умножает цену одного изделия на число изделий) и возвращает ее как целое число. Если число изделий не положительно, оно должно устанавливаться равным 0. Разработать программу, в которой создается массив объектов данного класса. В программе организовать:
- добавление изделия на склад хозяйственных товаров;
- удаление изделия со склада хозяйственных товаров;
- поиск изделия по идентификационному номеру;

P.S. это не халява и прочее , просто действительно не могу дойти до этого
Вообщем не могу дальше и говорить нечего не понимаю и все хз что это
вот что имеем
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
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
 
class Invoice
{
public:
void setPartNumber (string number)
{
product = number;
}
string getPartNumber()
{
return product;
}
void setPartDescription (string desc)
{
description = desc;
}
string getPartDescription()
{
return description;
}
void setPartArtikul (string art)
{
Artikul = art;
}
string getPartArtikul()
{
return Artikul;
}
 
 
void setQuantityPurchased (int amount)
{
quantity = amount;
}
int getQuantityPurchased()
{
return quantity;
}
void setPriceItem (float price)
{
prices = price;
}
float getPriceItem()
{
return prices;
}
void getInvoiceAmount()
{
float total = quantity * prices;
cout << "Artikul tovara:" << getPartArtikul()<< "\nProdukt#: " << getPartNumber() << "\nopisanie: " << getPartDescription() << "\nKol-vo: " << getQuantityPurchased() << "\nCena: " << getPriceItem() << "\nego obshaya: " << total << endl;
}
private:
int quantity;
float prices;
string product;
string description;
string Artikul;
};
 
 
int main()
{
Invoice invoice1;
Invoice invoice2;
 
invoice1.setPartDescription("Plombir");
invoice1.setPartArtikul("12.210.1");
invoice1.setPartNumber("12345");
invoice1.setPriceItem(4.99);
invoice1.setQuantityPurchased(5);
 
invoice1.getInvoiceAmount();
 
invoice2.setPartDescription("Spichki");
invoice2.setPartArtikul("21.11.126");
invoice2.setPartNumber("111");
invoice2.setPriceItem(.99);
invoice2.setQuantityPurchased(75);
 
invoice2.getInvoiceAmount();
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2012, 21:05     Класс Invoice (накладная)
Посмотрите здесь:

C++ Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ...
Иерархия геометрических объектов: клас точка->класс квадрат->класс прямоугольник C++
Создать класс Pair(пара чисел) и класс-наследник Fraction C++
C++ Класс домов и класс улиц для учета поступлений квартплаты. Массив
C++ Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bujlka
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 18
27.11.2012, 14:45  [ТС]     Класс Invoice (накладная) #2
ну что же никто не может помочь ?!
Gibsonius
 Аватар для Gibsonius
4 / 4 / 0
Регистрация: 26.09.2012
Сообщений: 27
02.07.2013, 16:45     Класс Invoice (накладная) #3
Может кому-нибудь пригодится:
Кликните здесь для просмотра всего текста
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
// заголовочный файл Invoice.h
#include <iostream>
#include <string>
 
using std:: cout;
using std:: endl;
using std:: string;
 
// создать класс invoice
class Invoice
{
    // элементы данных
private:
    string articul; // артикул изделия
    string opisanie; // описание изделения
    int izdelia; // количество выпускаемых изделий
    int cost; // стоимость изделия
    
public:
    Invoice( string, string, int, int  ); // конструктор всех элементов данных
    void setArticulName( string ); // элемент - функция инициализирует элемент данных articul
    void setOpisanieName( string );
    void setIzdelia( int );
    void setCost( int );
    string getArticulName();// элемент - функция просматривает значения элемент данных articul
    string getOpisanieName();
    int getIzdelia();
    int getCost();
    int getInvoiceAmount();// элемент - функция вычисляет общую сумму накладной и возращает её как целое число 
};
 
// файл исходного кода Invoice.cpp
#include <iostream>
#include <string>
#include "Invoice.h"
 
using std:: cout;
using std:: endl;
using std:: string;
 
Invoice::Invoice( string name, string name2, int colichestvo, int stoimost) // конструктор инициализирует элементы данных
{
    setArticulName( name ); // инициализируется вызовом set функции
    setOpisanieName( name2 );
    setIzdelia( colichestvo );
    setCost( stoimost );
}
 
// функция для установки названия артикула
void Invoice::setArticulName( string name )
{
    articul = name; // сохранить название артикула в объекте
}
 
void Invoice::setOpisanieName( string name2 )
{
    opisanie = name2;
}
 
void Invoice::setIzdelia( int colichestvo )
{
    izdelia = colichestvo;
}
 
void Invoice::setCost( int stoimost )
{
    cost = stoimost;
}
 
// функция для получения названия артикула
string Invoice::getArticulName()
{
    return articul; // возвратить артикул объекта
}
 
string Invoice::getOpisanieName()
{
    return opisanie;
}
 
int Invoice::getIzdelia()
{
    return izdelia;
}
 
int Invoice::getCost()
{
    return cost;
}
 
// элемент функция, которая вычисляет общую сумму накладной
int Invoice::getInvoiceAmount()
{
    int summ;
 
    if ( izdelia < 0 )
        izdelia = 0;
 
    summ = cost * izdelia;
 
    return summ;
}
 
 
// main.cpp
#include <iostream>
#include <string>
#include <conio.h>
#include "Invoice.h"
 
using std::cout;
using std::endl;
using std:: string;
 
int main ()
{
    setlocale ( LC_ALL, "Russian" );
 
    Invoice myInvoice( "0156 ", "Гелевая ручка ", 10, 120 );
    myInvoice.getArticulName();
    myInvoice.getOpisanieName();
    myInvoice.getIzdelia();
    myInvoice.getCost();
    myInvoice.getInvoiceAmount();
    
    cout <<"Артикул: "<< myInvoice.getArticulName() << endl;
    cout <<"Название товара: "<< myInvoice.getOpisanieName() << endl;
    cout <<"Количество (шт): "<< myInvoice.getIzdelia() << endl;
    cout <<"Стоимость (одной штуки): "<< myInvoice.getCost() << endl;
    cout << "Общая сумма = " << myInvoice.getInvoiceAmount() << endl;
 
    getch();
    return 0;
}
System16v
 Аватар для System16v
3 / 3 / 0
Регистрация: 19.02.2014
Сообщений: 115
04.03.2015, 13:26     Класс Invoice (накладная) #4
А может кто помочь просто объяснить.Изучаю книгу и там тоже задание только нет последних 3ех пунктов (хотя я их в коде что выше выложен тоже не наблюдаю,ну да ладно). Сам то код у меня получилось написать,он конечно не такой как выше,может кто объяснить есть ли существенная разница между моим и эти кодом,имею ввиду например в коде выше конструктор используется с параметрами,а у меня похоже по умолчанию.Как лучше писать программу? В виде как выше предоставлен код(в отличии от моего,ну и почему)?Или существенной разницы нет?Извиняюсь если вопрос глупый,я только начинающий...и еще учусь
Вот мой код:
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
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
 
class Invoice
{
        private:
         string articule, opisanie;
         int chislo, cena;
        public:
        Invoice()
        {
        articule="-";
        opisanie="-";
        chislo=0;
        cena=0;
cout << "Vsem dannim prosvoeni nachalnie znacheniya: \narticule: " << articule <<endl;
cout << "opisanie: " << opisanie <<endl;
cout << "chislo: " << chislo <<endl;
cout << "cena: " << cena <<endl;
        }
                void setArticule()
                {
                cout << "\nVvedite articule: " <<endl;
                cin >> articule;
                }
                void setOpisanie()
                {
                cin.ignore();
                cout << "Vvedite opisanie: " <<endl;
                getline (cin,opisanie);
                }
                void setChislo()
                {
                cout << "Vvedite chislo izdelii: " <<endl;
                cin >> chislo;
                }
                void setCena()
                {
                cout << "Vvedite ceny: " <<endl;
                cin  >> cena;
                }
                void getArticule()
                {
                cout << "\nArticule= " << articule <<endl;
                }
                void getOpisanie()
                {
                cout << "Opisanie= " << opisanie <<endl;
                }
                void getChislo()
                {
                cout << "Chislo izdelii= " << chislo <<endl;
                }
                void getCena()
                {
                cout << "Cena= " << cena <<endl;
                }
                void getInvoiceAmount()
                {
                int a;
                if ((chislo)*(cena)>=0)
                {
                a=(chislo)*(cena);
                cout << "Symma deneg za izdeliya= " << a <<endl;
                }
                else if (chislo<0)
                {
                a=0;
                cout << "Symma deneg za izdeliya= " << a <<endl;
                }
                }
};
        int main()
        {
                Invoice sklad;
                sklad.setArticule();
                sklad.setOpisanie();
                sklad.setChislo();
                sklad.setCena();
                sklad.getArticule();
                sklad.getOpisanie();
                sklad.getChislo();
                sklad.getCena();
                sklad.getInvoiceAmount();
                system("pause");
                return 0;
         }
Миниатюры
Класс Invoice (накладная)  
Yandex
Объявления
04.03.2015, 13:26     Класс Invoice (накладная)
Ответ Создать тему
Опции темы

Текущее время: 04:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru