Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để tính tuổi

Được đưa ra với ngày hiện tại và ngày sinh của một người và nhiệm vụ là tính tuổi hiện tại của người đó.

Ví dụ

Input-: present date-: 21/9/2019
   Birth date-: 25/9/1996
Output-: Present Age
   Years: 22 Months:11 Days: 26

Phương pháp tiếp cận được sử dụng bên dưới như sau -

  • Nhập ngày hiện tại và ngày sinh của một người
  • Kiểm tra các điều kiện
    • Nếu tháng hiện tại nhỏ hơn tháng sinh thì chúng tôi sẽ không xem xét năm hiện tại vì năm này vẫn chưa được hoàn thành và để tính chênh lệch giữa các tháng bằng cách thêm 12 vào tháng hiện tại.
    • Nếu ngày hiện tại nhỏ hơn ngày sinh, thì chúng tôi sẽ không tính đến tháng và để tạo các ngày bị trừ, hãy thêm số ngày trong tháng vào ngày hiện tại và kết quả sẽ khác nhau về các ngày.
  • Khi các điều kiện này được đáp ứng, chỉ cần trừ ngày, tháng và năm để có kết quả cuối cùng
  • In độ tuổi cuối cùng

Thuật toán

Start
Step 1-> declare function to calculate age
   void age(int present_date, int present_month, int present_year, int birth_date, int birth_month, int birth_year)
      Set int month[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
      IF (birth_date > present_date)
         Set present_date = present_date + month[birth_month - 1]
         Set present_month = present_month – 1
      End
      IF (birth_month > present_month)
         Set present_year = present_year – 1
         Set present_month = present_month + 12
      End
      Set int final_date = present_date - birth_date
      Set int final_month = present_month - birth_month
      Set int final_year = present_year - birth_year
      Print final_year, final_month, final_date
Step 2-> In main()
   Set int present_date = 21
   Set int present_month = 9
   Set int present_year = 2019
   Set int birth_date = 25
   Set int birth_month = 9
   Set int birth_year = 1996
   Call age(present_date, present_month, present_year, birth_date, birth_month,
birth_year)
Stop

Ví dụ

#include <stdio.h>
#include <stdlib.h>
// function to calculate current age
void age(int present_date, int present_month, int present_year, int birth_date, int birth_month, int birth_year) {
   int month[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
   if (birth_date > present_date) {
      present_date = present_date + month[birth_month - 1];
      present_month = present_month - 1;
   }
   if (birth_month > present_month) {
      present_year = present_year - 1;
      present_month = present_month + 12;
   }
   int final_date = present_date - birth_date;
   int final_month = present_month - birth_month;
   int final_year = present_year - birth_year;
   printf("Present Age Years: %d Months: %d Days: %d", final_year, final_month, final_date);
}
int main() {
   int present_date = 21;
   int present_month = 9;
   int present_year = 2019;
   int birth_date = 25;
   int birth_month = 9;
   int birth_year = 1996;
   age(present_date, present_month, present_year, birth_date, birth_month, birth_year);
   return 0;
}

Đầu ra

NẾU CHÚNG TÔI CHẠY MÃ TRÊN, NÓ SẼ TẠO ĐẦU RA SAU ĐÂY

Present Age Years: 22 Months:11 Days: 26