Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 7
Регистрация: 21.03.2013
Сообщений: 608
1

после отработки программы не закрывается консолька

09.10.2013, 01:09. Показов 641. Ответов 5
Метки нет (Все метки)

не закрывается консолька после отработки проги, и ошибку какую-то выкиывает типо не обработано исключение, и отладчиком тут никак, бо не показывает то место кода де неверно

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
#include <iostream>
#include <string>
using namespace std;
 
class swapall
{
private:
    int *a;
    double *b;
    string slovo;
    string slovo1;
public:
    swapall();
    swapall(int*);
    swapall( double*);
    swapall(string s, string s1);
    swapall(const swapall &);
    ~swapall();
    void swap(int, int);
    void swap(double, double);
    void swap(string, string);
    void showint();
    void shows();
    void showd();
};
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
#include "заголовочный.h"
#include <iostream>
#include <string>
using namespace std;
 
swapall::swapall(int *num)
{
    a=new int[2];
    for(int i=0; i<2; i++)
        a[i]=num[i];
}
 
 
swapall::swapall(const swapall &copy)
{
    a=new int[2];
    for(int i=0; i<2; i++)
        *(a+i)=*(copy.a+i);
        b=new double[2];
    for(int i=0; i<2; i++)
        *(b+i)=*(copy.b+i);
}
 
/*swapall::swapall(const swapall &copyy)
{
    b=new double[2];
    for(int i=0; i<2; i++)
        *(b+i)=*(copyy.b+i);
}*/
 
 
swapall::swapall()
{
    a=0;
    b=0;
    slovo="no name";
    slovo1="no name";
}
 
swapall::~swapall() {
        delete [] a;
        delete [] b; 
}
 
swapall::swapall(double *nm)
{
    b=new double[2];
    for(int i=0; i<2; i++)
        b[i]=nm[i];
}
 
swapall::swapall(string s, string s1)
{
    slovo=s;
    slovo1=s1;
}
 
void swapall::swap(int one, int two)
{
    int tmp=0;
    tmp=a[0];
    a[0]=a[1];
    a[1]=tmp;
}
 
void swapall::swap(double one, double two)
{
    double tmp=0;
    tmp=b[0];
    b[0]=b[1];
    b[1]=tmp;
}
 
void swapall::swap(string, string)
{
    string tmp="no name";
    tmp=slovo;
    slovo=slovo1;
    slovo1=tmp;
}
 
void swapall::showint()
{
    cout<<endl;
    cout<<a[0];
    cout<<endl;
    cout<<a[1];
}
 
void swapall::shows()
{
    cout<<endl;
    cout<<slovo;
    cout<<endl;
    cout<<slovo1;
}
 
void swapall::showd()
{
    cout<<endl;
    cout<<b[0];
    cout<<endl;
    cout<<b[1];
}
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
#include "заголовочный.h"
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "RUS");
    int *a;
    a=new int[2];
    cout<<"Проинициализируйте элементы массива int\n";
    for(int i = 0; i < 2; i++) {
        cout<<"Введите элемент "<< i + 1 <<" : ";
        cin >> a[i];
    while(1) {
        if (!cin.good()){
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(),'\n');
            cout << "\nНеобходимо ввести цифру!\n" << "Повторите попытку: ";
            cin >> a[i];
        }
        else { cin.ignore(numeric_limits<streamsize>::max(),'\n'); break; }
    }
    }
    double *b;
    b=new double[2];
        cout<<"Проинициализируйте элементы массива double\n";
    for(int i = 0; i < 2; i++) {
        cout<<"Введите элемент "<< i + 1 <<" : ";
        cin >> b[i];
    while(1) {
        if (!cin.good()){
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max(),'\n');
        cout << "\nНеобходимо ввести цифру!\n" << "Повторите попытку: ";
        cin >> b[i];
        }
        else { cin.ignore(numeric_limits<streamsize>::max(),'\n'); break; }              
    }
    }
    swapall q(a);
    swapall q2(b);
    q.showint();
    q2.showd();
    q.swap(1,2);
    q2.swap(1.11111111, 2.22222222);
    q.showint();
    q2.showd();
    swapall q1("vasko", "zaza");
    q1.swap("s", "k");
    q1.shows();
    system("pause");
    q.~swapall();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2013, 01:09
Ответы с готовыми решениями:

Программа закрывается сразу после отработки
программа готова. Запускаю компилятор. Программа выполнена правильно, но окно сразу же закрывается!...

Окно программы закрывается сразу же после отработки
После запуска проекта окно с результатом открывается на секунду и сразу же закрывается. Как быть? ...

Консоль закрывается после выполнения программы
Всем привет, такая проблема, после выполнения программы окно консоли закрывается. Как можно...

Окно программы закрывается после выполнения кода
Сам код: #include &lt;iostream&gt; using namespace std; // main() int main() { cout &lt;&lt;...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
5
571 / 554 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
09.10.2013, 01:12 2
А явный вызов деструктора зачем? или это была попытка исправить исключение?
0
2 / 2 / 7
Регистрация: 21.03.2013
Сообщений: 608
09.10.2013, 01:14  [ТС] 3
I.M., попытка была, думал может из-за этого )
0
571 / 554 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
09.10.2013, 03:22 4
Могу предложить добавить в конструкторы инициализацию нулем тех указателей, которые не инициализируются чем-либо
Скажем, в этом конструкторе
C++
1
swapall::swapall(string s, string s1)
надо занулить оба.
Очень странные методы swap
И то тут, то там утечки памяти
1
Don't worry, be happy
16986 / 9864 / 1900
Регистрация: 27.09.2012
Сообщений: 24,461
Записей в блоге: 1
09.10.2013, 04:17 5
Цитата Сообщение от I.M. Посмотреть сообщение
Очень странные методы swap
И то тут, то там утечки памяти
о чем я уже говорил
Цитата Сообщение от Croessmah Посмотреть сообщение
А что Вы вообще хотите сделать?
Просто ошибок много и не понятно ради чего.
0
2 / 2 / 7
Регистрация: 21.03.2013
Сообщений: 608
09.10.2013, 16:29  [ТС] 6
Croessmah, задание перегрузить функцию не менее трёх раз меняющую местами элементы
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2013, 16:29

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Окно программы закрывается сразу после вычислений
Здравствуйте, я приступил к изучению паскаля, набрал первую программку вида: var a, b, sum :...

После запуска программы она сразу сама закрывается!
Почитал на форуме пишут что нужен отчет программы Combofix.exe Я все сделал ComboFix...

После компиляции программы. Visual studio сразу закрывается. Вылетает ошибка.
http://s54.***********/i145/1104/ad/e59a041279ff.jpg Что делать? Когда жму ctrl+f5 Visual...

После китайской программы целый набор косяков, автологер закрывается сам
Здравствуйте! С левого торрента качал нужный файл и словил китайскую программу, которая заполонила...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.