#include<iostream> using namespace std; struct ngaythang { int ngay; int thang; int nam; }; int i; //Nhap ngay void nhap(ngaythang &a) { do { cout<<"Ngay :";cin>>a.ngay; cout<<"Thang :";cin>>a.thang; cout<<"Nam :";cin>>a.nam; }while((a.ngay<=31 && a.ngay>0)||(a.thang>0 && a.thang<=12)); } void xuat(ngaythang a) { cout<<a.ngay<<"/"<<a.thang<<"/"<<a.nam; cout<<endl; } //Tinh ngay int tinh(ngaythang a) { int d=0,m=0,y=0; d=a.ngay-1; for(i=1;i<a.thang;i++) { int n=0; switch(i) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:n=31;break; case 4: case 6: case 9: case 11:n=30;break; case 2:if((a.nam%4==0&&a.nam%100!=0)||a.nam%400==0) n=29; else n=28;break; } m+=n; } for(int i=1;i<a.nam;i++) { int k=0; if((a.nam%4==0&&a.nam%100!=0)||a.nam%400==0) k=366; else k=365; y+=k; } return(d+m+y); } void main() { ngaythang nhap1,nhap2; cout<<"\n\nnhap 1 ngay/thang/nam\n\n"; nhap(nhap1); cout<<"\n\nnhap 2 ngay/thang/nam\n\n"; nhap(nhap2); xuat(nhap1); xuat(nhap2); cout<<"Khoang cach hai ngay hien tai:"; cout<<abs(tinh(nhap2)-tinh(nhap1)); }
sua tiêu đề Đây là bài nhập tính khoảng cách hai ngày:thuật toácn là lấy ngày 1/1/1 làm mốc,tính khoảng cách ngày thứ nhất đến ngày 1/1/1 và ngày hai đến 1/1/1.lấy hai số ngày tính được trừ chho nhau