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

Метод, возвращающий данные по имеющемуся ключу массива MAP - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что такое порядок инициализации таблицы виртуальных методов? http://www.cyberforum.ru/cpp-beginners/thread804302.html
Что-то я не переварил это.
C++ Работа со строками (удаление из строки указанного символа) Недавно начал изучать С++ в универе. Задали написать программу реализующую удаление из строки указанного символа. Программа компилируется, но правильно работать отказывается. Где я накосячил? #include <iostream> #include <string.h> using namespace std; // объект - стока символов // реализовать: удаление из стоки определенного символа http://www.cyberforum.ru/cpp-beginners/thread804268.html
File Ripper C++
Всем привет. Заинтересовала тема для поиска файлов внутри файла. В данном случае интересует поиск только MPEG Layer 3 (т.е. mp3). Как его искать - без понятия. Нужна программа типа HyperRipper или MultiExtractor. P.S. Как я понял, mp3 нужно искать по фреймам, но как правильно - хз.. Выручайте :(
C++ Работа с бинарными файлами (программка дважды записывает последнее число)
Добрый день, помогите пожалуйста с такой ситуацией: написал програмку для заполнения бинарного файла рандомными числами (их количество вводится в начале программы): #include <iostream> #include <fstream> #include <time.h> using namespace std; void random(int N){ ofstream file("resource.bin", ios::binary|ios::out); srand(time(NULL));
C++ Цикл с предусловием http://www.cyberforum.ru/cpp-beginners/thread804259.html
#include <iostream> int main() { int s = 0; for (int i = 0; i <= 8; i++) { for (int j = 0; j <= 6; j++) { for (int k = 0; k <= 4; k++) { if (3 * i + 4 * j + 6 * k == 24) { std::cout << "3: " << i << " 4: " << j << " 6: " << k << std::endl; s++;
C++ Списки. Стеки. Очереди Квадрат разбит на {4}^{k} равновеликих квадратных клеток. Квадрат перегибается поочередно относительно вертикальной (правая половина подкладывается под левую) и горизонтальной (нижняя половина подкладывается под верхнюю) оси симметрии до тех пор, пока все клетки не будут расположены друг под другом. Требуется занумеровать клетки исходного квадрата таким образом, чтобы в результате выполнения... подробнее

Показать сообщение отдельно
alexiuscrow
 Аватар для alexiuscrow
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 52
09.03.2013, 23:59     Метод, возвращающий данные по имеющемуся ключу массива MAP
Исходный код:
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
#include <string>
#include "map.h"
class Recipe{
protected:
        AnsiString name_recipe;         //название рецепта (блюда)
        AnsiString istruction_recipe;   //инструкция приготовления
        int weight_portions;            //общий вес порции
        int type_recipe;                //тип блюда
public:
        AnsiString getNameRecipe(){
                return this -> name_recipe;
        }
        void setNameRecipe(AnsiString nr){
                this->name_recipe = nr;
        }
        AnsiString getIstructionRecipe(){
                return this -> istruction_recipe;
        }
        void setIstructionRecipe(AnsiString ir){
                this->istruction_recipe = ir;
        }
        int getWeightPortions(){
                return this -> weight_portions;
        }
        void setWeightPortions(int wp){
                this->weight_portions = wp;
        }
        AnsiString getTypeRecipe(){
                map <int,AnsiString> decoding_type_recipe;
                map <int,AnsiString>::iterator it;
                decoding_type_recipe[1]="Snacks";
                decoding_type_recipe[2]="Salads";
                decoding_type_recipe[3]="Entrees";
                decoding_type_recipe[4]="Main dishes";
                decoding_type_recipe[5]="Desserts";
                it=decoding_type_recipe.begin();
                //type_recipe=1;
                for (int num=0;num<type_recipe-1;num++){
                        it++;
                }
                return this -> (*it).second;
       }
};
Проблема заключается в 42 строке. Билдер сообщает, что ожидается идентификатор члена: "[C++ Error] recipelib.h(41): E2280 Member identifier expected".
Если убираю "this" из 42 строки то пишет следующее: "[C++ Error] recipelib.h(41): E2188 Expression syntax". Но в вышестоящих строках тоже указан "this", и на эти строки компилятор не ругается.
Что именно неправильно в 42 строке?

И второй вопрос.. Хотелось бы, что бы можно было без for-а по ключу доставать данные из массива Map, так как это написано в теме поста. Иначе применение Map-массива бессмысленно.

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