C语言-根据时间显示记录

/*按日期显示*/
void list()
{
   long int rq,rq1,rq2;
   int year1,month1,day1,year2,month2,day2;
   int i=0,j=0,k=0;
   SALARY *p;
   clrscr();
   p=First;
   for(i=0;i>-1;i++)
 {  clrscr();
   printf("开始时间:(年-月-日):/n");
   scanf("%d-%d-%d",&year1,&month1,&day1);
   printf("截止时间:(年-月-日):/n");
   scanf("%d-%d-%d",&year2,&month2,&day2);
   if((month1>=1&&month1<=12)&&(month2>=1&&month2<=12)&&(day1>=1&&day1<=31)&&(day2>=1&&day2<=31))
   break;
   printf("日期格式错误!!!") ;
   getch();
  }
   while(p)
  {
   if ((p->riqi.year>year1)&&(p->riqi.year<year2)){ k++;listok(p);}
      else if(p->riqi.year==year1)
           {if (p->riqi.month>month1)
               {k++;listok(p);}
                  else if(p->riqi.month==month1)
                       {if((p->riqi.day>day1)||(p->riqi.day==day1))
                          {k++;listok(p);}
                       }
            }
      else if(p->riqi.year==year2)
           {if (p->riqi.month<month2)
               {k++;listok(p);}
                  else if(p->riqi.month==month2)
                       {if((p->riqi.day<day2)||(p->riqi.day==day2))
                          {k++;listok(p);}
                       }
            }
      else if((p->riqi.year==year1)&&(p->riqi.year==year2))
            {if ((p->riqi.month>month1)&&(p->riqi.month<month2)) {k++;listok(p);}
             else if(p->riqi.month==month1)
               {if(p->riqi.day>=day1) {k++;listok(p);}}
             else if(p->riqi.month==month2)
               {if(p->riqi.day<=day2) {k++;listok(p);}}
             else if((p->riqi.month=month1)&&(p->riqi.month=month2)) {k++;listok(p);}

             }
   p=p->next;
   }
   if(k==0) printf("没有找到您要查找的记录……") ;
}
void  listok(SALARY *p)
{
        clrscr();   /*清屏*/
        printf("/n/n/n"); /*换行三次*/
        printf("+--------记录显示--------+/n");
        printf("|序号    |%-15s|/n",p->no);
        printf("|--------|---------------|/n");
        printf("|凭证编号|%-15s|/n",p->pzbh);
        printf("|--------|---------------|/n");
        printf("|日期    |%-6d%-4d%-5d|/n",p->riqi.year,p->riqi.month,p->riqi.day);
        printf("|--------|---------------|/n");
        printf("|贷方    |%-15.2f|/n",p->daif);
        printf("|--------|---------------|/n");
        printf("|借方    |%-15.2f|/n",p->jief);
        printf("|--------|---------------|/n");
        printf("|现金余额|%-15.2f|/n",p->jief);
        printf("|--------|----------------------------------------+/n");
        printf("|单位    |%-40s|/n",p->gldw);
        printf("|--------|----------------------------------------+/n");
        printf("|摘要    |/n");
        printf("|-----------------------------------------------------------------------------+/n");
        printf("|%-77s|/n",p->zy);
        printf("|-----------------------------------------------------------------------------+/n");
        printf("   按任意键继续……/n");
        getch(); /*输出一页暂停一下,压任意键继续*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值