Nhap vào giờ, phút giây kiểm tra xem giờ, phút giây đó có hợp lệ hay không in kết quả ra màn hình
Trong bài viết này mình sẽ hướng dẫn các bạn cách đổi giờ phút giây trong C#. Đây là dạng bài tập áp dụng một chút kiến thức toán học và các toán tử cơ bản trong lập trình nói chung và C# nói riêng. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Mình sẽ thực hiện hai chương trình để đổi giờ phút giây. Chương trình thứ nhất chuyển đổi từ giờ, phút, giây sang số giây và chương trình thứ hai chuyển đổi từ số giây sang dạng giờ, phút, giây. Chuyển đổi giờ, phút, giây sang số giây trong C#Như các bạn cũng đã biết, mỗi giờ có 60 phút và mỗi phút có 60 giây. Dựa vào đó ta sẽ viết một hàm để chuyển đổi từ định dạng giờ, phút, giây sang số giây.
Hàm change(): Bài viết này được đăng tại [free tuts .net] static void change(int h, int m, int s) { //ta có 1h = 3600s, 1m = 60s int second = h * 3600 + m * 60 + s; Console.WriteLine("\n So giay sau khi doi tu {0}:{1}:{2} la: {3}", h, m, s, second); } Bây giờ chỉ cần yêu cầu người dùng nhập vào số giờ, phút, giây sau đó gọi hàm change() và truyền các tham số vừa nhập vào. using System; namespace BaiTapCSharp { class Program { static void change(int h, int m, int s) { //ta có 1h = 3600s, 1m = 60s int second = h * 3600 + m * 60 + s; Console.WriteLine("\n So giay sau khi doi tu {0}:{1}:{2} la: {3}", h, m, s, second); } static void Main(string[] args) { //yêu cầu người dùng nhập vào số giờ cần chuyển đổi Console.Write("\n Nhap vao so gio: "); int h = Convert.ToInt32(Console.ReadLine()); //yêu cầu người dùng nhập vào số phút cần chuyển đổi Console.Write("\n Nhap vao so phut: "); int m = Convert.ToInt32(Console.ReadLine()); //yêu cầu người dùng nhập vào số giây cần chuyển đổi Console.Write("\n Nhap vao so giay: "); int s = Convert.ToInt32(Console.ReadLine()); //gọi hàm change() đã tạo ở trên để chuyển đổi từ định dạng giờ phút giây sang số giây change(h, m, s); Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---"); } } } Kết quả: Chuyển đổi số giây sang dạng giờ, phút, giây trong C#Tương tự như vậy, để chuyển đổi số giây sang dạng giờ, phút, giây ta cũng tạo một hàm change() để chuyển đổi. Tuy nhiên, hàm này chỉ nhận vào một tham số là số giây n. static void change(int n) { //khai báo 3 biến hour, minute, second đại diện cho giờ phút giây int hour, minute, second; //1h = 3600s -> hour = n / 3600 hour = n / 3600; //1p = 60s, vì ở trên ta đã chia 3600 để lấy giờ //vậy nên ta cần lấy phần dư của nó chia cho 60 minute = n % 3660 / 60; //phần dư còn lại chính là số giây second = n % 3600 % 60; //hiển thị kết quả sau khi đổi ra màn hình Console.WriteLine("\n Sau khi doi tu so giay {0}: {1}:{2}:{3}", n, hour, minute, second); } Tiếp đến yêu cầu người dùng nhập vào số giây cần chuyển đổi, sau đó gọi hàm change() rồi truyền tham số vừa nhập vào. using System; namespace BaiTapCSharp { class Program { static void change(int n) { //khai báo 3 biến hour, minute, second đại diện cho giờ phút giây int hour, minute, second; //1h = 3600s -> hour = n / 3600 hour = n / 3600; //1p = 60s, vì ở trên ta đã chia 3600 để lấy giờ //vậy nên ta cần lấy phần dư của nó chia cho 60 minute = n % 3660 / 60; //phần dư còn lại chính là số giây second = n % 3600 % 60; //hiển thị kết quả sau khi đổi ra màn hình Console.WriteLine("\n Sau khi doi tu so giay {0}: {1}:{2}:{3}", n, hour, minute, second); } static void Main(string[] args) { //yêu cầu người dùng nhập vào số giây cần chuyển đổi Console.Write("\n Nhap vao so giay can doi: "); int s = Convert.ToInt32(Console.ReadLine()); //gọi hàm change() đã tạo ở trên để chuyển đổi số giây mà người dùng vừa nhập sang dạng giờ phút giây change(s); Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---"); } } } Kết quả: Như vậy là chúng ta đã thực hiện xong chương trình chuyển đổi giờ phút giây trong C#. Đây là dạng bài tập cơ bản vì vậy các bạn hãy luyện tập thật nhiều để làm quen nhé, chúc các bạn thành công !!!
Bài toán: Bạn Bình bắt đầu làm bài tập lập trình mà thầy giáo vừa ra và lúc h giờ, m phútvà s giây. Thời gian làm tất cả bài tập của Bình là x giây (0 Input Giải thích: Thời gian ban đầu là 3 giờ 5 phút 45 giây, thời gian làm bài tập của Bình là 120 giây. Vậy lúc 3 giờ 7 phút 45 giây bạn Bình sẽ hoàn thành xong bài tập. Bạn đang xem: Viết chương trình nhập vào giờ phút giây Để bài toán đơn giản hơn thì ta sẽ xem bài toán này là bài toán chuyển đổi thời gian. Hướng dẫn viết chương trình chuyển đổi thời gianViết hàm chuyển đổi thời gianVì hàm này có thể làm thay đổi giá trị giờ phút giây nên ta cần truyền tham chiếu vào hàm. Hoặc cũng có thể dùng con trỏ nhưng tham chiếu sẽ đơn giản hơn. Kiểu trả về của hàm fun( ta sẽ viết hàm này để chuyển đổi) sẽ là void, tức không trả về giá trị nào cả. Trong hàm fun chúng ta sẽ kiểm tra nếu số giấy lớn hơn bằng 60 thì ta sẽ giảm số giây đi 60 đơn vị, đồng thời tăng số phút lên một đơn vị. Quá trình cứ lặp lại cho đến khi số giây nhỏ hơn 60. Ví dụ: Số giây là 120 Số giây 60 số phút +1Số giấy 0 số phút +2Ta sẽ dùng một vòng lặp while để thực hiện công việc trên. Xem thêm: Đã Từng Yêu Đã Từng Nhớ Đã Từng Mơ Mộng, Doi Thay Lyrics Các giá trị phút và giờ cũng tương tự như trên. Code chương trình chuyển đổi thời gian0123456789101112131415161718192021222324252627282930313233343536#includeusing namespace std;void fun(int &gio, int &phut, int &giay, int x) {giay += x;while (giay >= 60) {++phut;giay -= 60;}while (phut >= 60) {++gio;phut -= 60;}while (gio >= 12) {gio -= 12;}}int main(){int gio, phut, giay, x;cout "Nhap gio: ";cin >> gio;cout "Nhap phut: ";cin >> phut;cout "Nhap giay: ";cin >> giay;cout "Nhap thoi gian: ";cin >> x;//Gọi hàm chuyển đổifun(gio, phut, giay, x);cout gio " : " phut " : "giay endl;return 0;}Sau khi chạy chương trình trên ta có kết quả sau 0123456Nhap gio: 3Nhap phut: 5Nhap giay: 45Nhap thoi gian: 1203 : 7 : 45Bài viết mình đến đây cũng kết thúc. Cám ơn các bạn đã theo dõi ! TAGS FacebookTwitterPinterestWhatsAppSubscribe Connect withNotify of new follow-up commentsLabelName*Email* WebsiteConnect withLabelName*Email*Website3 Bình luận Inline FeedbacksView all commentsLoad More Comments Khóa học miễn phí Blog chia sẻ kiến thức lập trình của Hiếu, xây dựng cộng đồng những người học lập trình. Cho đi kiến thức mình có là cách học tập hiệu quả nhất Báo lỗi / Liên hệ / Hợp tác / Quảng cáoBloggerFacebookLinkedinDiscordYoutube- BẠN BÈ & ĐỐI TÁC - ---© 2018-2020. Bản quyền thuộc Lập Trình Không Khó. Privacy & Terms 30Would love your thoughts, please comment.x()x| ReplyInsertNHIỀU BÀI VIẾT HƠN
Viết chương trình nhập vào giờ phút giây. Cộng thêm số giây nhập vào va in ra dưới dạng hh:mm:ss.
scanf("%d",them); phải là scanf("%d", &them); bạn nhé 1 Like
bài này bỏ câu lệnh" giay = giay + them" trên “if(giay + them<60)” mới đúng nhỉ?
Nếu bạn đã để giay = giay + them thì trong if nên để là if(giay < 60) thôi là được. 1 Like
giay += them giống với giay = giay + them hả bạn?
Đúng rồi bạn, đó là cách viết trong C 1 Like
em moi hoc lap trinh c++ 2 Likes
Đóng góp là tốt đó bạn. Nhưng bạn nên đọc topic này để biết cách đăng code sao cho đẹp nha. 2 Likes
#include |