2012-01-28 27 views
6

thể trùng lặp:
How to stop C++ console application from exiting immediately?Làm cách nào để cửa sổ luôn mở sau khi mã C++ chạy?

tôi đang cố gắng để xem kết quả của tôi, tôi phải làm gì để mã của tôi để tôi có thể xem những gì tôi đã làm là đúng?

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout << "C++" << endl; 
    cout << "The sum of 11 + 12 = " << 30/2 << endl; 
    return 0; 
} 
+1

Bạn đang sử dụng Windows? – summea

+0

Chào mừng bạn đến với Stack Overflow! Ở đây, để định dạng mã đúng, bạn thụt lề mỗi dòng theo bốn dấu cách, hoặc nhấp vào nút '{}'. –

+0

11 + 12! = 30/2;) Đặt điểm ngắt tại câu lệnh trả về. – Mahesh

Trả lời

5

Tôi nghĩ ý của bạn là thiết bị đầu cuối DOS sẽ đóng ngay khi chương trình của bạn kết thúc.

Một giải pháp phổ biến là gọi điện đến cin, scanf hoặc getch ở cuối chương trình của bạn, ngay trước return 0. Điều này buộc chương trình phải chờ một số đầu vào của người dùng trước khi thoát.

Cách tốt hơn là biên dịch chương trình của bạn và sau đó tự chạy nó từ bên trong dấu nhắc DOS. Chỉ cần khởi động dấu nhắc DOS, cd vào thư mục mà chương trình của bạn đang chạy và chạy nó từ đó.

+1

Tôi không thể nhận được cin hoạt động. cin >> "a" >> endl; Tôi đã sử dụng hình ảnh thể hiện được đánh giá cao và tôi thực sự không thích nó.Dev tốt hơn nhiều, nó sẽ cho tôi biết lỗi là gì và ở đâu, cái này thì không. –

+1

@Jordan: Tại sao bạn sử dụng 'cin >>" a "'? Bạn sử dụng 'cin' để đọc vào một biến không phải là một chuỗi ký tự. Hãy thử 'char a; cin >> a; '. Chỉ cần thay đổi hướng mũi tên từ ví dụ 'cout' không phải là cách để học. – MAK

4

Sử dụng getchar() ở cuối mã hoặc chỉ chạy tệp thi hành từ bảng điều khiển.

+1

Tôi không biết làm thế nào để chạy nó từ bàn điều khiển vì tôi không biết phần mở rộng tập tin hoặc làm thế nào để tìm ra phần mở rộng tập tin. Nó vẫn ngay lập tức đóng cửa sổ. –

+0

@Jordan: Trên Windows, các tệp thi hành thường có phần mở rộng tệp '.exe', mặc dù không phải tất cả các chương trình Windows hợp lệ đều có phần mở rộng' .exe'. Tuy nhiên, bạn không cần phải gõ '.exe' để chạy một tập tin thực thi trong dòng lệnh. Tên của ứng dụng là đủ. –

+1

getchar() không hoạt động, trình biên dịch cho tôi một lỗi. Tôi đặt nó sau cout của tôi, sau khi {hoặc sau khi return0 ;? tất cả đều là lỗi. –

2

Cách khác trên cửa sổ: hệ thống ("tạm dừng");

1
#include <iostream> 
using namespace std ; 



int main(void) 
{ 


    std::cout<<" \nPress any key to continue\n"; 
    std::cin.ignore(); 

    return 0; 
} 
+1

Tôi nghĩ bạn không cần std :: nếu bạn sử dụng không gian tên std? –

+0

Đó là chính xác: đó là tùy chọn do đó trong trường hợp này. –

Các vấn đề liên quan