Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2009, 14:44   #1
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию Хочу, чтобы окно не закрывалось после выполнения программы

Написал программу преобразования температуры, заданной в Цельсиях, в температуру по Фаренгейту
Код:
// Программа для преобразования градусов Цельсия в градусы Фаренгейта:
// Fahrenheit = NCelsius*(212-32)/100+32

#include <stdio.h>
#include <iostream.h>
int main(int NumberofArgs, char*pszArgs[])
{
 // Введите температуру в градусах Цельсия
 int nNCelsius;
 cout << "Vvedite temperaturu po Celsiu: ";
 cin >> nNCelsius;

 // для приведенной формулы преобразования вычислим преобразующий множитель
 int nNFactor;
 nNFactor=212-32;

 // используем вычисленный множитель для преобразования градусов Цельсия в градусы Фаренгейта
 int nFahrenheit;
 nFahrenheit=nNFactor*nNCelsius/100+32;

 // вывод результатов
 cout << "Temperatura po Farengeitu: ";
 cout << nFahrenheit;

 return 0;
}
Все работает, но я хочу, чтобы окно программы не закрывалось после нажатия на Enter. Как это сделать?
fs444 вне форума Ответить с цитированием
Старый 18.09.2009, 14:52   #2
Consol
Пользователь
 
Регистрация: 19.08.2009
Сообщений: 89
По умолчанию

может ты имел ввиду не закрывалось пока ты не нажмешь ентер

используй
Код:
system("pause");

Последний раз редактировалось Sazary; 18.09.2009 в 18:25.
Consol вне форума Ответить с цитированием
Старый 18.09.2009, 14:56   #3
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию

Также прочитал такие слова:
Цитата:
Если не считать программных решений, то как вариант во многих IDE есть альтернативный запуск в конце которого появляется "Press any key to continue...". Я бы сказал во всех, но не уверен, так как пробовал лишь самые популярные.
Это про что?
fs444 вне форума Ответить с цитированием
Старый 18.09.2009, 14:56   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
system("pause");
Я бы лучше написал cin.get(); Где-то слышал что System лучше избегать.
Цитата:
Это про что?
Это про то что некоторые компиляторы после выполнения программы не скрывают окно, если в программе не прописано ожидать нажатия клавиши, а наоборот ждут нажатия Энтера. Обычно такие фички настроены в универах.
I'm learning to live...

Последний раз редактировалось Stilet; 18.09.2009 в 14:58.
Stilet вне форума Ответить с цитированием
Старый 22.09.2009, 13:25   #5
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию

А кстати, для чего в конце программы размещен return 0; ? Пробовал указывать вместо нуля другие цифры - вроде как ничего не меняет.
fs444 вне форума Ответить с цитированием
Старый 22.09.2009, 16:07   #6
manzar
 
Регистрация: 22.09.2009
Сообщений: 4
По умолчанию Дарова

Любая функция в С++ должна возвращать значение или не возвращать.
В первом случае в начале обявления функции пишется имя возвращаемого типа например: "int myfunct(передаваемые значения)".
Во втором cлучае вначале пишется слово "void".
"return" это возврщаемое значение функции main (точки входа).
Если вначале любой функции не стоит "void" она обязательно должна
возвращать значение. Тут у тебя стоит "int main(...)" а значит
функция должна возвращать тип "int"(целочисленное значение). А
в твоем случае функции "main" возвращать то нечего. Поэтому ради приличия (и не только) пишут "return 0".
manzar вне форума Ответить с цитированием
Старый 22.09.2009, 16:23   #7
manzar
 
Регистрация: 22.09.2009
Сообщений: 4
По умолчанию

Самый удоьный способ это написать перед "return o " вот это:
"getch();" -эта функция находится в библиотеке "stdio.h".
Ну можно еще написать в конце "cin.get();" -что находится в "iostream"
но иногда приходится писать "cin.get()" два раза. Поэтому рекомендую первый способ. Разница лишь в том что "getch();" относиться к библиотекам "С" а "cin.get" к "С++".
manzar вне форума Ответить с цитированием
Старый 22.09.2009, 16:42   #8
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

cin.get() требует нажатия Enter, а getch() - любой клавиши. Я предпочитаю второй вариант.

Цитата:
Сообщение от manzar Посмотреть сообщение
"getch();" -эта функция находится в библиотеке "stdio.h".
Точнее, в conio.h.
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить консоль не закрываться после выполнения программы starikovmax Общие вопросы C/C++ 4 23.02.2010 16:59
Сохранение полученных данных после выполнения поиска Pirat_of Microsoft Office Access 1 14.05.2009 08:38
Button после выполнения ProgressBar }{oт@бь)ч Общие вопросы Delphi 7 25.01.2009 12:33
Хочу чтобы ехе окно не меняло размер Ellita Общие вопросы Delphi 2 27.08.2007 20:44
Сделать чтобы оболочкой программы был не ДОС а нормальное окно виндовс Артэс Общие вопросы C/C++ 7 12.06.2007 12:11