首页 > 用户发贴区 > 编程问题提问区 > 万年历部分程序疑惑
2006
07-11

万年历部分程序疑惑

我写了个简单的万年历,即输入一个年份,就打印出来,一屏3个月,一共4屏。


但是下面有段代码没作用,让他空格


( if(g==6)
      printf(“\n”);
    else
     {
      for(k=0;k<(g+1)*8;k++)
        printf(” “);


就是这段~~,没有打印出空格,每月1号都成星期日,都请教是什么问题。


小部分程序:


———————————————————— ———————


for(iMonth=1;iMonth<=12;iMonth++)
   {
    if (iMonth==4 || iMonth==7 || iMonth==10) 


 /*   当第3个月打印结束,第4个月开始时停顿并清屏    */
      {
       getch();
       clrscr();
      }
    printf(“\n—————————-%s——————– ————\n\n”,month_name[iMonth-1]);


/* month_name 初始化为12个月的英语 */
    printf(“Sun     Mon     Tue     Wed     Thu     Fri     Sat\n”);


    switch(iMonth)
      {
       case 1:  case 3:  case 5:  case 7:  case 8:  case 10:  case 12:
  if((iDate+2*iMonth+3*(iMonth+1)/5+iYear+iYear/4-iYear/100+iY ear/400)%7==g)
   {
    if(g==6)
      printf(“\n”);
    else
     {
      for(k=0;k<(g+1)*8;k++)
        printf(” “);
     }
   }
  for(j=1;j<=31;j++)
    printf(“%2d      “,j);
       break;


万年历部分程序疑惑》有 4 条评论

  1. Alan 说:

    我知道哪里有问题了,犯了一个低级的逻辑错误。

    我是新手,多多见谅

  2. Alan 说:

    这次真的有问题了,里面我所需要的空格和换行命令都不执行,

    没有打印出空格,每月1号都成星期日,并且都是到10号才换行。

    请教这是什么问题。

    for(imonth=1;imonth<=12;imonth++)
       {
        if (imonth==4 || imonth==7 || imonth==10) 

     /*   当第3个月打印结束,第4个月开始时停顿并清屏    */
          {
           getch();
           clrscr();
          }
        printf(“\n—————————-%s——————– ————\n\n”,month_name[imonth-1]);

    /* month_name 初始化为12个月的英语 */
        printf(“sun     mon     tue     wed     thu     fri     sat\n”);

        switch(imonth)
          {
           case 1:  case 3:  case 5:  case 7:  case 8:  case 10:  case 12:
      if((idate+2*imonth+3*(imonth+1)/5+iyear+iyear/4-iyear/100+iy ear/400)%7==g)

    /* g=0,1月1号是星期1;g=1,1月1号是星期2…… */
         if(g!=6)
          for(k=0;k<(g+1)*8;k++)
            printf(” “);
      for(j=1;j<=31;j++)
       {
        if(j==7-g || j==14-g || j==21-g || j==28-g || j==35-g)  

    /* 当是星期天时就先换行 */
          printf(“\n”);
        printf(“%2d      “,j);
       }
           break;

  3. Alan 说:

    还是自己搞定了,不用研究 了,我自己写的有点乱了

留下一个回复