/*按日期显示*/
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(); /*输出一页暂停一下,压任意键继续*/
}