所以,這是我編碼的第一年,我是一個初學者,我被要求制作一個程式,詢問當前日期,顯示它并在第二天顯示。我這樣做了:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct formatDate
{ int jour;
int mois;
int year;
};
int verifier(int jour, int mois, int year);
int main()
{ struct formatDate date;
int day, month, annee;
printf("veuilliez entrer la date sous le format suivant : jj mm aaaa \n");
scanf("%d %d %d", &date.jour, &date.mois, &date.year);
day=date.jour; month=date.mois; annee=date.year;
if ( verifier(day, month, annee) == 1)
{
printf(" la date que vous avez entré est : %d / %d / %d\n", date.jour, date.mois, date.year);
if (annee % 4 == 0)
{
if ((month == 2) && (day == 28 ) )
{
day=29;
printf("la date du lendemain est %d / %d / %d ", day, month, annee);
}
}
else
{
if((month == 2) && (day == 28))
{
day=1; month=3;
printf("la date du lendemain est %d / %d / %d", day, month, annee);
}
}
if ((month==12) && (day==31))
{
day=1;
month=1;
annee=annee 1;
printf ("la date du lendemain est %d / %d / %d", day, month, annee);
}
if ((month =! 12) && (day == 31))
{
day=1;
month=month 1;
printf("la date du lendemain est %d / %d / %d", day, month, annee);
}
if ((month == 4) ||(month == 6) || (month == 9) || (month == 11))
{
if (day < 30 )
{
day = day ;
}
else
{
day=1; month ;
}
printf (" la date du lendemain est %d / %d / %d", day, month, annee);
}
}
else
{
printf("la date que vous avez entré n'est pas valable\n");
}
return 0;
}
int verifier(int day, int month, int annee)
{
return 1;
if ( (month > 12) && (day > 31) )
return 0;
if (annee % 4 ==! 0)
{ if ((month == 2) && (day > 28 ) )
return 0;
}
else {
if((day > 29) && (month == 2))
return 0;
}
switch(month)
{
case 4:
case 6:
case 9:
case 11:
if (day > 30)
return 0;
break;
}
}
問題是它顯示了當前日期,但跳過了下面寫的所有內容,我不知道出了什么問題,即使語法正確也不起作用(或者至少,CodeBlocks 沒有發現任何內容)
uj5u.com熱心網友回復:
你的代碼有三個問題,我發現并更正了,我會解釋原因
1 線 55
///////// eror ////////
if ((month =! 12) && (day == 31))
Here is how to write it correctly:
if ((month != 12) && (day == 31))
2-線65
///////// eror ////////
if (day < 30 )
{
day = day ;
}
Here is how to write it correctly:
day=day 1; or day ;
3-in function verifier return1 It should not be written at the beginning of the function because it leaves the function when it is reached
我希望你的問題得到解決。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/357594.html
