Mọi người cho em hỏi em sai chỗ nào vậy ạ. Dò mãi ko ra.
Đề là tìm ngày kế tiếp của ngày đã nhập.
Kết quả ra nhập sai ạ.
#include<stdio.h>
int namNhuan(int year){
if( year % 400 == 0 || year % 100 !=0 || year % 4 == 0)
{
return 1;
}
else{
return 0;
}
}
int dayInMonth( int month , int year){
int day;
if( month < 1 || month > 12){
day = -1;
}
else{
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
{
day = 31;
break;
}
case 4:
case 6:
case 9:
case 11:
{
day = 30;
break;
}
defaut:
{
if(namNhuan(year) == 0)
day = 28;
else
day = 29;
break;
}
}
}
return day;
}
int nextDay( int day , int month , int year){
int ngay = dayInMonth(month,year);
if( ngay == -1 || day < 1 || day > ngay )
return -2;
else{
if( day < ngay)
day++;
else if( month != 12){
day = 1;
month++;
}
else{
day = month = 1;
year++;
}
}
}
main(){
int day, month, year;
printf("nhap ngay\n");
scanf("%d",&day);
printf("nhap thang\n");
scanf("%d",&month);
printf("nhap nam\n");
scanf("%d",&year);
if( nextDay(day,month,year) == -2)
printf("nhap sai");
else{
printf(" ngay ke tiep la:\n%d/%d/%d",day,month,year);
}
}


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?