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

VS ругается на ошибки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как работает? http://www.cyberforum.ru/cpp-beginners/thread564500.html
#include "stdafx.h" #include <iostream> using namespace std; int main() { int m; int n; int sum = 0; cout << "Введите размер массива" << endl;
C++ Найти сумму простых чисел в массиве #include <cstdio> bool even (int arr_i) { bool flag = 1; for (int k = 2; k*k <= arr_i; k++) { if (arr_i % k == 0) flag = 0; } http://www.cyberforum.ru/cpp-beginners/thread564499.html
Перевод из строки в число в текстовом файле C++
Доброго всем программистам дня или ночи! Написал программу, которая вычисляет к примеру x,y,z. Есть текстовый файл: text.txt (яблоко x груша y вишня z). Я могу в текстовом файле заменить символы, но мне нужно вставить вместо x, y, z вычисленные числовые значения. Пробовал через strtol(), но чего-то не просекаю. Пожалуйста направьте мои слабые познания в СС++ в нужном направлении. Требуется...
C++ проблема с указателями
struct magazin { int nomer; char nazvanie; char fio; int kol; double dohod; magazin *prev,*next; magazin *pt,*pg; } *pg=NULL;
C++ Стрктуры: присвоение элемента массива http://www.cyberforum.ru/cpp-beginners/thread564454.html
Добрый день. Нужно присвоить элемент одного массива одной структуры дргому элементу другой структуры. Подскажите где ошибки. struct //исходная структура { a; } struct1; struct //искомая структура { b;
C++ Работа с файлами в консольном приложении Пожалуйста подскажите как в Visual C++ 2008 работать с файлами в проекте консольного приложения? подробнее

Показать сообщение отдельно
cheser
 Аватар для cheser
0 / 0 / 0
Регистрация: 14.01.2010
Сообщений: 42
03.05.2012, 13:53     VS ругается на ошибки
вот программа:
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
// money 1.0.0.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "locale"
#include "iostream"
#include "string.h"
#include "windows.h"
#include "map"
 
using namespace std;
 
// --------------------------------------------------------------------------------
// Валюты необходимые для задачи
enum currencies
{
    KZT,
    RUR,
    USD,
    EUR
};
 
// --------------------------------------------------------------------------------
// Класс-деньги
class money
{
public:
    // Конструкторы
    money(double summa = 0.0, currencies currency = KZT);
    money(unsigned int int_part, unsigned char fract_part, currencies currency = KZT);
        // Тип валюты
    currencies getCurrency();
    //Ввод валюты
    currencies setCurrency();
    // Целая часть суммы
    unsigned int _int_part;
    // Дробная часть суммы (тиыны, копейки и т.д.)
    unsigned char _fract_part;
    // Тип валюты
   currencies _currency;
    unsigned long long smallChange() const;
};
 
// --------------------------------------------------------------------------------
// Класс-Обменник - наследование
class exchanger
{
public:
    // Меняет одну валюту на другую
    static money exchange(const money& summa, currencies currency);
    // Курсы обмена
    static map<currencies, double> rates;
};
 
// --------------------------------------------------------------------------------
// Инициализирует статический член обменного класса
typedef pair<currencies, double> rate_pair;
rate_pair rates_arr[4] = 
{
    rate_pair(KZT, 1.0), 
    rate_pair(RUR, 5.1), 
    rate_pair(USD, 147.5), 
    rate_pair(EUR, 184.7)
};
map<currencies, double> exchanger::rates(rates_arr, rates_arr + sizeof (rates_arr) / sizeof (rate_pair));
 
// --------------------------------------------------------------------------------
// Для вывода типа валюты используется следующие имена
typedef pair<currencies, wstring> currency_name_pair;
currency_name_pair currencies_names_arr[4] = 
{ 
    currency_name_pair(KZT, L"KZT"), 
    currency_name_pair(RUR, L"RUR"), 
    currency_name_pair(USD, L"USD"), 
    currency_name_pair(EUR, L"EUR")
};
map<currencies, wstring> currency_names(currencies_names_arr, currencies_names_arr + sizeof (currencies_names_arr) / sizeof (currency_name_pair));
 
// --------------------------------------------------------------------------------
//
int main()
{
    setlocale(LC_ALL, "Russian");
    cout<<" \n";
    system("pause");
}
 
money::money(double summa, currencies currency) throw (invalid_argument)
{
    if (summa < 0)
    {
        throw invalid_argument("Сумма не может быть отрицательной");
    }
    _int_part = static_cast<unsigned int> (summa);
    _fract_part = static_cast<unsigned char> ((summa - _int_part)*100);
    _currency = currency;
}
 
money::money(unsigned int int_part, unsigned char fract_part, currencies currency)
{
    if (fract_part > 99)
    {
        throw invalid_argument("Количество мелочи не может быть больше 99");
    }
    _int_part = int_part;
    _fract_part = fract_part;
    _currency = currency;
}
 
currencies money::getCurrency(currencies currency)
{
    return currency;
}
 
int money::setCurrency(currencies currency)
{
    _currency = currency;
}
 
inline unsigned long long money::smallChange() const
{
    return _int_part * 100ULL + _fract_part;
}
 
money exchanger::exchange(const money& summa, currencies currency)
{
    double rate = rates[summa._currency] / rates[currency];
    money result = summa*rate;
    result.currency = currency;
    return result;
}
указал все в классе, а он ругается такими ошибками:
1>c:\users\zufar\documents\visual studio 2008\projects\money 1.0.0\money 1.0.0\money 1.0.0.cpp(89) : warning C4290: спецификация исключений C++ игнорируется, кроме случая, когда указывается, что функция не является __declspec(nothrow)
1>c:\users\zufar\documents\visual studio 2008\projects\money 1.0.0\money 1.0.0\money 1.0.0.cpp(112) : error C2511: currencies money::getCurrency(currencies): перегруженная функция-член не найдена в 'money'
1> c:\users\zufar\documents\visual studio 2008\projects\money 1.0.0\money 1.0.0\money 1.0.0.cpp(27): см. объявление 'money'
1>c:\users\zufar\documents\visual studio 2008\projects\money 1.0.0\money 1.0.0\money 1.0.0.cpp(117) : error C2511: int money::setCurrency(currencies): перегруженная функция-член не найдена в 'money'
1> c:\users\zufar\documents\visual studio 2008\projects\money 1.0.0\money 1.0.0\money 1.0.0.cpp(27): см. объявление 'money'
1>c:\users\zufar\documents\visual studio 2008\projects\money 1.0.0\money 1.0.0\money 1.0.0.cpp(129) : error C2676: бинарный '*': 'const money' не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору
1>c:\users\zufar\documents\visual studio 2008\projects\money 1.0.0\money 1.0.0\money 1.0.0.cpp(130) : error C2039: currency: не является членом "money"
1> c:\users\zufar\documents\visual studio 2008\projects\money 1.0.0\money 1.0.0\money 1.0.0.cpp(27): см. объявление 'money'
в чем мой косяк?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru