Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HArD_
2 / 2 / 1
Регистрация: 03.07.2014
Сообщений: 8
#1

Создать класс, содержащий информацию о товарах - C++

11.08.2014, 01:23. Просмотров 794. Ответов 8
Метки нет (Все метки)

Обучаюсь. В чем проблема подскажите...
ссылка - код
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2014, 01:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создать класс, содержащий информацию о товарах (C++):

Определить класс химический элемент, содержащий информацию о названии элемента его химических свойствах. Определить класс медикаменты, содержащий разн - C++
Определить класс химический элемент, содержащий информацию о названии элемента его химических свойствах. Определить класс медикаменты,...

Создать файл, содержащий сведения о товарах в магазине - C++
Привет ребят. Подсобите с задание, а то понятия не имею как делать! Создать файл, содержащий сведения о товарах в магазине: ...

Класс содержащий персональную информацию человека - C++
Реализовать класс, содержащий данные для хранения фамилии, возраста, профессии, домашнего адреса и телефона человека. Написать метод,...

Создать файл, содержащий информацию о студентах - C++
Создать файл, содержащий информацию о студентах, которые прибыли в лагерь. Структура записи: - Фамилия, - Номер отряда, -...

Описать класс Cat, содержащий информацию об одном коте (кличка и год рождения) - C++
Описать на языке СИ++ класс Cat, содержащий информацию об одном коте (кличка и год рождения). Переменные класса должны быть закрытыми...

Создать список, содержащий информацию о жителях города - C++
Помогите пожалуйста дописать лабу вот задание:(Создать список, содержащий информацию о жителях города. (поля: фамилия, адрес, возраст)....

8
Toshkarik
1148 / 865 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
11.08.2014, 02:46 #2
И в чем же у Вас проблема? Вряд ли кто то будет копировать Ваш код и компилировать. Показывайте Ваши ошибки.
PS: Первое, что сразу бросилось - много ненужных проверок. И неправильный вызов функции:
C++
1
telefon_motorolla.getPrice;
Должно быть:
C++
1
telefon_motorolla.getPrice();
Ну и он сам по себе бессмысленен. Вам нужно что то вроде этого:
C++
1
std::cout << "Price: " << telefon_motorolla.getPrice() << std::endl;
1
xWhoAmIx
14 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 33
11.08.2014, 03:19 #3
В данном случае вызов getPrice в таком виде будет актуален, если туда вписать вывод на экран, иначе - как сказал Toshkarik... И да, было бы неплохо закомпилить и написать в каких строках ошибки/что не работает
0
gru74ik
Модератор
Эксперт CЭксперт С++
4350 / 1926 / 208
Регистрация: 20.02.2013
Сообщений: 5,111
Записей в блоге: 22
11.08.2014, 12:37 #4
HArD_, установи какую-нибудь нормальную среду разработки. И книжки читай.

А код оформлять на форуме надо вот так:
1
Миниатюры
Создать класс, содержащий информацию о товарах   Создать класс, содержащий информацию о товарах   Создать класс, содержащий информацию о товарах  

Создать класс, содержащий информацию о товарах  
HArD_
2 / 2 / 1
Регистрация: 03.07.2014
Сообщений: 8
11.08.2014, 15:31  [ТС] #5
Спасибо что откликнулись.
Делал в Microsoft VS 2013, учусь как раз по Дейтелу 5 издание. Это самостоятельная.
Вот ошибки: (красным выделена строка)

Ошибка 1 error C3867: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length: в вызове функции отсутствует список аргументов; используйте "&std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length" для создания указателя на член d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 22 1 самостоятельная 3.13 (Invoice)

Ошибка 2 error C2446: <=: нет преобразования "int" в "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const" d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 22 1 самостоятельная 3.13 (Invoice)

Ошибка 3 error C2296: <=: недопустимо, левый операнд имеет тип "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const" d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 22 1 самостоятельная 3.13 (Invoice)

Ошибка 4 error C3867: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length: в вызове функции отсутствует список аргументов; используйте "&std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length" для создания указателя на член d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 23 1 самостоятельная 3.13 (Invoice)

Ошибка 5 error C2446: <=: нет преобразования "int" в "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const" d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 23 1 самостоятельная 3.13 (Invoice)
Ошибка 6 error C2296: <=: недопустимо, левый операнд имеет тип "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const" d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 23 1 самостоятельная 3.13 (Invoice)

Ошибка 7 error C3867: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length: в вызове функции отсутствует список аргументов; используйте "&std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length" для создания указателя на член d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 41 1 самостоятельная 3.13 (Invoice)

Ошибка 8 error C2446: <=: нет преобразования "int" в "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const" d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 41 1 самостоятельная 3.13 (Invoice)

Ошибка 9 error C2296: <=: недопустимо, левый операнд имеет тип "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const" d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 41 1 самостоятельная 3.13 (Invoice)

Ошибка 10 error C3867: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length: в вызове функции отсутствует список аргументов; используйте "&std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length" для создания указателя на член d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 42 1 самостоятельная 3.13 (Invoice)

Ошибка 11 error C2446: <=: нет преобразования "int" в "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const" d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 42 1 самостоятельная 3.13 (Invoice)

Ошибка 12 error C2296: <=: недопустимо, левый операнд имеет тип "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) throw() const" d:\c++\microsoft visual studio 13\самостоятельная 3.13 (invoice)\самостоятельная 3.13 (invoice)\invoice.cpp 42 1 самостоятельная 3.13 (Invoice)


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
// 08/08/2014 Интрефейс программы Invoice 
 
#include <string>
using std::string;
 
class Invoice // класс - накладная\квитанция
{
public:
    
    Invoice (string, string, int, int); // конструктор
 
    void setProductID(string);      //
    void setDescription(string);    //      set функции
    void setQuantity(int);          //
    void setPrice(int);             //
    
    string getProductID();          //
    string getDescription();        //      get функции
    int getQuantity();              //
    int getPrice();                 //
 
    int getInvoiveAmount(); // общая сумма накладной одного объекта (умножает цену одного изделия на их количетсво)
 
private:
    string productID, description; // артикул и описание товара (тип строки)
    int quantity, price; // количество и цена товара (целое число)
};
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
                    // реализация функций класса Invoice 
#include <string>
using std::string;
#include "Invoice.h"
#include <iostream>
using std::cout;
using std::endl;
 
                    // Конструктор присваивает значение элементам данных через функции set
Invoice::Invoice(string productIDCtor, string descriptionCtor, int quantityCtor, int priceCtor)
{
    setProductID (productIDCtor); 
    setDescription (descriptionCtor);
    setQuantity (quantityCtor);
    setPrice (priceCtor);
}
 
 
                    // элемент-функции для элемента данных ProductID
void Invoice::setProductID (string productIDSet)
{
    if (productIDSet.length <= 10) productID = productIDSet;
    else if (productIDSet.length <= 11)
        {
            productID = productIDSet.substr(0, 10);
            cout << "Значение параметра Product ID превышает 10 символов" << endl;
            cout << "Значение параметра Product ID сокращено до 10 символов" << endl;
        }
    else cout << "Недопустимое значение параметра Product" << endl;
}
 
string Invoice::getProductID()
{
    return productID;
} 
 
 
                    // элемент-функции для элемента данных description
void Invoice::setDescription (string descriptionSet)
{
    if (descriptionSet.length <= 15) description = descriptionSet;
    if (descriptionSet.length <= 16)
    {
        description = descriptionSet.substr(0, 15);
        cout << "Значение параметра Description превышает 15 символов" << endl;
        cout << "Значение параметра Description сокращено до 15 символов" << endl;
    }
    else cout << "Недопустимое значение параметра Description" << endl;
}
 
string Invoice::getDescription()
{
    return description;
}
 
 
                    // элемент-функции для элемента данных quantity
void Invoice::setQuantity (int quantitySet)
{
    if (quantitySet >= 0) quantity = quantitySet;
    if (quantitySet < 0)
    {
        quantity = 0;
        cout << "Отрицательно значение элемента данных quantity, значение поставлено 0" << endl;
    }
    else
    {
        quantity = 0;
        cout << "Ошибка, значение quantity поставлено 0" << endl;
    }
}
 
int Invoice::getQuantity()
{
    return quantity;
}
 
                    // элемент-функции для элемента данных quantity
void Invoice::setPrice (int priceSet)
{
    if (priceSet >= 0) price = priceSet;
    if (priceSet < 0)
    {
        price = 0;
        cout << "Отрицательно значение элемента данных price, значение поставлено 0" << endl;
    }
    else
    {
        price = 0;
        cout << "Ошибка, значение price поставлено 0" << endl;
    }
}
 
int Invoice::getPrice()
{
    return price;
}
 
                    // функции выводящая общую стоимость (цену умножить на количество штук) для объекта класса
int Invoice::getInvoiveAmount()
{
    return  getPrice() * getQuantity();
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "Invoice.h"
#include <conio.h>
#include <iostream>
using std::cout;
using std::endl;
int main()
{
    setlocale(LC_ALL, "Russian");
    Invoice telefon_motorolla ("ID_MOTGT6240", "Motorolla GT 2340", 25, 12);
    cout << telefon_motorolla.getPrice() << telefon_motorolla.getProductID() << endl;
    _getch();
    return 0;
}
0
Fallenworld
76 / 76 / 9
Регистрация: 14.04.2014
Сообщений: 408
11.08.2014, 15:43 #6
для начала поменяй
C++
1
.length
на
C++
1
.length()
1
HArD_
2 / 2 / 1
Регистрация: 03.07.2014
Сообщений: 8
11.08.2014, 15:57  [ТС] #7
Спасибо реально помогло, не усмотрел такую мелочь... НО теперь показывает такое окно:
0
Миниатюры
Создать класс, содержащий информацию о товарах  
Toshkarik
1148 / 865 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
12.08.2014, 01:04 #8
Я же говорил, много ненужных проверок.
Вот решение для одной из проблем:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void Invoice::setQuantity (int quantitySet)
{
    if (quantitySet < 0)
    {
        quantity = 0;
        cout << "Отрицательно значение элемента данных quantity, значение поставлено 0" << endl;
    }
    else
    {
        quantity = quantitySet;
    }
}
С остальными, думаю, справитесь сами.
1
HArD_
2 / 2 / 1
Регистрация: 03.07.2014
Сообщений: 8
12.08.2014, 01:30  [ТС] #9
Не ожидал что так оперативно, спасибо за помощь!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2014, 01:30
Привет! Вот еще темы с ответами:

Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы - C++
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы все фигуры, содержащие...

Разработать класс "зачетная книжка", содержащий информацию об успеваемости студентов - C++
Разработать класс &quot;зачетная книжка&quot; содержащий информацию о успеваемости студентов. Выполнить перегрузку оператора &quot;&lt;&lt;&quot; для этого...

Создать список, содержащий абстрактный класс - C++
#include &lt;list&gt; #include &lt;iostream&gt; using namespace std; class CGraphicsObject { public: virtual double area() const =...

Выдать информацию о товарах на аптечном складе - C++
В аптечном складе хранятся лекарства. Сведения о лекарствах содержаться в специальной ведомости: наименования лекарственного препарата;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru