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

Ошибка при вызове функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ генерирую случайные числа http://www.cyberforum.ru/cpp-beginners/thread634827.html
srand(time(NULL)); rand()%10; Всем привет, генерирую случайные числа, подскажите, пожалуйста, почему при запуске приложения числа постоянно генерируются? Как можно сделать так, чтобы при каждом...
C++ Как Увеличить шрифт элемента Edit Control Создал Візартом Edit Control но там слишком маленький шрифт. У меня программа через Edit выводит данные, для вывода использую SetDlgItemText(IDC_EDIT1,p->Weight); вот такое выражения, подскажите... http://www.cyberforum.ru/cpp-beginners/thread634826.html
Реализация расширенного класса Integer C++
Всем привет. Хочу реализовать аналог класса Integer в котором можно буде проводить операции с числами любой разрядности. Начал пока с написания функции сложения и вычитания. Возникли вопросы:...
Объявление в структуре C++
ругается на объявление батона struct StructurClientData { Button^ button; unsigned int data_ip4; DWORD system_id; HANDLE system_handle; SOCKET socket_client;...
C++ SEHException при заполнении вектора http://www.cyberforum.ru/cpp-beginners/thread634760.html
тут такое дело... если в кратце, есть вектор summa, заполняю его нулями и вылезает SEHException. Я так понимаю, ему не хватает памяти, или я выхожу куда то за пределы? vector <double> summa;...
C++ Влияет ли на производительность Влияет ли на производительность определение(тоесть реализация) функций внутри класса, а также использование вложенных классов? подробнее

Показать сообщение отдельно
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632

Ошибка при вызове функции - C++

08.08.2012, 17:12. Просмотров 636. Ответов 6
Метки (Все метки)

В функции NewWords вызывается функция correct,при отладке я не могу войти в эту функцию,к тому же потом не выводится элементы объекта класса words и ID
в программе на данный момент вызываются лишь 2 функции,которые я привёл
класс Dictionary
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef DICTIONARY_H
#define DICTIONARY_H
#include "StdAfx.h"
 
class Dictionary
{
    public:
    
    Dictionary(char *nameOfFile = NULL,int Amount = 0);
 
    bool NewWords();
    void correct(string id);
    bool LoadID();
    bool WriteID(int);
 
    char *NameOfFile;
    int Amount;
    vector<string> words;
    vector<string> ID;
};
#endif DICTIONARY_H

NewWords
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
bool Dictionary::NewWords()
{
    setlocale(0,"");
 
    cout << "Введите:" << endl;
    cout << "1 - для добавления нового слова" << endl;
    cout << "0 - для выхода из программы" << endl;
 
    bool choise = false;
    bool repeat = false;
 
    string word;
    string id_of_word;
 
 
    cin >> choise;
 
            while(choise)
            {
                cout << "Введите слово" << endl;
 
                cin >> word;
                cout << "Введите ID:" << endl;
                if(!repeat)
                {
                cout << "Значения должны быть в диапазоне от 0 до 255" << endl;
                cout << "Пример:125.0.12.369" << endl;
                repeat = true;
                }
 
                cin >> id_of_word;
 
                id_of_word += ".";
 
                correct(id_of_word);
            
                this->words.push_back(word);
 
                this->Amount++;
 
                cout << "Введите:" << endl;
                cout << "1 - для добавления нового слова" << endl;
                cout << "0 - для выхода из режима записи слов" << endl;
 
                cin >> choise;
            }
 
        return true;
}

correct
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
void Dictionary::correct(string id)
{
    int digit = 0;
    int temp;
    int degree;
    int position = 0;
    string Temp_ID;
 
    for(unsigned int i = 0;i < id.size();i++)
        if(id.at(i) == '.')
        {
            if(position == 0)
            {
                degree = i-1;
 
                for(unsigned int k = position;k < i;k++)
                {
                    temp = id.at(k);
                    digit += temp*pow(10.0,degree);
                    degree--;
                }
 
                Temp_ID += digit;
                Temp_ID += ".";
 
                digit = 0;
                position = i + 1;
            }
            else
            {
                degree = i - position - 1;
 
                for(unsigned int k = position;k < i;k++)
                {
                    temp = id.at(k);
                    digit += temp*pow(10.0,degree);
                    degree--;
                }
 
                Temp_ID += digit;
                Temp_ID += ".";
 
                digit = 0;
                position = i + 1;
            }
        }
 
 
    this->ID.push_back(Temp_ID);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru