Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Làm thế nào để viết chương trình hiển thị đồng hồ

  1. #1
    Ngày gia nhập
    02 2007
    Bài viết
    3

    Question Làm thế nào để viết chương trình hiển thị đồng hồ !

    Viết chương trình thường trú hiển thị đồng hồ ở góc phải dưới của màn hình. Chương trình liên tục cập nhật giờ theo giờ hệ thống và chỉ mất đi khi người dùng thoát khỏi chế độ DOS.

    Mình có tham khảo mấy code nhưng chưa ra đâu hết ,có ai chỉ mình hướng ra với ,xin cám ơn trước nha.

    PHP Code:
    #include<stdio.h>

    #include <dos.h>

    #include <conio.h>

    #include<graphics.h>

    #define INTR 0x1C

    #define ATTR 0x7900



    #ifdef __cplusplus

        #define __CPPARGS ...

    #else

        #define __CPPARGS

    #endif



    extern unsigned _heaplen 1024;


    extern unsigned _stklen  512;

    void interrupt ( *oldhandler)(__CPPARGS);

    typedef unsigned int (far *s_arrayptr);

    struct time t;



    void interrupt handler(__CPPARGS)

    {

      
    s_arrayptr screen[80];

      static 
    int count,ticker;

      
    int tam;

      
    screen[0] = (s_arrayptrMK_FP(0xB800,0);

      
    count++;



      if (
    ticker==0)

      {

        
    t.ti_sec++;

        
    ticker=( ((count%5)==0)?19:18);

        if (
    t.ti_sec==60)

          {

            
    t.ti_sec=0;

            
    t.ti_min++;

          }

        if (
    t.ti_min==60)

          {

            
    t.ti_min=0;

            
    t.ti_hour++;

          }

        if (
    t.ti_hour==24)

          
    t.ti_hour=0;



        
    screen[0][72] = t.ti_hour/10 '0' ATTR;

        
    screen[0][73] = t.ti_hour%10 '0' ATTR;

        
    screen[0][74] = ':' ATTR;

        
    screen[0][75] = t.ti_min/10 '0' ATTR;

        
    screen[0][76] = t.ti_min%10 '0' ATTR;

        
    screen[0][77] = ':' ATTR;

        
    screen[0][78] = t.ti_sec/10 '0' ATTR;

        
    screen[0][79] = t.ti_sec%10 '0' ATTR;

      }

      
    ticker--;

      
    oldhandler();

    }



    int main(void)

    {

      
    gettime(&t);

      
    oldhandler getvect(INTR);

      
    setvect(INTRhandler);

      
    getch();

      
    setvect(INTR,oldhandler);

      
    keep(0, (_SS + (_SP/16) - _psp));

      return 
    0;


    minh co lam thu ma sao no hien ra thong bao rang trong C ko nhan duoc <doc.h>,rui co 1 so chi tiet minh chua hieu lam.Mong may cao nhan chi bao them

    Cảnh cáo : lần sau post source code thì dùng thẻ [CODE] nhé. Cảm ơn. Xcross87
    Bổ sung: lấn sau viết có dấu bạn nhé. iamvtn
    Đã được chỉnh sửa lần cuối bởi Xcross87 : 03-10-2007 lúc 02:30 PM.

  2. #2
    Ngày gia nhập
    01 2007
    Nơi ở
    Somewhere I belong
    Bài viết
    168

    Bài của cậu chạy tốt đó.

    Đây là bài mình làm theo như yêu cầu của bài toán của cậu xem nha
    PHP Code:
    #include <time.h>
    #include <conio.h>
    #include <dos.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    void displaytime()
    {
        
    /* Pacific Standard Time & Daylight Savings */
        
    char *tzstr "TZ=PST8PDT";
       
    int x wherex();int y wherey();
       
    time_t t;
       
    struct tm *area;
       
    putenv(tzstr);
       
    tzset();
       
    time(NULL);
       
    area localtime(&t);
       
    printf("%s"asctime(area));
       
    gotoxy(x,y);
    }
    void main()
    {
        
    textmode(C4350);  //ve rong man hinh
        
    clock_t start,end;   // lay 2 doi tuong su dung de cap nhat moc thoi gian
       
    start=clock();        //cap nhat thoi gian hien tai de lam moc nhan biet xem da du duoc mot khoang thoi gian la bao nhieu
       
    while(1)
       {
           
    end=clock();  // end cap nhat thoi gian hien tai
          
    if(((end-start)/CLK_TCK)>=1)
          {
              
    start=end;
               
    displaytime();
          }
       }

    Và thêm một bài đồng hồ (sử dùng đồ họa trong dos)
    Attached Files Attached Files
    Đã được chỉnh sửa lần cuối bởi iamvtn : 03-10-2007 lúc 03:48 PM.

  3. #3
    Ngày gia nhập
    03 2017
    Bài viết
    1

    2 Bài trên muốn chạy phải dùng phần mềm gì ạ??? em chạy bằng visual studio mà lỗi quá trời

  4. #4
    Ngày gia nhập
    09 2016
    Bài viết
    1,032

    reply #2 có thể biên dịch, chạy được bằng Borland C++ (phần dưới hình chụp)


    Còn Visual C++ (vc) lỗi do thiếu header.h (không còn support - hay nó dấu-hidden đâu đó)

    Khi mô rảnh, tôi sẽ lập topic hướng dẫn sử dụng các TBD, IDE
    Tạm thời xem link này trước:
    http://diendan.congdongcviet.com/thr...mmand-line.cpp

    Phọt mô xa 2017

Các đề tài tương tự

  1. [help]Ý tưởng viết một chương trình thú vị
    Gửi bởi ductri_vn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 02-04-2013, 10:00 AM
  2. Lập trình C Cần học c++ như thế nào để có thể viết được phần mềm auto như thế này
    Gửi bởi thuan0769 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 02-03-2013, 09:20 AM
  3. Trả lời: 0
    Bài viết cuối: 08-07-2012, 12:55 AM
  4. Algorithm Viết code thời khóa biểu viết trên Window Form C# như thế nào?
    Gửi bởi hocphp_1998 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 12-04-2011, 11:10 PM
  5. Cách viết hàm chồng cho phép = như thế nào?
    Gửi bởi hoaxuyenchi trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 20-08-2010, 09:54 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn