Code tạo đồng hồ số có hẹn giờ C++

Ai có thể giúp em với ah…Đây là bài tập lớn môn kĩ thuật lập trình của e mà bí quá.E tìm trên mạng thì chẳng thấy đấu.,

AI có thể giúp e với?? Giao diện console ah.

Diễn đàn này không khuyến khích các topic hỏi bài tập, nhưng mình có thể giúp bạn một chút bằng cách hỏi bạn đã tìm hiểu được đến đâu về tài này rồi? Xem bạn mắc ở chỗ nào cùng giải quyết giúp bạn sẽ tốt hơn là làm giúp bạn :smile:

2 Likes

T mắc là k0 biết lấy đâu ra cái h thật vs cả làm sao cho cái đồng hồ nó chạy dc vậy??

Giờ thật thì bạn search hàm lấy giờ theo hệ thống, còn việc làm sao nó chạy được thì là do mình gửi request “hỏi giờ” đến hệ thống liên tục và bắt nó phải hiện ra là đáp ứng được yêu cầu của bạn rồi :smile:

Bạn xem về hàm time ở đây:
http://www.cplusplus.com/reference/ctime/time/?kw=time
Còn đồng hồ chạy thì mình nghĩ là dùng vòng lặp trong đó có lệnh sleep(1000); để cho nó tạm dừng 1 giây :smiley:

1 Like

Đính chính 1 chút thôi, là _sleep(1000) nhé :smile:

Nếu mình phải làm bài này thì mình sẽ làm thế này:

  • Lấy thời gian của hệ thống khi mới chạy chương trình.

  • Vào trang này để lấy ký tự số từ 0 -> 9 cho đẹp Generate art text

  • Dùng Sleep(1000), cứ mỗi lần Sleep là dùng gotoxy đến các vị trí đã quy định sẵn của giờ phút giây, xóa vùng hiện thị của số cũ đi, vẽ hình hiển thị của số mới vào.

  • Khi nào thời gian = thời gian hẹn trước thì xuất ra thông báo hay kêu bíp gì gì đó :)))

Ý tưởng của mình là thế, bạn tham khảo.

3 Likes

Cho em hỏi 1 chút là làm sao nhập dữ liệu dạng hh:mm:ss (ví dụ 00:00:00) ạ???

Bạn phải tự code để parse :slight_smile: mà dùng <chrono> nhé.

cái này mình code hồi mới học c++. mong là giúp ích được cho bạn
https://github.com/AnhQuanTran/console_clock

Bạn nên lấy giờ từ hệ thống liên tục chứ không nên sử dụng Sleep(1000) vì mỗi máy tính có một xung nhịp khác nhau và trong quá trình chạy, chưa chắc ứng dụng của bạn luôn được hệ thống ưu tiên thực thi (hệ thống sẽ liên tục trao quyền cho các ứng dụng khác nhau lần lượt sử dụng cpu để tạo hiệu ứng đa nhiệm). Vì thế, đồng hồ sử dụng sleep chạy 1 thời gian sẽ bị lệch.
Tóm lại, cứ lấy giờ hệ thống mà in ra chứ đùng sleep.

Còn vụ hình ảnh, thì bạn có thể tham khảo bảng ascii, có các kí tự đặc sệt như miếng gạch vậy, bạn có thể định nghĩa hình dáng các chữ số bằng mảng 2 chiều với các kí tự này.
Sau đó tìm cách in ra màn hình các số đó là được
PS: Vấn đề hình ảnh thì bạn có thể tham khảo các clip sau của anh Nguyễn Trung Thành, đh KHTN HCM

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?