Cách tính tuổi trong C++

Giả sử bạn là một nhân viên chịu trách nhiệm nhập tên danh sách báo danh của các học sinh đến độ tuổi vào lớp 10. Bạn cần viết chương trình C++ để nhập tuổi và in ra kết quả nếu tuổi học sinh đó không đủ điều kiện vào học lớp 10.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Bạn sử dụng lệnh IF-ELSE và sau đó sử dụng lệnh count để in kết quả ra màn hình.

Bạn xem thử giống cái bạn đang cần không
Đó là hàm lấy thời gian thực từ hệ thống máy tính. Khi sử dụng cần #include vào chương trình:

// Khai báo biến Time để lấy giá trị thời gian thực từ máy tính
time_t Time = time(0);

// Khởi tạo con trỏ Now lấy giá trị thời gian từ thằng Time
struct tm* Now = localtime(&Time);

int Day = Now->tm_mday; // Lấy ngày hiện tại từ hệ thống máy tính gán cho biến Day
int Month = Now->tm_mon + 1; // Lấy tháng hiện tại từ hệ thống máy tính gán cho biến Month
int Year = Now->tm_year + 1900; // Lấy năm hiện tại từ hệ thống máy tính gán cho biến Year

Đó là chuyển từ for sang while, bạn xem lại bài for, để ý thức tự thực hiện của vòng for (vòng while thì chỉ chạy từ trên xuống dưới), so sánh, suy nghĩ xíu là chuyển được à.

À, mà mình đã chuyển bài của bạn qua bên mục C, đổi lại tựa cho dễ hiểu. Lần sau bạn post bài tập C thì post vô C category nha bạn, rồi tiêu đề phải nêu lên được nội dung muốn hỏi.

P/s: Từ bao giờ mình PR cho clip anh @ltd thế này. Cơ mà bạn ấy đặt câu hỏi khác kìa, nếu cần thì anh cứ move Nói giọng làm như mình admin

Bài Toán: Viết chương trình tính tuổi khi biết năm sinh của bạn.

  • Input: Nhập vào năm sinh của bạn
  • Output: Tuổi của bạn

Giải Thuật

Bài toán này giải thuật như sau:
Bước 1. Nhập thông tin: Không nhập thông tin
Bước 2. Xử lý:
  • Bước 2.1. In ra màn hình dòng Xin chao cac ban
Bước 3. In ra màn hình dòng Xin chao cac ban

Code C

#include 
#include 
#include 
int main ()
{
    int namsinh, namhientai, tuoi;
    printf("\nNhap nam sinh cua ban: ");
    scanf("%d",&namsinh);
    time_t t = time(0);
    struct tm *Now = localtime(&t);
    namhientai = Now ->tm_year + 1900;
    tuoi = namhientai - namsinh;
    printf("\n Ban sinh nam %d => Ban %d tuoi",namsinh,tuoi);
    getch ();
    return 0;
}

Giải Thích Code

Dòng codeÝ nghĩa#include Khai báo thư viện hàm xuất chuẩn#includeKhai báo các hàm thư viện, ở thời điểm hiện tại đang sử dụng cho hàm getch()int main(){
}Hàm chính, các câu lệnh được viết trong cặp dấu ngoặc nhọn \(\{...\}\)int namsinh, namhientai, tuoi;Khai báo kiểu số nguyên các biến namsinh(năm sinh), namhientai(năm hiện tại), tuoi(tuổi)printf("\nNhap nam sinh cua ban: ");In ra màn hình dòng Nhap nam sinh cua ban:scanf("%d",&namsinh);Nhập trực tiếp từ bàn phím giá trị gán vào biến namsinhtime_t t = time(0);
struct tm *Now = localtime(&t);
namhientai = Now ->tm_year + 1900;Hàm này có tác dụng lấy năm từ hệ thống máy tínhtuoi = namhientai - namsinh;Gán biến tuổi = năm hiện tại - năm sinhprintf("\n Ban sinh nam %d => Ban %d tuoi",namsinh,tuoi);In ra màn hình dòng ví dụ: Ban sinh nam 1985 => Ban 37 tuoigetch();Dừng màn hình để quan sát kết quả

Kết Quả

Cách tính tuổi trong C++

Bình Luận
    ▪ Bài toán này chúng ta có thể sử dụng hai mức độ để viết chương trình đó là nhập trực tiếp năm hiện tại hoặc lấy thông tin từ năm hiện tại từ hệ thống.
    ▪ Việc sử dụng hàm lấy ngày hiện tại của hệ thống phải khai báo thư viện time.h
time_t t = time(0);
struct tm *Now = localtime(&t);
namhientai = Now ->tm_year + 1900;

Viết chương trình tính tuổi cho một người. Người dùng sẽ nhập vào năm sinh và chương trình xuất ra số tuổi tương ứng.


Hướng dẫn

Bài tập mang tính tham khảo, hỗ trợ các bạn làm quen và luyện tập với các bàn toán lập trình cơ bản trong C++.

Kteam khuyến khích các bạn tự phân tích đề bài > tự giải bài toán > debug để kiểm tra kết quả và fix lỗi trong quá trình giải. Sau đó, bạn có thể tham khảo source code mẫu để hoàn chỉnh bài tập. 

Để được hỗ trợ tốt nhất, bạn có thể đặt câu hỏi ở phần bình luận bên dưới bài viết hoặc ở mục Hỏi & Đáp.


Source code tham khảo

Source.cpp

// Source.cpp
#define _CRT_SECURE_NO_WARNINGS

#include 
#include 
using namespace std;

int main()
{
	int nYOB(0);
	int nCurYear(2017);

	cout << "Nhap nam sinh cua ban: ";
	cin >> nYOB;

#if 0

	// Khai báo biến Time để lấy giá trị thời gian thực từ máy tính
	time_t Time = time(0);

	// Khởi tạo con trỏ Now lấy giá trị thời gian từ Time
	tm* Now = localtime(&Time);

	// Lấy năm hiện tại từ hệ thống máy tính gán cho biến nCurYear
	nCurYear = Now->tm_year + 1900;

#endif

	cout << "-------------------" << endl;
	cout << "Ban sinh nam " << nYOB << endl;
	cout << "Ban " << nCurYear - nYOB << " tuoi." << endl;

	return 0;
}

Kết luận

Bạn có thể củng cố kiến thức C++ từ khóa Lập trình C++ cơ bản.

Hoặc tìm hiểu thêm các bài tập khác trong khóa Bài toán kinh điển trong lập trình

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.