2013-10-09 3 views
2

Моя программа - простой поиск суммы. код которого я выложу в конце. Но он запрашивает первый номер. При входе он запрашивает у вас второе число. После ввода второго номера окно консоли закрывается перед отображением результатов. Когда я впервые создавал и тестировал в Visual C++ 2010, он работал нормально, но эта проблема возникает только при запуске .exe из местоположения сборки. Какие-нибудь советы?Закрытие программы консоли C++ до завершения.

Вот код Если тестирование самостоятельно, пожалуйста, повторно собрать:

#include "stdafx.h" // for Visual Studio users 
#include <iostream> 

int main() 
{ 
    using namespace std; 
    int no1, no2, sum ; 

    cout << "\nEnter the first number = " ; 
    cin >> no1 ; 

    cout << "\nEnter the Second number = " ; 
    cin >> no2 ; 

    sum = no1 + no2 ; 

    cout << "\nThe sum of "<< no1 <<" and "<< no2 <<" = "<< sum ; 

    return 0 ; 
} 
+3

Откройте окно консоли, запустите программу, набрав командную строку. Окно консоли останется открытым после выхода программы. Вот как запускаются консольные программы. – john

+0

Как говорит Джон. Результат отображается. Но это конец программы, поэтому окно закрывается, прежде чем вы сможете его увидеть. Вы можете немного спать в конце программы, и я уверен, вы поймаете окно с суммой. – sealz

ответ

2

Один из способов держать консоль открытым до тех пор, пока вы удовлетворены это добавить CIN в конце этого - Перед закрытием он будет ждать пользователя, чтобы закрыть его или ввести строку ввода.

+0

Ty для вашего ответа Я смог использовать cin.clear(); cin.ignore (255, '\ n'); cin.get(); – user2864157

2

Это потому, что окно закрывается, когда программа завершена. Используйте std::cin.get() держать окно открытым, пока он ожидает ввода: приложения

int main() 
{ 
    // ... 
    std::cin.get(); // keep the window open; wait for a character 
    return 0; 
} 
+0

Спасибо за ваш четкий ответ. Я смог использовать cin.clear(); cin.ignore (255, '\ n'); cin.get() – user2864157

+0

@ пользователь2864157 проблем нет. Рад, что смог помочь. :) – 0x499602D2

2

консоли фактически означало быть выполнен непосредственно из консоли. Если вы запустите их непосредственно на нем, после завершения программы вы останетесь с консольным окном, содержащим весь вывод, указанный вашей программой. Plus, вы получите немного больше, чтобы использовать командную строку, что довольно круто и полезно иногда. :-D

Если у вас есть какие-либо сомнения по поводу запуска программы с консоли в среде Windows, посмотрите на this answer (Compiling C-code from the Command Prompt in Windows?) или, возможно, на this one (How to run a c program using command prompt).

2

Добавить cin.get() перед возвратом 0;

Смежные вопросы