Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
#1

Класс Sales_item

21.05.2015, 20:20. Просмотров 714. Ответов 18
Метки нет (Все метки)

Здравствуйте.

Не выполняется код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include "Sales_item.h"
using namespace std;
 
#include <iostream>
int main()
{
 Sales_item item1, item2;
     cin>>item1>>item2;
 if (item1==item2)
     cout<<item1+item2<<std::endl;
 else 
    cout<<"Error"<<std::endl;
    
 
 
    return 0;
    
}

Пишет ошибку:

Не удается открыть файл include: Sales_item.h: No such file or directory

Поясните, нужно ли здесь подключать дополнительный файл, связанный с классом Sales_item?

Мне в прошлой задаче, намекали, что нужно скопировть в рабочий католог файл и использовать при написании программ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2015, 20:20
Ответы с готовыми решениями:

Почему не работает класс Sales_item
В книге С.Б. Липпмана C++ Вводный курс в главе 1.5 требуется добавить в...

Стенли Липман - С++ Вводный курс(2007). Класс Sales_item.h
В книге Стенли Липмана - С++ Вводный курс(2007) 4-е изд. - в одном месте, в...

Стенли Липман, С++, файл Sales_item.h
Работаю в среде программирования Сode Blocks. Читая книгу Стенли Липмана, я...

Ошибка при подключении файла Sales_item.h из примера в книге
Делаю маленькие шажки по книге &quot;C++ базовый курс 2014&quot; Скачал файл...

Где достать файл Sales_item.h из учебника "Язык программирования С++"
Находил пару тем в инэте, давали там ссылку на сайт, но на нем нашел лишь код с...

18
Соловьёв_Егор
58 / 58 / 53
Регистрация: 17.02.2013
Сообщений: 242
21.05.2015, 20:37 #2
Зачем второе подключение iostream? И да, файлы лучше положить в папку с проектом.
0
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
21.05.2015, 20:48  [ТС] #3
Извиняюсь, это опечатка, 2 подключение...может кто пояснить, какие файлы нужны? До этого никакие файлы добавлять не приходилось, это те откуда считываются ISBN?
0
Kapex
15 / 15 / 4
Регистрация: 11.11.2014
Сообщений: 122
21.05.2015, 20:57 #4
файл Sаles_item.h можешь показать?
0
Соловьёв_Егор
58 / 58 / 53
Регистрация: 17.02.2013
Сообщений: 242
21.05.2015, 21:27 #5
Нужны файлы Sales_item.h и Sales_item.cpp. Вы же их в проект подключаете.
1
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
21.05.2015, 21:42  [ТС] #6
У меня нету файлов Sales_item.h и Sales_item.cpp.
Я их погуглю, но в каком формате должен быть Sales_item.h? Я как понял они должны лежать в папке с проектом.
Я ниразу еще не добавлял эти файлы, библиотеки и тп
0
Соловьёв_Егор
58 / 58 / 53
Регистрация: 17.02.2013
Сообщений: 242
21.05.2015, 21:44 #7
И что тогда вы хотите, если у вас нет файлов, которые подключаются к проекту? Вы вообще С++ знаете?
0
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
21.05.2015, 21:49  [ТС] #8
Я начал изучать С++ по книге. Тут похоже файлов этих нету, а нужно самому их искать, добавлять. Вот консольные простые программы более понятны. А sales_item.h я не добавлял.
0
Соловьёв_Егор
58 / 58 / 53
Регистрация: 17.02.2013
Сообщений: 242
21.05.2015, 22:08 #9
Ищите файл. Помимо него должен быть ещё файл с расширением .cpp.

Добавлено через 2 минуты
.h - описание класса, .cpp - реализация.

Добавлено через 13 минут
Может быть, к книге диск должен прилагаются с примерами, не искали?
1
Хулиган
85 / 80 / 21
Регистрация: 08.08.2012
Сообщений: 737
21.05.2015, 22:15 #10
Clarityeye,

Не по теме:

что мешает написать свой класс? Работу чего вы хотите проверить, запустив это приложение?

0
Соловьёв_Егор
58 / 58 / 53
Регистрация: 17.02.2013
Сообщений: 242
21.05.2015, 22:18 #11
Ну, видимо, просто посмотреть, что оно работает.
0
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
21.05.2015, 22:21  [ТС] #12
Да,просто посмотреть, я на практике отрабатываю азы. Про какое, пока, написание классов может идти речь, если я новичок.
Соловьёв_Егор, нет, книгу покупал без диска. Я думал что это исходный код с примером Sales_item.cpp выше?

Библиотеку я нашел, подключил. Компиляция, отладка, все пример выполнился на ура.
0
Хулиган
85 / 80 / 21
Регистрация: 08.08.2012
Сообщений: 737
21.05.2015, 22:27 #13
Цитата Сообщение от Clarityeye Посмотреть сообщение
Про какое, пока, написание классов может идти речь, если я новичок.
так зачем тогда использовать в своей "практике" классы, до которых вам еще далеко?
0
Соловьёв_Егор
58 / 58 / 53
Регистрация: 17.02.2013
Сообщений: 242
21.05.2015, 22:28 #14
Нет, это просто файл с функцией main().
0
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
21.05.2015, 22:34  [ТС] #15
Хулиган, я по книге, тут вначале сразу знакомят с классом Sales_item, функциями-членами. На задаче, в которой слаживают транзакции.
0
idm
119 / 33 / 19
Регистрация: 19.03.2015
Сообщений: 90
22.05.2015, 06:32 #16
Вот содержимое cpp файла этой библиотеки.
Но все таки я настоятельно рекомендую отложить задачу использования данной библиотеки до более близкого знакомства с классами.

Кликните здесь для просмотра всего текста
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
135
136
137
138
139
140
141
142
143
/*
 * This file contains code from "C++ Primer, Fourth Edition", by Stanley B.
 * Lippman, Jose Lajoie, and Barbara E. Moo, and is covered under the
 * copyright and warranty notices given in that book:
 * 
 * "Copyright (c) 2005 by Objectwrite, Inc., Jose Lajoie, and Barbara E. Moo."
 * 
 * 
 * "The authors and publisher have taken care in the preparation of this book,
 * but make no expressed or implied warranty of any kind and assume no
 * responsibility for errors or omissions. No liability is assumed for
 * incidental or consequential damages in connection with or arising out of the
 * use of the information or programs contained herein."
 * 
 * Permission is granted for this code to be used for educational purposes in
 * association with the book, given proper citation if and when posted or
 * reproduced.Any commercial use of this code requires the explicit written
 * permission of the publisher, Addison-Wesley Professional, a division of
 * Pearson Education, Inc. Send your request for permission, stating clearly
 * what code you would like to use, and in what specific way, to the following
 * address: 
 * 
 *  Pearson Education, Inc.
 *  Rights and Contracts Department
 *  75 Arlington Street, Suite 300
 *  Boston, MA 02216
 *  Fax: (617) 848-7047
*/ 
 
#ifndef SALESITEM_H
#define SALESITEM_H
 
// Definition of Sales_item class and related functions goes here
 
 
#include <iostream>
#include <string>
 
class Sales_item {
friend bool operator==(const Sales_item&, const Sales_item&);
// other members as before
public:
    // added constructors to initialize from a string or an istream
    Sales_item(const std::string &book):
              isbn(book), units_sold(0), revenue(0.0) { }
    Sales_item(std::istream &is) { is >> *this; }
    friend std::istream& operator>>(std::istream&, Sales_item&);
    friend std::ostream& operator<<(std::ostream&, const Sales_item&);
public:
    // operations on Sales_item objects
    // member binary operator: left-hand operand bound to implicit this pointer
    Sales_item& operator+=(const Sales_item&);
    // other members as before
    
public:
    // operations on Sales_item objects
    double avg_price() const;
    bool same_isbn(const Sales_item &rhs) const
        { return isbn == rhs.isbn; }
    // default constructor needed to initialize members of built-in type
    Sales_item(): units_sold(0), revenue(0.0) { }
// private members as before
private:
    std::string isbn;
    unsigned units_sold;
    double revenue;
 
};
 
 
// nonmember binary operator: must declare a parameter for each operand
Sales_item operator+(const Sales_item&, const Sales_item&);
 
inline bool 
operator==(const Sales_item &lhs, const Sales_item &rhs)
{
    // must be made a friend of Sales_item
    return lhs.units_sold == rhs.units_sold &&
           lhs.revenue == rhs.revenue &&
       lhs.same_isbn(rhs);
}
 
inline bool 
operator!=(const Sales_item &lhs, const Sales_item &rhs)
{
    return !(lhs == rhs); // != defined in terms of operator==
}
 
using std::istream; using std::ostream;
 
// assumes that both objects refer to the same isbn
inline
Sales_item& Sales_item::operator+=(const Sales_item& rhs) 
{
    units_sold += rhs.units_sold; 
    revenue += rhs.revenue; 
    return *this;
}
 
// assumes that both objects refer to the same isbn
inline
Sales_item 
operator+(const Sales_item& lhs, const Sales_item& rhs) 
{
    Sales_item ret(lhs);  // copy lhs into a local object that we'll return
    ret += rhs;           // add in the contents of rhs 
    return ret;           // return ret by value
}
 
inline
istream& 
operator>>(istream& in, Sales_item& s)
{
    double price;
    in >> s.isbn >> s.units_sold >> price;
    // check that the inputs succeeded
    if (in)
        s.revenue = s.units_sold * price;
    else 
        s = Sales_item();  // input failed: reset object to default state
    return in;
}
 
inline
ostream& 
operator<<(ostream& out, const Sales_item& s)
{
    out << s.isbn << "\t" << s.units_sold << "\t" 
        << s.revenue << "\t" <<  s.avg_price();
    return out;
}
 
inline
double Sales_item::avg_price() const
{
    if (units_sold) 
        return revenue/units_sold; 
    else 
        return 0;
}
 
 
#endif
2
maestro4250
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
22.05.2015, 09:23 #17
а что за книга, я прошу прощения
0
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
22.05.2015, 09:38  [ТС] #18
Язык программирования C++. Базовый курс (5-е издание)
Автор: Стенли Б. Липпман, Жози Лажойе, Барбара Э. Му
0
maestro4250
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
22.05.2015, 10:30 #19
Clarityeye, спасибо надо будет посмотреть
0
22.05.2015, 10:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2015, 10:30

Как правильно сделать #include "Sales_item.h" ?
#include &lt;iostream&gt; #ifndef Sales_Item_HPP #define Sales_Item_HPP #include...

Где взять файл Sales_item.h для книги Стенли Липпмана "C++ для начинающих"
Всем привет! Изучая классы по книге Стенли Липпмана &quot;с++ для начинающих&quot;,...

#include "Sales_item.h" - ошибка "включаемый файл включает самого себя"
Пишу в файле Sales_item.h следующее: #include &quot;Sales_item.h&quot; #include...


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

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

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