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

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

Войти
Регистрация
Восстановить пароль
 
ashta
6 / 6 / 1
Регистрация: 28.08.2012
Сообщений: 65
#1

Подсчет цены в multimap - C++

08.08.2013, 16:02. Просмотров 349. Ответов 7
Метки нет (Все метки)

Всем добрый день,

У меня не получается подсчитать стоимость всех заказанных блюд в чеке. Я сохраняю заказ в файл.
Помогите, пожалуйста правильно написать код для подсчета цены. Я пробовала так

C++
1
2
long sum=0; 
sum+=it->second.GetPrice():
но так выдает ошибку.

Вот мой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
multimap<Dinner, Food>::iterator it;
 
    for (it=MyMenu.begin(); it!=MyMenu.end(); it++)
    {
 
        writeFile<<it->second.GetDish()<<" "<<setw(3)<<it->second.GetPrice()<<endl; //запись названия блюда и цены в файл
        
        
        
    }
    
    
    writeDinner<<left<<setw(10)<<"\nTotal:"<<setw(3)<<"   "<<endl;
    
        
    writeDinner.close();
Заранее благодарна за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2013, 16:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчет цены в multimap (C++):

Multimap. Ошибка operator+ not implemented in type multimap - C++
Я начинающий в си, есть задача подсчета частоты встречаемости символов, делал через ассоциативный массив map&lt;char, int&gt;, программа...

Уценить на 20% все товары, которые дороже заданной цены; вывести товары в порядке возрастания розничной цены - C++
Ввести 5 структур типа &quot;Товары на складе&quot; с полями: название товара; закупочная цена; товарная наценка. Написать программу, выполняющую...

multimap - C++
Я что-то не понимаю в чем проблема! #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;map&gt; using namespace std; int main() ...

сортировка в multimap - C++
доброго времени суток. собственно, вопрос такой: есть программа использующая контейнер класса multimap. содержит пару &lt;ключ,структура&gt;...

multimap::emplace() - C++
При компиляции этого кода: #include &lt;iostream&gt; #include &lt;map&gt; using namespace std; int main () { multimap&lt;char,int&gt;...

Ошибка с multimap - C++
Здравствуйте, помогите пожалуйста разобраться есть multimap переменная T_rules, в которой лежат T_rule_head, T_state_name ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
08.08.2013, 16:27 #2
Глядя на это похоже на правду, но такое очучение, что не хватает чего то.
Приведите весь код, хотя тут есть парни-телепаты.
ashta
6 / 6 / 1
Регистрация: 28.08.2012
Сообщений: 65
08.08.2013, 16:34  [ТС] #3
Цитата Сообщение от egor2116 Посмотреть сообщение
Глядя на это похоже на правду, но такое очучение, что не хватает чего то.
Приведите весь код, хотя тут есть парни-телепаты.

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
void Restaurant::SaveMenu ()
        
    {
        
        
        ofstream writeDinner ("MyRest.txt");
 
    multimap<Dinner, Food>::iterator it; //класс dinner - завтрак, обед, ужин, класс food - название блюда, цена, тип блюда
 
    for (it=MyMenu.begin(); it!=MyMenu.end(); it++)
    {
 
        writeFile<<it->second.GetDish()<<" "<<setw(3)<<it->second.GetPrice()<<endl; //запись названия блюда и цены в файл
        
        
        
    }
    
    
    writeDinner<<left<<setw(10)<<"\nTotal:"<<setw(3)<<" здесь должен быть подсчет цены  "<<endl;
    
        
    writeDinner.close();
}
gray_fox
What a waste!
1507 / 1210 / 68
Регистрация: 21.04.2012
Сообщений: 2,545
Завершенные тесты: 3
08.08.2013, 16:46 #4
Примерно:
C++
1
2
3
4
5
6
double total = 0;
for (it = MyMenu.begin(); it != MyMenu.end(); ++it) {
   total += it->second.GetPrice();
}
 
writeDinner<<left<<setw(10)<<"\nTotal:"<<setw(3)<< total <<endl;
ashta
6 / 6 / 1
Регистрация: 28.08.2012
Сообщений: 65
08.08.2013, 16:50  [ТС] #5
Огромное спасибо!!! заработало!! Супер.
gray_fox
What a waste!
1507 / 1210 / 68
Регистрация: 21.04.2012
Сообщений: 2,545
Завершенные тесты: 3
08.08.2013, 16:55 #6
ashta, вставить)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void Restaurant::SaveMenu ()
{        
    ofstream writeDinner ("MyRest.txt");
 
    multimap<Dinner, Food>::iterator it; //класс dinner - завтрак, обед, ужин, класс food - название блюда, цена, тип блюда
 
    for (it=MyMenu.begin(); it!=MyMenu.end(); it++)
    { 
        writeFile<<it->second.GetDish()<<" "<<setw(3)<<it->second.GetPrice()<<endl; //запись названия блюда и цены в файл        
    }    
 
    double total = 0;
    for (it = MyMenu.begin(); it != MyMenu.end(); ++it)
    {
       total += it->second.GetPrice();
    }
 
    writeDinner<<left<<setw(10)<<"\nTotal:"<<setw(3)<< total <<endl;
}
ashta
6 / 6 / 1
Регистрация: 28.08.2012
Сообщений: 65
08.08.2013, 16:56  [ТС] #7
Цитата Сообщение от gray_fox Посмотреть сообщение
ashta, вставить)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void Restaurant::SaveMenu ()
{        
    ofstream writeDinner ("MyRest.txt");
 
    multimap<Dinner, Food>::iterator it; //класс dinner - завтрак, обед, ужин, класс food - название блюда, цена, тип блюда
 
    for (it=MyMenu.begin(); it!=MyMenu.end(); it++)
    { 
        writeFile<<it->second.GetDish()<<" "<<setw(3)<<it->second.GetPrice()<<endl; //запись названия блюда и цены в файл        
    }    
 
    double total = 0;
    for (it = MyMenu.begin(); it != MyMenu.end(); ++it)
    {
       total += it->second.GetPrice();
    }
 
    writeDinner<<left<<setw(10)<<"\nTotal:"<<setw(3)<< total <<endl;
}
Спасибо, спасибо. Я выше ответила. Заработало все с одним циклом все ок.
gray_fox
What a waste!
1507 / 1210 / 68
Регистрация: 21.04.2012
Сообщений: 2,545
Завершенные тесты: 3
08.08.2013, 16:56 #8
Цитата Сообщение от ashta Посмотреть сообщение
заработало
ок...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2013, 16:56
Привет! Вот еще темы с ответами:

Multimap зацикливается - C++
Всем добрый вечер, Помогите, пожалуйста разобраться с зацикленным &quot;Not found&quot;. Поиск по названию блюда происходит нормально, а вот...

STL multimap. - C++
#include &quot;stdafx.h&quot; #include &lt;map&gt; #include &lt;algorithm&gt; #include &lt;string&gt; #include &quot;conio.h&quot; #include &lt;iostream&gt; using...

неверное выполнение multimap - C++
В задачу программы входит заполнения контейнера multimap и вывод содержимого построчно(все на стандартных потоках). Програмка работает но...

Помещение данных в multimap - C++
добрый день, можете подсказать как можно сделать, те данные что я помещаю в моем коде в map, поместить в multimap вот код ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.08.2013, 16:56
Ответ Создать тему
Опции темы

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