撒粉,针对代码提出意见者 优先得分 包括各方面 诸如风格 变量命名 逻辑是否严谨 是否存在重大bug 等等 谢谢
程序代码://获取农历的年月日
//其中月份 主函数要以字符串数组形式初始化 因为有闰月 会返回R+month
void get_n_ymd(int alldays,int &year,char* month,int &day)
{
int month1=0;
int zuobiao=0;
int days=0;
while((alldays-days)>30)
{
days=get_n_days(zuobiao);
zuobiao++;
}
day=alldays-days;
int zuobiao2=0;
int i=0,ryue=0;
while(1)
{
zuobiao2+=runyue[i][1];
if(zuobiao-zuobiao2<13)
{
year=runyue[i+1][0];
ryue=runyue[i+1][2];
month1=(zuobiao-zuobiao2);
break;
}
i++;
}
if(month1==0) {month1=12;year--;}
bool flag=false;
if(ryue>0 && month1==(ryue+1)) //刚好等于闰月月
{
flag=true;
month1--;
}
if(ryue>0 && month1>ryue+1) //有闰月 且 大于闰月月
{
month1--;
}
if(month1<10 && flag==false)
{
month[0]=month1+0x30;
month[1]='\0';
}
if(month1>9 && flag==false)
{
month[0]=1+0x30;
month[1]=month1%10+0x30;
month[2]='\0';
}
if(month1<10 && flag==true)
{
month[0]='R';
month[1]=month1+0x30;
month[2]='\0';
}
if(month1>9 && flag==true)
{
month[0]='R';
month[1]=1+0x30;
month[2]=month1%10+0x30;
month[3]='\0';
}
}







