PDA

View Full Version : giúp minh voi các cao thủ ơi



Goldmonkey
01-08-2002, 09:00
lúc này mình còn đang học C++ nhưng vừa rồi mình viết chương trình nhỏ xíu nhưng gặp lỗi là không hiểu tại sao khi mình dùng hàm gettime (dos.h) thi khi mình so thời gian
struct time t;
........................
gettime(&t);
tgqk= (((t.ti_hur*60)+t.ti_min*60)+t.ti_sec)*100;
while (1)
{
gettime(&t);
tght= (((t.ti_hur*60)+t.ti_min*60)+t.ti_sec)*100;
if(tght-tgqk>=consố)
{
.................
tgqk= tght;
};

nhưng mà nếu như consố = 0 thì nó chạy rất nhanh ở đây (ok) nếu consố lớn hơn 0 thì bấc kỳ giá trị nào nó cũng chạy với khoảng daley nhưng nhau

CrazyBabe
01-08-2002, 14:47
Quả thật là tôi cũng chưa từng gặp phải vấn đề như vậy, cũng có thể là đoạn chương trình của bạn chạy vượt quá khoảng thời gian bạn quy định chăng ? Hoặc là kiểu số lưu trữ của bạn không phù hợp với giá trị time chẳng hạn, hãy thử kiểm tra lại bằng cách lưu các section time lại xem chúng có liên tiếp hay không, còn nếu không được thì để tôi kiểm chứng lại đã, hì hì.

ktvnguyenchien
04-08-2002, 11:52
Mình chưa thử, nhưng phân tích như sau:
Khi Gettime được gọi, thì tgqk được gán giá trị thời hiện tại.
Sau đó tght được gán giá trị thời gian tiếp theo.
đương nhiên tght-tgqk (gọi là Hiệu) luôn lớn hơn 0.
Nhưng nếu bạn gán giá trị cho con số lớn hơn Hiệu thì đoạn lệnh nằm trong If {....} không có tác dụng.

xp2002_
30-08-2002, 09:19
struct time t;
........................
gettime(&t);
tgqk= (((t.ti_hur*60)+t.ti_min*60)+t.ti_sec)*100;
while (1)
{
gettime(&t);
tght= (((t.ti_hur*60)+t.ti_min*60)+t.ti_sec)*100;
if(tght-tgqk>=consố)
{
.................
tgqk= tght;
};

Cẩn thận một tí bạn ơi
Không biết đoạn code trên bạn nhập có chính xác hay như chương trình của bạn không. Riêng tôi thấy dường như bạn đã thiếu một dấu () rồi đấy. Theo bạn thì biến tght sẽ chứa phần trăm giây phải không, nếu vậy thì biểu thức trên đã sai rồi đấy, hãy sửa lại như thế này thử xem:
tght= ((((t.ti_hur*60)+t.ti_min)*60)+t.ti_sec)*100;
Có phải bạn định viết lại hàm delay phải không. Chúc bạn thành công nhé!