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

Запускается без cmd и закрывается сразу - C++

Восстановить пароль Регистрация
 
Ден90
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 55
21.11.2012, 22:24     Запускается без cmd и закрывается сразу #1
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
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
#include <sstream>
#include <string>
#include "IntList.h"
 
using namespace std;
 
IntList::IntList(const  IntList & src)
{
   itemsCount = 0;
   first = last = NULL;
   AddLast(src);
}
IntList::~IntList()
{
   ListItem *current = NULL;
   ListItem *next = first;
   while (next)
   {
      current = next;
      next = next->next;
      delete current;
   }
}
 
void IntList::AddLast(const IntList & src)
{
   for (ListItem *cur = src.first; cur; cur = cur->next)
      AddLast(cur->item);
}
 
void IntList::AddFirst(int item)
{
      ListItem *newItem = new ListItem(item, first);
      if (!first)
      {
         last = newItem;
      }
      first = newItem;
      itemsCount++;
}
 
void IntList::AddLast(int item)
{
   ListItem *newItem = new ListItem(item);
   if (!last)
   {
      first = newItem;
   }
   else
   {
      last->next = newItem;
   }
   last = newItem;
   itemsCount++;
}
 
int IntList::RemoveFirst()
{
   int res = first->item;
   first = first->next;
   itemsCount--;
   return res;
}
 
bool IntList::Remove(int value)
{
   ListItem *prev = 0,
      *current = first;
   while(current)
   {
      if (current->item == value)
      {
         if (prev)
         {
            prev->next = current->next;
         }
         if (current == last)
         {
            last = prev;
         }
         delete current;
         itemsCount--;
         return true;
      }
      else
      {
         prev = current;
         current = current->next;
      }
   }
   return false;
}
 
void IntList::Insert(int value)
{
   ListItem *prev = NULL,
      *succ = first;
      while ( succ !=NULL && succ->item < value)
      {
         prev = succ;
         succ = succ->next;
      }
   ListItem *newItem = new ListItem(value, succ);
   if ( succ == NULL)
   {
      last = newItem;
   }
 
   if (prev == NULL)
   {
      first = newItem;
   }
 
   else
   {
      prev->next = newItem;
   }
   itemsCount++;
}
 
string IntList::GetAllItemsInfo()
{
   stringstream stream;
   ListItem *current = first;
   while (current)
   {
      stream << current->item << ' ';
      current = current->next;
   }
   stream << endl;
   return stream.str();
}


.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
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
#include<string>
#include<stdlib.h>
using namespace std;
 
#pragma argsused
 
class IntList
{
   struct ListItem
   {
      int item;
      ListItem *next;
 
      ListItem(int i, ListItem *n = NULL)
      {
         item = i;
         next = n;
      }
   };
private:
 
   int itemsCount;
   ListItem *first;
   ListItem *last;
 
public:
   IntList()
   {
      itemsCount = 0;
      first = last = NULL;
   }
 
   IntList(const IntList & src);
 
   ~IntList();
 
   int Head() const
   {
      return first->item;
   }
 
   int & Head()
   {
      return first->item;
   }
 
   int Tail() const
   {
      return last->item;
   }
 
   int & Tail()
   {
      return last->item;
   }
 
   void AddLast(const IntList & src);
   void AddFirst(int item);
   void AddLast(int item);
   int RemoveFirst();
   bool Remove(int n);
   void Insert(int n);
 
   int getItemsCount()
   {
      return itemsCount;
   }
 
   string GetAllItemsInfo();
};


main

Кликните здесь для просмотра всего текста
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
#pragma hdrstop
#include<iostream>
#include "IntList.h"
#pragma argsused
using namespace std;
 
int main(int argc, char* argv[])
{
   IntList list;
   list.AddLast(2);
   list.AddLast(3);
   list.AddFirst(1);
 
   cout << list.GetAllItemsInfo();
 
   IntList list1(list);
   list1.AddLast(4);
   list1.Remove(2);
   list1.Remove(5);
   list1.Remove(4);
 
   cout << list1.GetAllItemsInfo();
 
   Sleep(1000);
 
   return 0;
}


Подскажите плиз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.11.2012, 22:30     Запускается без cmd и закрывается сразу #2
в конце функции main перед return 0; вызвать system("pause"); или поставить ожидание ввода любой клавиши getch();
нужные инклуды для этих вызовов на память не помню, сами поищите.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
21.11.2012, 22:32     Запускается без cmd и закрывается сразу #3
Цитата Сообщение от DU Посмотреть сообщение
нужные инклуды для этих вызовов на память не помню, сами поищите.
для
C++
1
system("pause");
<cstdlib>
для
C++
1
getch();
<conio.h>
Ден90
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 55
21.11.2012, 22:34  [ТС]     Запускается без cmd и закрывается сразу #4
Там стоит слип. Дело в том что оно даже не запускает консоль.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
21.11.2012, 22:38     Запускается без cmd и закрывается сразу #5
Цитата Сообщение от Ден90 Посмотреть сообщение
Дело в том что оно даже не запускает консоль.
а хоть компилируется? А то Sleep(1000); я вижу, а подключения windows.h нет.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
21.11.2012, 22:38     Запускается без cmd и закрывается сразу #6
Sleep(1000); замените на system("pause"); ну и инклуд соответствующий.
И а-та-та за описание функций внутри .h файла. Он должен быть шаблонным онли.
Ден90
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 55
21.11.2012, 22:41  [ТС]     Запускается без cmd и закрывается сразу #7
Ничего не поменялось. Компилируется и запускается но сразу "успешно" завершается
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.11.2012, 22:45     Запускается без cmd и закрывается сразу #8
из командной строки свой exe запустите. или из фара. или что там у вас. из того, что оставляет после завершения программы ее вывод. прога вроде рабочая (http://ideone.com/dFhRCr). то, что она завершается - это потому что в конце нет ожидания какого-нибудь события типа нажатия любой клавиши.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 22:54     Запускается без cmd и закрывается сразу
Еще ссылки по теме:

НЕ Закрывается cmd после запуска простого приложения с++ C++
Программа закрывается сразу после отработки C++
Программа сразу после ввода закрывается C++

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

Или воспользуйтесь поиском по форуму:
Ден90
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 55
21.11.2012, 22:54  [ТС]     Запускается без cmd и закрывается сразу #9
Скопировал с того источника и заработало.
А с тем и правда консоль не вызывает.
Yandex
Объявления
21.11.2012, 22:54     Запускается без cmd и закрывается сразу
Ответ Создать тему
Опции темы

Текущее время: 00:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru