Mang đến cho bạn hành trang là Kiến thức và Kinh nghiệm

Lựa chọn chủ đề bạn quan tâm

Cùng nhau thảo luận về các vấn đề

Hãy theo dõi chúng tôi nếu bạn thấy bổ ích

  1. Hỏi đáp IT
  2. Hỏi nhanh

Thêm đoạn cho chương trình tự dừng và in ra màn hình

397 Lượt xem 8 Bình luận 0 Lượt báo xấu
Đề:
Viết chương trình đo thời gian 
Khi nhấn phím Enter thì bắt đầu tính giờ. Nhấn phím Enter lần thứ 2 thì dừng
tính giờ và hiển thị thời gian theo format: ##.## (số_giây.số_tick). Nếu thời gian
dài quá 10s thì hiện chữ “EE.EEE” (như là 1 báo lỗi khi thời gian quá lâu) 
Code:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <time.h>
using namespace std;
class Clock {
public:
	Clock(); 
	~Clock(); 
	void setClockStart(); 
	void setClockStop();   
	void printresult();   
private:
	clock_t mStart, mStop;

};
Clock::~Clock()
{

}
Clock::Clock()
{
	mStart = 0;
	mStop = 0;
}
void Clock::setClockStart()
{
	mStart = clock();
}
void Clock::setClockStop()
{
	mStop = clock();
}
void Clock::printresult()
{
	double duration;
	duration = (mStop - mStart) / (double)CLOCKS_PER_SEC;
	if (duration > 10)
		cout << "\tEEEE";
	else
		cout << "\n time is : " << fixed << setprecision(2) << duration << "\n";

}
int main()
{
	Clock test;
	cout << "Enter any key to start" << endl;
	_getch();
	test.setClockStart();
	cout << "Enter any key to stop" << endl;
	_getch();
	test.setClockStop();
	test.printresult();
	cout << endl << "Press any key to continue" << endl;
	_getch();
}
 
Câu trả lời

- Bạn đã sẵn sàng thảo luận về chủ đề này. Hãy bấm "Viết bình luận", bạn có thể lựa chọn sử dụng tài khoản Facebook hoặc Google++

- Vì sự phát triển của cộng đồng CNTT/CNPM tại Việt Nam!

Unknown user
No responses yet

Mình đã thử xóa if...else ở phần void Clock::printresult() và thêm vào while ở dưới hàm main, nhưng tất cả ý tưởng đều bị phá sản. Chương trình vẫn k tự ngừng chạy!
Cao nhân nào giúp mình với!
0 Lượt thích

Ủa mình test thấy vẫn run bình thường mà nhỉ ???
Chắc mình chưa hiểu ý bạn là gì. Bạn nói rõ vấn đề hơn chút được không ?
0 Lượt thích

Ý của đề là khi thời gian dài quá 10s thì sẽ tự hiện ra "EE.EEE" chứ k phải mình ấn Enter rồi hắn mới in ra màn hình là "EE.EEE" bạn à! Tại mình đọc nhầm đề nên mình viết thế thôi. Mà lưu ý là mình viết trên Visual Studio 2015 nhé!
0 Lượt thích

Nếu vậy bạn thử cho kiểm tra thời gian lúc bắt đầu. Như bài của bạn bạn gọi xong 2 phương thức. Start và stop sau đó bạn mới gọi phương thức kiểm tra nên nó không tự động xuất ra Ee.
Dùng IDE khác thì bỏ dòng đầu đi là được mà.
0 Lượt thích

Bạn có thể chữa lại code của mình giúp mình đc k bạn? Mình mới tập tành nên k biết phải chữa theo ý bạn như thế nào! :((((((((
0 Lượt thích

Có cao nhân nào giúp mình với! Suy nghĩ mãi mà bí quá rồi! :(((
0 Lượt thích

void Clock::setClockStart()
{
	double time,dem =0 ;
mStart = clock();
	while(dem < 10){
	time = clock() ;
	dem = (time-mStart)/(double)CLOCKS_PER_SEC;
     }
     if(dem> 10){
        cout << " EEEEEEEEEEE\n\n\n ";
     }

}
Không biết bạn làm được chưa. Nhưng mình cứ up code lên đây. 
Bạn cứ sửa lại theo ý bạn nữa là oke rồi.
0 Lượt thích

Cảm ơn bạn!!!
0 Lượt thích

Từ khóa tìm kiếm

Câu trả lời mới nhất

Tin tuyển dụng