[OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác


Diễn đàn chia sẻ kiến thức, kinh nghiệm về IT và cuộc sống!
 
Trang ChínhGalleryTìm kiếmLatest imagesĐăng kýĐăng Nhập
Top posters
Sakura (1124)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
hotboy (705)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
Già Làng (373)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
con_ca_nho90 (289)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
that_true (154)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
theanhkkt (143)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
phamay (137)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
lovelonelyman (134)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
o0ovioletstaro0o (128)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
stevenhung (122)
 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_lcap [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Voting_bar [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Vote_rcap 
Âm - Dương lịch
Clock
Logo
11TH02 Pro!
Liên kết
Tin tức 60s
Tin công nghệ
Thời sự 24h
Game Moblie

Share
 

  [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Sakura

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Stars7
Sakura

Thú CƯng :  [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác I-hate-Cats-icon
Nam Scorpio

Số bài viết : 1124
Điểm : 1688
Được cảm ơn : 35
Ngày sinh : 03/11/1990
Tham gia ngày : 16/03/2010
Tuổi : 33
Đến từ : Bình Dương
Ngề nghiệp : IT Student

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Empty
Bài gửiTiêu đề: [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác    [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác I_icon_minitime26/7/2010, 08:43

Bài này mình đã cố gắng làm thêm các thao tác mà ở các bài kia không có là: overload các toán tử để có thể sử dụng cả 3 trường hợp: TIME + TIME, TIME + số, số + TIME, và nhiều cái mới nữa, các bạn cứ xem từ từ, Code rõ ràng chưa từng thấy! Hjhj!
Code:
#include
#include
using namespace std;
class TIME
{
private:
 int gio, phut, giay;
public:
 TIME()
 {
  gio = phut = giay = 0;
 }
 TIME(int gio, int phut, int giay)
 {
  this->Set(gio, phut, giay);
 }
 void Set(int gio, int phut, int giay)
 {
  if(gio > 23 || gio < 0)
  this->gio = 0;
  else
  this->gio = gio;
  if(phut > 59 || phut < 0)
  this->phut = 0;
  else
  this->phut = phut;
  if(giay > 59 || giay < 0)
  this->giay = 0;
  else
  this->giay = giay;
 }
 friend ostream &operator <<(ostream &os, TIME T)
 {
  os<<<":"<<<":"<
  return os;
 }
 friend istream &operator >>(istream &is, TIME &T)
 {
  do
  {
  cout<<"Nhap Gio: ";
  is>>T.gio;
  }while(T.gio < 0 || T.gio > 23);
  do
  {
  cout<<"Nhap Phut: ";
  is>>T.phut;
  }while(T.phut < 0 || T.phut > 60);
  do
  {
  cout<<"Nhap Giay: ";
  is>>T.giay;
  }while(T.giay < 0 || T.giay > 60);
  return is;
 }
 void Tang()
 {
  //Xu ly giay
  if(this->giay == 59)
  {
  this->giay = 0;
  if(this->phut == 59)
  {
    this->phut = 0;
    if(this->gio == 23)
    {
    this->gio = 0;
    }
    else
    {
    this->gio += 1;
    }
  }
  else
  {
    this->phut += 1;
  }
  }
  else
  {
  this->giay += 1;
  }
 }
 void operator++()
 {
  int tonggiay = this->TongGiay();
  tonggiay++;
  this->DoiRaTIME(tonggiay);
 }
 void operator--()
 {
  int tonggiay = this->TongGiay();
  tonggiay--;
  this->DoiRaTIME(tonggiay);
 }
 void Giam()
 {
  if(this->giay == 0)
  {
  this->giay = 59;
  if(this->phut == 0)
  {
    this->phut = 59;
    if(this->gio == 0)
    {
    this->gio = 23;
    }
    else
    {
    this->gio -= 1;
    }
  }
  else
  {
    this->phut -= 1;
  }
  }
  else
  {
  giay -= 1;
  }
 }
 int TongGiay()
 {
  int tong = 0;
  tong = this->gio * 3600 + this->phut * 60 + this->giay;
  return tong;
 }
 void DoiRaTIME(int s)
 {
  this->gio = this->phut = this->giay = 0;
  //86400
  while(s > 86399)
  {
  s -= 86399;
  }
  while(s < 0)
  {
  s += 86399;
  }
 
  this->gio = s / 3600;
  this->phut = (s - (3600 * this->gio)) / 60;
  this->giay = s - (3600 * this->gio + 60 * this->phut);
 }
 TIME operator+(int giay)
 {
  TIME C;
  int tonggiay = this->TongGiay();
  tonggiay += giay;
  C.DoiRaTIME(tonggiay);
  return C;
 }
 TIME operator-(int giay)
 {
  TIME C;
  int tonggiay = this->TongGiay();
  tonggiay -= giay;
  C.DoiRaTIME(tonggiay);
  return C;
 }
 TIME operator+ (TIME T)
 {
  TIME temp;
  int tonggiay1 = this->TongGiay();
  int tonggiay2 = T.TongGiay();
  int tonggiay = tonggiay1 + tonggiay2;
  temp.DoiRaTIME(tonggiay);
  return temp;
 }
 TIME operator- (TIME T)
 {
  TIME temp;
  int tonggiay1 = this->TongGiay();
  int tonggiay2 = T.TongGiay();
  int tonggiay = tonggiay1 - tonggiay2;
  temp.DoiRaTIME(tonggiay);
  return temp;
 }
 friend TIME operator+(int sogiay, TIME T)
 {
  TIME C;
  int tonggiay = T.TongGiay();
  tonggiay += sogiay;
  C.DoiRaTIME(tonggiay);
  return C;
 }
 friend TIME operator-(int sogiay, TIME T)
 {
  TIME C;
  int tonggiay = T.TongGiay();
  tonggiay -= sogiay;
  C.DoiRaTIME(tonggiay);
  return C;
 }
};
int main()
{
 cout<<"-----BAI TAP CAI DAT LOP PHAN SO VA CAS PHEP TOAN CO BAN-------\n\n";
 cout<<"\n----------------Programming By Edward_Thien -------------------\n\n\n";
 //Cac Khai Bao Doi Tuong
 cout<<"\n----------- Khai Bao Doi Tuong TIME --------------\n";
 TIME T;
 TIME A(10, 45, 30), B(10, 14, 30), TONG, HIEU;
 int sg;  //so giay
 //Overload Toan Tu << & >>
 cout<<"\n\n----------- Overload Toan Tu << & >> -----------------\n";
 cout<<"\nNhap Thoi Gian:\n";
 cin>>T;
 cout<<"\nXuat Gio: ";
 cout<
 //Cac Phuong Thuc Tang Giam
 cout<<"\n\n------------------- Cac Phuong Thuc Tang Giam -------------------\n";
 T.Tang();
 cout<<"\nT Sau Khi Tang Len 1 Giay: "<
 T.Giam();
 cout<<"\n\nT Sau Khi Giam Xuong 1 Giay: "<<<" Giay";
 //Su Dung Toan Tu ++ && --
 cout<<"\n\n------------- Su Dung Toan Tu ++ --------------------\n";
 cout<[url=http://itworld.forumvi.net/]<<" Sau Khi ++: ";
 A++;
 cout<
 cout<<"\n\n------------- Su Dung Toan Tu -- --------------------\n";
 cout<[/url][url=http://itworld.forumvi.net/]<<" Sau Khi --: ";
 A--;
 cout<
 //Tinh Tong So Giay
 cout<<"\n\n---------------------- Tinh Tong So Giay ----------------\n";
 cout<<"\nTong So Giay: "<
 //Doi Ra Gio Tu 1 So Giay
 cout<<"\n\n------------ Doi Ra Gio Tu So Giay --------------\n";
 cout<<"\nNhap So Giay: ";
  cin>>sg;
 T.DoiRaTIME(sg);
 cout<<"\n"<<<" Giay Doi Ra Duoc "<
 //Cong Tru 2 TIME
 cout<<"\n\n------------------ Cac Phep Toan Tinh Toan Tren TIME --------------------\n";
 TONG = A + B;
 cout<<"\n"<[/url][url=http://itworld.forumvi.net/]<<" + "<[b]<<" = "<
 HIEU = A - B;
 cout<<"\n"<[/b][/url][b][url=http://itworld.forumvi.net/]<<" - "<[b]<<" = "<
 //Cong Tru TIME Voi So Giay
 cout<<"\n\n---------------------- Cong TIME Voi So Giay --------------------------\n";
 cout<<"\nNhap So Giay: ";
 cin>>sg;
 TONG = A + sg;
 cout<[/b][/url][b][url=http://itworld.forumvi.net/]<<" + "<<<" Giay = "<
 cout<<"\n\n---------------------- Tru TIME Voi So Giay --------------------------\n";
 cout<<"\nNhap So Giay: ";
 cin>>sg;
 HIEU = A - sg;
 cout<[/url][url=http://itworld.forumvi.net/]<<" - "<<<" Giay = "<
 //Cong Tru So Giay Voi TIME
 cout<<"\n\n---------------------- Cong So Giay Voi TIME -----------------------\n";
 cout<<"\nNhap So Giay: ";
 cin>>sg;
 TONG = sg + A;
 cout<<<" + "<[/url][url=http://itworld.forumvi.net/]<<" Giay = "<
 cout<<"\n\n---------------------- Tru So Giay Voi TIME -----------------------\n";
 cout<<"\nNhap So Giay: ";
 cin>>sg;
 HIEU = sg - A;
 cout<<<" - "<[/url][url=http://itworld.forumvi.net/]<<" Giay = "<
 cout<<"\n\n\n------------------------- KET THUC -----------------------------";
 _getch();
 return 0;
}[/url][/b][/b]


File Tải Kèm (Vì Forum khó chịu lắm^_^):
[You must be registered and logged in to see this link.]


Được sửa bởi Sakura ngày 2/7/2011, 11:05; sửa lần 1.
Về Đầu Trang Go down
hotboy

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Stars7
hotboy

Thú CƯng :  [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Hippopotamus-icon
Nam Aries

Số bài viết : 705
Điểm : 1043
Được cảm ơn : 9
Ngày sinh : 21/03/1990
Tham gia ngày : 13/05/2010
Tuổi : 34
Đến từ : BDU

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Empty
Bài gửiTiêu đề: Re: [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác    [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác I_icon_minitime26/7/2010, 16:52

hay quá thank
Về Đầu Trang Go down
minh_thjen

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Stars16


Nam Aquarius

Số bài viết : 1
Điểm : 1
Được cảm ơn : 0
Ngày sinh : 15/02/1991
Tham gia ngày : 02/07/2011
Tuổi : 33
Đến từ : Việt Nam

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Empty
Bài gửiTiêu đề: Re: [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác    [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác I_icon_minitime2/7/2011, 08:59

link die oy u oi.
Về Đầu Trang Go down
hotboy

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Stars7
hotboy

Thú CƯng :  [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Hippopotamus-icon
Nam Aries

Số bài viết : 705
Điểm : 1043
Được cảm ơn : 9
Ngày sinh : 21/03/1990
Tham gia ngày : 13/05/2010
Tuổi : 34
Đến từ : BDU

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Empty
Bài gửiTiêu đề: Re: [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác    [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác I_icon_minitime2/7/2011, 09:31

có cái code rồi đó, tải chi nữa y chang nhau àh bạn ui Surprised
Về Đầu Trang Go down
Sakura

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Stars7
Sakura

Thú CƯng :  [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác I-hate-Cats-icon
Nam Scorpio

Số bài viết : 1124
Điểm : 1688
Được cảm ơn : 35
Ngày sinh : 03/11/1990
Tham gia ngày : 16/03/2010
Tuổi : 33
Đến từ : Bình Dương
Ngề nghiệp : IT Student

 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Empty
Bài gửiTiêu đề: Re: [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác    [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác I_icon_minitime4/7/2011, 20:33

Eo`, link up lâu quá, ko ai down nên nó del đi rồi. Hicc! Xem tạm code đi bạn.
Về Đầu Trang Go down
Sponsored content




 [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác Empty
Bài gửiTiêu đề: Re: [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác    [OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác I_icon_minitime

Về Đầu Trang Go down
 

[OOP] - Bài Tập Class Time - Hay - Nhiều Thao Tác

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

 Similar topics

-
»  [OOP] - Bài Tập Class Point - Các Thao Tác Cơ Bản - Get Set
» nhập một chuổi có bao nhiêu ký tự xuất ra chuổi bấy nhiêu lần
» static members in Class
» [Bài Tập Java] Abstract Class
» OOP - Thảo Luận Về OOP

Permissions in this forum:Bạn không có quyền trả lời bài viết
IT World! :: HỌC TẬP :: Học Kỳ IV :: Lập Trình Hướng Dối Tượng(OOP)-