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

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

08.08.2013, 16:02. Просмотров 373. Ответов 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();
Заранее благодарна за помощь.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Multimap. Ошибка operator+ not implemented in type multimap
Я начинающий в си, есть задача подсчета частоты встречаемости символов, делал...

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

multimap
Я что-то не понимаю в чем проблема! #include &lt;iostream&gt; #include &lt;string&gt;...

сортировка в multimap
доброго времени суток. собственно, вопрос такой: есть программа использующая...

multimap::emplace()
При компиляции этого кода: #include &lt;iostream&gt; #include &lt;map&gt; using...

7
egor2116
571 / 375 / 215
Регистрация: 20.01.2013
Сообщений: 1,135
08.08.2013, 16:27 #2
Глядя на это похоже на правду, но такое очучение, что не хватает чего то.
Приведите весь код, хотя тут есть парни-телепаты.
0
ashta
9 / 9 / 4
Регистрация: 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();
}
0
gray_fox
What a waste!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 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;
1
ashta
9 / 9 / 4
Регистрация: 28.08.2012
Сообщений: 65
08.08.2013, 16:50  [ТС] #5
Огромное спасибо!!! заработало!! Супер.
0
gray_fox
What a waste!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 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;
}
1
ashta
9 / 9 / 4
Регистрация: 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;
}
Спасибо, спасибо. Я выше ответила. Заработало все с одним циклом все ок.
0
gray_fox
What a waste!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
08.08.2013, 16:56 #8
Цитата Сообщение от ashta Посмотреть сообщение
заработало
ок...
0
08.08.2013, 16:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2013, 16:56

STL multimap.
#include &quot;stdafx.h&quot; #include &lt;map&gt; #include &lt;algorithm&gt; #include &lt;string&gt;...

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

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


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

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

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