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

Вылет программы после завершения - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Sovershennui
 Аватар для Sovershennui
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 22
30.07.2013, 15:03     Вылет программы после завершения #1
Добрый день. Сегодня решил начать изучение языка программирования. Нашел учебник для чайников, там построение задач ведется с использованием GNU C++. Данную программу я не нашел (возможно, плохо искал. у меня 7-ая винда, если сможете помочь с этим, заранее спасибо). Скачал Dev C++. Говорят, одно и то же.
Вообщем, вот первое, что предлагается в учебнике:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <iostream.h>
int main(int nNumberofArgs, char* pszArgs[])
{
int nNCelsius;
cout << " Temperatura po Celsiu ";
cin >> nNCelsius;
int nNFactor;
nNFactor = 212 - 32;
 
int nFahrenheit;
nFahrenheit = nNFactor * nNCelsius/100 + 32;
cout << "Temperatura po Farengeitu ";
cout << nFahrenheit;
return 0 ;
}
Вообщем-то, простая программа. Но меня интересует другой вопрос: когда открываю файл name.exe (скомпилированный этим кодом), ввожу значение, далее быстро появляется строка со значением температуры по Фаренгейту и программа закрывается. Все это проходит за интервал времени менее секунды.
В гугле решения не нашел, решил обратиться к знатокам.
Вроде у меня и стоит "return 0", которое, как я понял, должно вернуть к началу операции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
30.07.2013, 15:10     Вылет программы после завершения #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio>
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main(int nNumberofArgs, char* pszArgs[])
{
   int nNCelsius;
   cout << " Temperatura po Celsiu ";
   cin >> nNCelsius;
   int nNFactor;
   nNFactor = 212 - 32;
 
   int nFahrenheit;
   nFahrenheit = nNFactor * nNCelsius/100 + 32;
   cout << "Temperatura po Farengeitu ";
   cout << nFahrenheit;
   system("pause");
   return 0 ;
}
Sovershennui
 Аватар для Sovershennui
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 22
30.07.2013, 15:31  [ТС]     Вылет программы после завершения #3
После того, как скопировал и вставил Ваш код.
Вылет программы после завершения

Добавлено через 10 минут
То бишь появилось 5 новых ошибок. Естественно, вопрос остается актуальным.
stragger
38 / 38 / 2
Регистрация: 05.12.2011
Сообщений: 343
30.07.2013, 15:33     Вылет программы после завершения #4
Sovershennui, а какие ошибки-то?
попробуй эту строку убрать, здесь это подключение лишнее, да и не совсем корректное
C
1
#include <stdio>
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
30.07.2013, 15:35     Вылет программы после завершения #5
Цитата Сообщение от Sovershennui Посмотреть сообщение
После того, как скопировал
Плохо скопировали. Уберите из начала кода столбец чисел.
Sovershennui
 Аватар для Sovershennui
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 22
30.07.2013, 15:36  [ТС]     Вылет программы после завершения #6
Цитата Сообщение от stragger Посмотреть сообщение
Sovershennui, а какие ошибки-то?
попробуй эту строку убрать, здесь это подключение лишнее, да и не совсем корректное
C
1
#include <stdio>
Убрал. Теперь работает лучше, спасибо.
Теперь, когда я ввожу по Цельсию, мне выдает значение по Фаренгейту. Далее написано "для продолжения нажмите любую клавишу". Когда нажимаю, то программа закрывается. Как сделать так, чтобы можно было ввести новый параметр температуры по Цельсию, чтобы получить новый ответ? То бишь, чтобы программа не закрывалась, а повторяла весь цикл заново?
stragger
38 / 38 / 2
Регистрация: 05.12.2011
Сообщений: 343
30.07.2013, 15:40     Вылет программы после завершения #7
Sovershennui, читать книжку дальше до темы, где разбираются циклы. Думаю полезней будет, если ты сам напишешь этот код.
Valentina
66 / 66 / 3
Регистрация: 13.05.2012
Сообщений: 130
30.07.2013, 15:46     Вылет программы после завершения #8
Цитата Сообщение от Sovershennui Посмотреть сообщение
Как сделать так, чтобы можно было ввести новый параметр температуры по Цельсию, чтобы получить новый ответ? То бишь, чтобы программа не закрывалась, а повторяла весь цикл заново?
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
#include <stdio>
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main(int nNumberofArgs, char* pszArgs[])
{
   int nNCelsius;
   int nNFactor;
   int nFahrenheit;
   char ch;
   do
   {
   cout << " Temperatura po Celsiu ";
   cin >> nNCelsius;
   
   nNFactor = 212 - 32;
 
   
   nFahrenheit = nNFactor * nNCelsius/100 + 32;
   cout << "Temperatura po Farengeitu ";
   cout << nFahrenheit;
   cout<<"\nContinue....(y/n)"<<endl;
   cin>>ch;
   }while(ch=='y');
   system("pause");
   return 0 ;
}
Sovershennui
 Аватар для Sovershennui
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 22
30.07.2013, 15:55  [ТС]     Вылет программы после завершения #9
Хорошо, спасибо. Последую вашему совету. Надеюсь, далее будет описание повторения циклов.
Кстати, Valentina , увы, Ваш код ничего не изменил.
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
30.07.2013, 16:14     Вылет программы после завершения #10
Код Валентины - рабочий. Что собственно не так?
Sovershennui
 Аватар для Sovershennui
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 22
30.07.2013, 16:17  [ТС]     Вылет программы после завершения #11
Повторюсь: как я ввожу значение по Цельсию, он мне выдает значение по Фаренгейту, а также надпись: "Для продолжения нажмите какую-либо клавишу". После нажатия программа закрывается. Я попросил указать на то, что нужно добавить, чтобы программа не закрывалась, а повторяла цикл, т.е. можно было еще несколько раз ввести значения по Цельсию, чтобы получить по Фаренгейту
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
30.07.2013, 16:32     Вылет программы после завершения #12
Цитата Сообщение от Rusarch333 Посмотреть сообщение
Код Валентины - рабочий.
Лично подтверждаю.
Вылет программы после завершения
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
30.07.2013, 18:39     Вылет программы после завершения #13
Ещё можно так:

C++
1
2
3
4
5
6
7
8
#include <conio.h>
 
int main() {
...
...
...
getch();
}
И перед выходом из программы нужно будет нажать любую клавишу
Это лучше чем
C++
1
system("pause");
Потому что можно писать свой текст, пример (чтоб понятнее было):
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <conio.h>
 
int main() {
std::cout << "Hello, World!" << std::endl;
std::cout << "Enter any key for exit" << std::endl;
getch();
return 0;
}


Добавлено через 44 минуты
Кстати, есть ещё один способ, правда я ним никогда не пользовался, так как думаю что он не очень удобный
C++
1
cin.getline();
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
30.07.2013, 18:41     Вылет программы после завершения #14
прям таки лучше?
лучше не перегружать программу избыточным включением хидеров и не смешивать плюсы с сями
Цитата Сообщение от Даниил Посмотреть сообщение
#include <iostream>
#include <conio.h>
можно обойтись вместо getch функцией cin.get()
Sovershennui
 Аватар для Sovershennui
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 22
30.07.2013, 19:04  [ТС]     Вылет программы после завершения #15
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Лично подтверждаю.
Вложение 295657
Хм. Почему же у меня так не выходит?
Вот мой код
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
#include <stdio>
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main(int nNumberofArgs, char* pszArgs[])
{
   int nNCelsius;
   int nNFactor;
   int nFahrenheit;
   char ch;
   do
   {
   cout << " Temperatura po Celsiu ";
   cin >> nNCelsius;
   
   nNFactor = 212 - 32;
 
   
   nFahrenheit = nNFactor * nNCelsius/100 + 32;
   cout << "Temperatura po Farengeitu ";
   cout << nFahrenheit;
   cout<<"\nContinue....(y/n)"<<endl;
   cin>>ch;
   }while(ch=='y');
   system("pause");
   return 0 ;
}
Видимо, здесь где-то ошибка. Заново не хочет компилировать. Подскажете?
Вот что написано в журнале компиляции
Компилятор: Default compiler
Выполнение g++.exe...
g++.exe "C:\Users\Stepka.jej\Desktop\raq.cpp" -o "C:\Users\Stepka.jej\Desktop\raq.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
C:\Users\Stepka.jej\Desktop\raq.cpp:1:17: stdio: No such file or directory
Выполнение завершено
Я, наверное, вас уже совсем замотал
Просто хочется сразу попробовать разобраться
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.07.2013, 19:09     Вылет программы после завершения #16
Пишет же:
Цитата Сообщение от Sovershennui Посмотреть сообщение
stdio: No such file or directory
Добавлено через 44 секунды
C++
1
#include <cstdio>
Sovershennui
 Аватар для Sovershennui
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 22
30.07.2013, 19:13  [ТС]     Вылет программы после завершения #17
Первый день сегодня, еще путаюсь, спасибо.
Отлично! Теперь заработало. У меня вместо
<cstdio> было <stdio>.
Больше, пока что, вопросов нет. Спасибо всем за потраченное на меня время.
Ljutamir
1 / 1 / 0
Регистрация: 29.10.2013
Сообщений: 28
29.10.2013, 14:32     Вылет программы после завершения #18
Добрый день, специалисты! Вот решил стать чайником в С++, по той же самой книге. Написал тот же код. Компилятор выполнил. Получил .exe, но он не работает.
Пишет, что не является приложением Win32
Что делать? Как лечить? )))
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
29.10.2013, 14:39     Вылет программы после завершения #19
Ljutamir, а вы тему прочитали? Конкретно тыкать носом не буду, но вариантов описано море.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2013, 14:42     Вылет программы после завершения
Еще ссылки по теме:

C++ Вылет после компиляции
Вылет программы на деструкторе C++
Вылет программы при удалении динамического массива C++

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

Или воспользуйтесь поиском по форуму:
Ljutamir
1 / 1 / 0
Регистрация: 29.10.2013
Сообщений: 28
29.10.2013, 14:42     Вылет программы после завершения #20
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Ljutamir, а вы тему прочитали? Конкретно тыкать носом не буду, но вариантов описано море.
Ребят, я понимаю, что тема "вылет программы после завершения".
Но вы же гуру в этих вопросах. Научите, как её хоть запустить? Компилирую тоже через Dev-++
А то у меня вылет, на запуске ((((((
Yandex
Объявления
29.10.2013, 14:42     Вылет программы после завершения
Ответ Создать тему
Опции темы

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