撒粉,针对代码提出意见者 优先得分 包括各方面 诸如风格 变量命名 逻辑是否严谨 是否存在重大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'; } }