Sunday, June 22, 2014

Thực hành 7 -Bài 1


Đề bài :  ThucHanh07_Struct_DanhSachLienKet.pdf

Định nghĩa kiểu cấu trúc struct thoigian (ThoiGian) để biểu diễn thời gian dưới dạng giờ:phút:giây
( 0 <= giờ <= 23;  0 <= phút <= 59; 0 <= giây <= 59 )
Viết các hàm sau đây :
a.  Đọc 1 biến ThoiGian từ bàn phím :
             void docThoiGian (ThoiGian&) ;
b.  In 1 biến ThoiGian ra màn hình :
             void inThoiGian (const ThoiGian&) ;
c.  Quy chuẩn thời gian : ví dụ 25h đưa về 1:00:00 ; -1:30:00 đưa về 23:30:00 ; -1:-30:00 đưa về 22:30:00
             void quyChuanThoiGian (ThoiGian&) ;
d.  Cộng 2 biến ThoiGian :
            const ThoiGian congThoiGian (ThoiGian&, ThoiGian&) ;
e.  Trừ 2 biến ThoiGian :    
            const ThoiGian truThoiGian (ThoiGian&, ThoiGian&) ;
f.  So sánh 2 biến ThoiGian :
            bool soSanhThoiGianLonHon (ThoiGian&, ThoiGian&) ;
            bool soSanhThoiGianNhoHon (ThoiGian&, ThoiGian&) ;
            bool soSanhThoiGianBang (ThoiGian&, ThoiGian&) ;
            bool soSanhThoiGianKhac (ThoiGian&, ThoiGian&) ;
_______________________________________________________________________

Code : http://pastebin.com/U9yJwWyL  hoặc thuchanh7-bai1.cpp

_______________________________________________________________________


#include <iostream>

using namespace std;



typedef struct thoigian
{
    int gio;
    int phut;
    int giay;
}ThoiGian;

void quyChuanThoiGian(ThoiGian&);

void nhapThoiGian(ThoiGian& tg)
{
    cout << "Nhap thoi gian: ";
    cin >> tg.gio >> tg.phut >> tg.giay ;
    quyChuanThoiGian(tg);
}
void inThoiGian(ThoiGian& tg)
{
    quyChuanThoiGian(tg);
    cout << tg.gio << ":" << tg.phut << ":" << tg.giay << endl;
}

void quyChuanThoiGian(ThoiGian& tg)
{
    int tong;
    tong = tg.gio * 3600 + tg.phut*60 + tg.giay;
    if (tong<0) tong = 86400 + tong;
    else
    {
         if ( tong > 86400 )
        {
            tong -= 86400;
        }
    }
   
    tg.gio = tong/3600; tong -= tg.gio*3600;
    tg.phut = tong/60; tong -= tg.phut*60;
    tg.giay = tong;
}

ThoiGian congThoiGian(ThoiGian tg1, ThoiGian tg2)
{
    ThoiGian tgtong;
    tgtong.gio = tg1.gio + tg2.gio;
    tgtong.phut = tg1.phut + tg2.phut;
    tgtong.giay = tg1.giay + tg2.giay;
    quyChuanThoiGian(tgtong);
    return tgtong;
}

ThoiGian truThoiGian(ThoiGian tg1, ThoiGian tg2)
{
    ThoiGian tghieu;
    tghieu.gio = tg1.gio - tg2.gio;
    tghieu.phut = tg1.phut - tg2.phut;
    tghieu.giay = tg1.giay - tg2.giay;
    quyChuanThoiGian(tghieu);
    return tghieu;
}
   
int main ()
{
    ThoiGian tg1, tg2, cong, hieu;
    nhapThoiGian(tg1);
    inThoiGian(tg1);
    nhapThoiGian(tg2);
    inThoiGian(tg2);
    cong =  congThoiGian(tg1,tg2);
    cout << "Tong thoi gian : ";
    inThoiGian(cong);
    hieu = truThoiGian(tg1,tg2);
    cout << "Hieu thoi gian : " ;
    inThoiGian(hieu);
    system("pause");
    return 0;
}

BACK TO TOP