Viết = Hàm (function)
Viết chương trình nhập vào ngày tháng năm (kiểm tra tính hợp lệ) và In ra ngày hôm trước và hôm sau…ai cao tay cho e hỏi thêm có ai code bài giống như vậy ko cho e tham khảo code với…thanks all
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
int KiemTraNam(int yy);//Ki?m tra nam nhu?n hay ko
int KiemTraNgay(int dd,int mm,int yy);//Ki?m tra ngày có có trong tháng hay không
void SoNgayTrongThang(int yy,int mm,int a);//S? ngày trong t?ng tháng tính theo nam nhu?n hay ko nhu?n
void NgayHomSau(int dd, int mm, int yy);//Ngày tháng hôm sau
void NgayHomTruoc(int dd, int mm, int yy);
int main(){
int dd,mm,yy;
cout<<"Nhap ngay thang nam cach nhau boi dau cach: ";cin>>dd>>mm>>yy;
if(mm>0 && mm<=12 && yy>1){
if(KiemTraNgay(dd,mm,yy)==1){
cout<<"Dinh dang ngay dung \n";
NgayHomSau(dd,mm,yy);
NgayHomTruoc(dd,mm,yy);
}
else cout<<"Dinh dang ngay sai";
}
else cout<<"so nam hoac so thang ko dung";
//Ki?m tra thang nam nh?p vào
getch();
}
int KiemTraNam(int yy,int mm){
bool check;
if(yy%400==0 || (yy%4==0 && yy%100!=0)){
check=0;//Nam nhu?n
}
else check=1;//Nam thu?ng
return check;
}//Ki?m tra nam nhu?n hay ko nhu?n
void SoNgayTrongThang(int yy,int mm,int a[13]){
int i;
for(i=1;i<=12;i++){
if(i<=7)
if(i%2!=0) a[i]=31;//tháng 1,3,5,7 có 3` ngày
else a[i]=30;//tháng 2,4,6 có 30 ngày
if(i>=8)
if(i%2==0) a[i]=31;//tháng 8,10,12 có 30 ngày
else a[i]=30;//tháng 9,11 có 30 ngày
if(i==2)
if(KiemTraNam(yy,mm)==0) a[i]=29;//Nam nhu?n tháng 2 có 29 ngày
else a[i]=28;//Nam không nhu?n tháng 2 có 28 ngày
}
}//Xét 1 tháng có bao nhiêu ngày
int KiemTraNgay(int dd,int mm,int yy){
bool check;
int a[13];//Ð?t bi?n luu ngày trong tháng
SoNgayTrongThang(yy,mm,a);
if(dd<=a[mm] && dd>0)
check=1;//Ðúng
else check=0;//Sai
return check;
}//Ki?m tra ngày
void NgayHomSau(int dd,int mm,int yy){
int a[13];//Ð?t bi?n luu ngày trong tháng
SoNgayTrongThang(yy,mm,a);
if(dd<a[mm]) dd=dd+1;//Tang ngày
if(dd==a[mm]){
dd=1;
if(mm==12){
dd=1;
mm=1;
yy=yy+1;
}else mm=mm+1;//Tang nam
}//Tang ngày tháng
cout<<"Ngay hom sau la "<<dd<<"/"<<mm<<"/"<<yy;
}//Ngay hom sau
void NgayHomTruoc(int dd,int mm,int yy){
int a[13];//Ð?t bi?n luu ngày trong tháng
SoNgayTrongThang(yy,mm,a);
if(dd<a[mm]) dd=dd-1;//Giam ngày
if(dd==a[mm]){
dd=1;
if(mm==12){
dd=1;
mm=1;
yy=yy-1;
}else mm=mm-1;//Giam nam
}//Giam ngày tháng
cout<<"\nNgay hom truoc la "<<dd<<"/"<<mm<<"/"<<yy;
}//Ngay hom truoc