Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C คำนวณอายุ


ระบุวันที่ปัจจุบันและวันเกิดของบุคคลและภารกิจคือการคำนวณอายุปัจจุบันของเขา

ตัวอย่าง

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

แนวทางที่ใช้ด้านล่างมีดังนี้

  • ป้อนวันที่ปัจจุบันและวันเกิดของบุคคล
  • ตรวจสอบเงื่อนไข
    • หากเดือนปัจจุบันน้อยกว่าเดือนเกิด เราจะไม่พิจารณาปีปัจจุบันเนื่องจากปีนี้ยังไม่เสร็จสมบูรณ์ และคำนวณส่วนต่างในเดือนโดยบวก 12 ลงในเดือนปัจจุบัน
    • หากวันที่ปัจจุบันน้อยกว่าวันเกิด เราจะไม่พิจารณาเดือนและสำหรับการสร้างวันที่ลบ ให้เพิ่มจำนวนวันของเดือนที่วันที่ปัจจุบัน และผลลัพธ์จะแตกต่างในวันที่
  • เมื่อตรงตามเงื่อนไขนี้ ให้ลบวัน เดือน และปีเพื่อให้ได้ผลลัพธ์สุดท้าย
  • พิมพ์อายุขั้นสุดท้าย

อัลกอริทึม

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

ตัวอย่าง

#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;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น จะเกิดผลลัพธ์ดังต่อไปนี้

Present Age Years: 22 Months:11 Days: 26