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

Ошибка вывода строки на экран - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Формирование структуры из файла http://www.cyberforum.ru/cpp-beginners/thread1039603.html
Помогите, пожалуйста, с формированием структуры из данных в txt файле. На всём форуме ничего подобного не нашел. В файле записаны фио сотрудников фирмы и их зарплата. Определить фио сотрудников, имеющих зарплату выше средней по фирме
C++ Динамический массив и функции Здравствуйте. Я составила функцию заполнения динамического массива. У меня такой вопрос. Выведение массива на экран нужно писать в void main() или же можно оставить в функции и он все равно выведется? И еще вопросик, далее у меня еще функции, и в них мне нужно использовать элементы этого динамического массива, нужно ли использовать оператор for для заполнения или просто писать элемент, например... http://www.cyberforum.ru/cpp-beginners/thread1039602.html
Документирование кода C++
Здравствуйте. Столкнулся с задачей написания документации к чужому с++ коду. С созданием документации до этого не сталкивался. Хотелось бы узнать в чем суть создания документации к коду. В моем понимании это написание комментариев в коде, за что отвечает оператор. Из просторов интернета узнал о программе Doxygen, но пока не понимаю, что должно получиться в результате, что именно там должно быть...
Определить наличие в строке подстроки C++
Здравствуйте, программа не правильно находит позицию подстроки введенной на русском, значение умножается в два раза, что я делаю не так, или оно так и должно работать? Вывод при вводе строки на английском: Введите строку : Hello World Введите подстроку для поиска : lo Позиция подстроки = 3 Press <RETURN> to close this window...
C++ Создать прикладной программный продукт, реализующий решение следующей математической задачи http://www.cyberforum.ru/cpp-beginners/thread1039574.html
2. Задание. Создать прикладной программный продукт, реализующий решение следующей математической задачи: ax2+b<=0
C++ функция записывает count элементов типа Complex из массива buffer в файл Очень нужен код, у меня завал. Помогите поже! Условие: .определить функции в соответствии с вариантом задания; .в функции main() реализовать демонстрацию работы созданных функций; Во всех заданиях необходимо использовать функции Win32 API для работы с файлами. Задание: Определить две функции: void WriteComplex(char * fname, Complex * buffer, int count); – функция записывает count... подробнее

Показать сообщение отдельно
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
13.12.2013, 00:55     Ошибка вывода строки на экран
Подскажите пожалуйста в чем ошибка, задача была в том что бы создать строку которую хранит в себе пересечение двух других. Так же выслушал бы советы по коду...

Файл my_string.h :
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
#ifndef _MY_STRING
#define _MY_STRING
 
class my_string
{
private:
    char *_str;
public:
 
    my_string();
    
    my_string(char *str);
    
    my_string(int size);
 
    my_string(const my_string &tmp);
 
    my_string get_concat(my_string x);
 
    void show();
 
    my_string get_count_and_str(my_string first, my_string second);
 
    ~my_string();
};
 
#endif
Файл my_string.cpp :
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
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include "my_string.h"
 
using std::cout;
using std::endl;
 
my_string::my_string()
{
    this->_str = nullptr;
}
 
my_string::my_string(char *str)
{
    if(!_str)
        delete [] _str;
    this->_str = new char[strlen(str) + 1];
    strcpy(this->_str, str);
}
 
my_string::my_string(int size)
{
    if(!_str)
        delete [] _str;
    this->_str = new char[size];
}
 
my_string::my_string(const my_string &tmp)
{
    if(!_str)
        delete [] _str;
    _str = new char[strlen(tmp._str)];
    strcpy(_str, tmp._str);
}
 
my_string my_string::get_concat(my_string x)
{
    if(!_str)
        delete [] _str;
    char* tmp = new char[strlen(x._str) + strlen(_str) + 1];
    strcpy(tmp, _str);
    strcat(tmp, " ");
    strcat(tmp, x._str);
    return tmp;
}
 
void my_string::show()
{
    cout << _str << endl;
}
 
my_string::~my_string()
{
    if(!_str)
        delete [] _str;
}
 
my_string my_string::get_count_and_str(my_string first, my_string second)
{
    int counter = 0;
    bool flag = false;
    for(int i = 0; i < strlen(first._str); i++)
    {
        for(int j = 0; j < strlen(second._str); j++)
        {
            if(first._str[i] == second._str[j])
            {
                if(!flag)
                {
                    counter++;
                    flag = true;
                }
            }           
        }
        flag = false;
    }
 
    my_string tmp(counter);
    int tmp_count = 0;
    if(!tmp._str)
        delete [] tmp._str;
    _str = new char[counter];
    for(int i = 0; i < strlen(first._str); i++)
    {
        for(int j = 0; j < strlen(second._str); j++)
        {
            if(first._str[i] == second._str[j])
            {
                if(!flag)
                {
                    tmp._str[tmp_count] = first._str[i];
                    tmp_count++;
                    flag = true;
                }
            }           
        }
        flag = false;
    }
    
    return tmp;
}
Файл main.cpp :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include "my_string.h"
 
using std::cout;
using std::endl;
 
int main ()
{
    my_string first("sdqcg"), second("rgfas34"), third;
 
    /*third = first.get_concat(second);
    third.show();*/
 
    third = third.get_count_and_str(first, second);
    third.show();
 
    return 0;
}
Миниатюры
Ошибка вывода строки на экран  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru