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

TinyXML. Преобразовать TiXmlElement в TiXmlString, char[] или string - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка "Попытка чтения в запрещенную память" при работе с файлами http://www.cyberforum.ru/cpp-beginners/thread1178382.html
Нужно хранить в файле данные со структуры и считывать их. Перепробовал кучу вариантов (fopen и ofstream/ifstream), постоянно одна и та же ошибка. "Необработанное исключение типа "System.AccessViolationException" в CourseWork1.exe Дополнительные сведения: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена." Пробовал сделать тоже с...
SFML Библиотека SFML отказывается подключаться g++ библиотека SFML отказывается подключаться g++ вывод g++ /usr/include/SFML/System/Clock.hpp:39: error: variable ‘sf::SFML_API sf::Clock’ has initializer but incomplete type /usr/include/SFML/System/Clock.hpp:41: error: expected primary-expression before ‘public’ /usr/include/SFML/System/Clock.hpp:41: error: expected ‘}’ before ‘public’ /usr/include/SFML/System/Clock.hpp:41: error: expected... http://www.cyberforum.ru/cpp-beginners/thread1178380.html
Связные списки. Определить количество узлов между двумя выбранными указателями C++
#include <iostream> #include <cstdlib> using namespace std; struct Node { int data; Node* next;
C++ Remove_if для std::list
Здравствуйте! Помогите мне разобраться,пожалуйста.Перечитал кучу всего,но так и не понял ,что можно писать в аргументе метода remove_if. #include<iostream> #include<list> #include<algorithm> using namespace std; void printlist(list<int> a) { copy(a.begin(),a.end(),ostream_iterator<int>(cout," ")); }
C++ Как считать n-ое слово в строке http://www.cyberforum.ru/cpp-beginners/thread1178336.html
Как найти любое (n-ное) слово в строке? Слова(группа слов) разделяются запятыми
C++ Перенос из directx8 в directx9, ошибка в SetVertexShader Доброе время суток. Есть кусок кода написанного для directx8 #include <d3dx8.h> #include <mmsystem.h> #include <C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\WinNT.h> #include <d3dx8mesh.h> #include <Windows.h> #include "C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\Include\dinput.h" подробнее

Показать сообщение отдельно
NewEXE
3 / 3 / 1
Регистрация: 03.05.2014
Сообщений: 24
18.05.2014, 01:34  [ТС]     TinyXML. Преобразовать TiXmlElement в TiXmlString, char[] или string
outoftime, да, мне всего лишь нужен был "внутренний текст", я его получил. Но это, как ни странно, не помогло мне решить мою задачу
cout << &any2rur выводит неверное значение, вернее, какой-то (?)адрес. Он должен вывести значение "гривна к рублю" (т.к. Sum s1(500, 8.5, "UAH") ). Выкладываю весь код
Кликните здесь для просмотра всего текста
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
// <NewEXE> <Задача 11, денежная сумма> <14.03.2014>
 
#include <iostream>
#include <clocale>
#include <string>
#include <tinyxml.h>
using namespace std;
 
class Sum
{
private:
    float sum;
    string code;
    float kurs;
 
public:
 Sum() // Конструктор по-умолчанию
    {
        SetSum(1);
        SetCode("USD");
        SetKurs(1);
    }
 
 Sum(float IntSum, float IntKurs, string IntCode) // Инициализирующий конструктор
    {
        if(IntSum > 0 && IntKurs > 0)
            {
                SetSum(IntSum);
                SetCode(IntCode);
                SetKurs(IntKurs);
            }
        else
            {
                SetSum(1);
                SetCode("USD");
                SetKurs(1);
            }
 }
 
 Sum(Sum& c) // Копирующий конструктор
    {
        SetSum(c.sum);
        SetCode(c.code);
        SetKurs(c.kurs);
    }
 
 Sum(float IntSum, float IntKurs) // К-р преобразования
    {
        SetSum(IntSum);
        SetKurs(IntKurs);
        SetCode("USD");
    }
 
 void Init(float IntSum, float IntKurs, string IntCode) // Функция инициализации
    {
        if(IntSum > 0 && IntKurs > 0)
            {
                SetSum(IntSum);
                SetCode(IntCode);
                SetKurs(IntKurs);
            }
        else
            {
                SetSum(1);
                SetCode("UAH");
                SetKurs(1);
            }
    }
 
 void Print() const // Функция вывода на экран объекта "сумма"
    {
        cout << "Код валюты: \n" << code <<endl << "Кол-во: " << sum <<endl << "Курс доллара: " << kurs <<endl<<endl;
    }
 
 void Print4float(float N) const // Функция вывода на экран числа float
    {
        cout << N <<endl;
    }
 
 void Sravn(Sum s2) const // Сравнение двух сумм
    {
        if(sum > s2.sum)
            cout << "Первая сумма > Второй суммы";
        if(sum < s2.sum)
            cout << "Первая сумма < Второй суммы";
        if(sum == s2.sum)
            cout << "Суммы равны";
    }
 
 float Add(Sum s2) // Сложение двух сумм
    {
        float Rezult;
        Rezult = sum + s2.sum;
        return Rezult;
    }
 
 float Convert() // Вычисление значения суммы в долларах
    {
        float Rezult;
        Rezult = sum / kurs;
        return Rezult;
    }
 
 float GetSum()
    {
        return sum;
    }
 
 string GetCode()
    {
        return code;
    }
 
 float GetKurs()
    {
        return kurs;
    }
 
 void SetSum(float f)
    {
        if(f < 0)
            sum = 1;
        else sum = f;
    }
 
 void SetCode(string s)
    {
        if(s == "")
            code = "USD";
        else code = s;
    }
 
  void SetKurs(float f)
    {
        if(f <= 0)
            kurs = 1;
        else kurs = f;
    }
};
 
int main()
{
    setlocale(0, "");
 
    float any2rur, to_usd_into_rur;
    Sum s1(500, 8.5, "UAH");
 
    TiXmlDocument *xml_MAIN = new TiXmlDocument("XML_daily.asp.xml");
    if(!xml_MAIN->LoadFile())
        return 1;
    TiXmlElement *xml_ValCurs = 0;
    TiXmlElement *xml_Valute = 0;
    TiXmlElement *xml_CharCode = 0;
    TiXmlElement *xml_Name = 0;
    TiXmlElement *xml_Value = 0;
 
    xml_ValCurs = xml_MAIN->FirstChildElement("ValCurs");
    xml_Valute = xml_ValCurs->FirstChildElement("Valute");
    xml_CharCode = xml_Valute->FirstChildElement("CharCode");
    //delete xml_CharCode;
    xml_Name = xml_Valute->FirstChildElement("Name");
    //delete xml_Name;
    xml_Value = xml_Valute->FirstChildElement("Value");
 
    string str1 = xml_CharCode->GetText();
    string str2 = s1.GetCode();
 
    while(xml_Valute != NULL)
    {
         if(str1 != str2) //для этого условия сравнения string
        {
            xml_Valute = xml_Valute->NextSiblingElement("Valute");
        }
        else xml_Value->QueryFloatAttribute("Value", &any2rur);
    }
    cout << &any2rur;
}
 
Текущее время: 04:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru