c语言 有一段代码看不懂,明天就要答辩了,求帮助
if(info.numb==bc){if(info.alreadyload<info.canload){if(GetHour(info.starttime)<timein...
if(info.numb == bc)
{
if(info.alreadyload< info.canload)
{
if(GetHour(info.starttime)< timeinfo->tm_hour)
{
printf("对不起,该车已经发出,谢谢使用!");
}
else if(GetHour(info.starttime) == timeinfo->tm_hour)
{
if(GetMinute(info.starttime)<=timeinfo->tm_min)
printf("对不起,该车已经发出,谢谢使用");
else
{
printf("恭喜,购票成功!");
info.alreadyload ++;
fseek(fp, -pos, SEEK_CUR);
fprintf(fp, "%d %s %s %s %f %d %d\n", info.numb, info.starttime, info.begin, info.end, info.lasttime, info.canload, info.alreadyload);
}
}
else
{
printf("恭喜,购票成功!");
info.alreadyload ++;
fseek(fp, -pos, SEEK_CUR);
fprintf(fp, "%d %s %s %s %f %d %d\n", info.numb, info.starttime, info.begin, info.end, info.lasttime, info.canload, info.alreadyload);
}
}
else printf("对不起,车票已经售完,谢谢使用");
break;
}
}
fclose(fp);
}
这段代码是怎么比较时间的呢,能不能给我解释一下,谢谢啦,她前面获取了系统时间的时 和 分的 展开
{
if(info.alreadyload< info.canload)
{
if(GetHour(info.starttime)< timeinfo->tm_hour)
{
printf("对不起,该车已经发出,谢谢使用!");
}
else if(GetHour(info.starttime) == timeinfo->tm_hour)
{
if(GetMinute(info.starttime)<=timeinfo->tm_min)
printf("对不起,该车已经发出,谢谢使用");
else
{
printf("恭喜,购票成功!");
info.alreadyload ++;
fseek(fp, -pos, SEEK_CUR);
fprintf(fp, "%d %s %s %s %f %d %d\n", info.numb, info.starttime, info.begin, info.end, info.lasttime, info.canload, info.alreadyload);
}
}
else
{
printf("恭喜,购票成功!");
info.alreadyload ++;
fseek(fp, -pos, SEEK_CUR);
fprintf(fp, "%d %s %s %s %f %d %d\n", info.numb, info.starttime, info.begin, info.end, info.lasttime, info.canload, info.alreadyload);
}
}
else printf("对不起,车票已经售完,谢谢使用");
break;
}
}
fclose(fp);
}
这段代码是怎么比较时间的呢,能不能给我解释一下,谢谢啦,她前面获取了系统时间的时 和 分的 展开
2个回答
展开全部
if(info.numb == bc)
{
if(info.alreadyload< info.canload) //车票未售完
{
if(GetHour(info.starttime)< timeinfo->tm_hour) //按发车的小时比较(时:分:秒),先比较小时,发车的时小于购票时间的小时 GetHour()和GetMinute()分别获取时和分
{
printf("对不起,该车已经发出,谢谢使用!");
}
else if(GetHour(info.starttime) == timeinfo->tm_hour) //如果小时是相等的,在比较分钟
{
if(GetMinute(info.starttime)<=timeinfo->tm_min) //发车的分钟小于购票的小时(这个还是有缺点的,一般是发车前几分钟就停止售票的)
printf("对不起,该车已经发出,谢谢使用");
else
{
printf("恭喜,购票成功!");
info.alreadyload ++;
fseek(fp, -pos, SEEK_CUR);
fprintf(fp, "%d %s %s %s %f %d %d\n", info.numb, info.starttime, info.begin, info.end, info.lasttime, info.canload, info.alreadyload);
}
}
else //买票时的小时,分钟比较都没有超过发车
{
printf("恭喜,购票成功!");
info.alreadyload ++; //当前已售车票加1
fseek(fp, -pos, SEEK_CUR);
fprintf(fp, "%d %s %s %s %f %d %d\n", info.numb, info.starttime, info.begin, info.end, info.lasttime, info.canload, info.alreadyload);
}
}
else //车票已售完
printf("对不起,车票已经售完,谢谢使用");
break;
}
}
fclose(fp);
}
{
if(info.alreadyload< info.canload) //车票未售完
{
if(GetHour(info.starttime)< timeinfo->tm_hour) //按发车的小时比较(时:分:秒),先比较小时,发车的时小于购票时间的小时 GetHour()和GetMinute()分别获取时和分
{
printf("对不起,该车已经发出,谢谢使用!");
}
else if(GetHour(info.starttime) == timeinfo->tm_hour) //如果小时是相等的,在比较分钟
{
if(GetMinute(info.starttime)<=timeinfo->tm_min) //发车的分钟小于购票的小时(这个还是有缺点的,一般是发车前几分钟就停止售票的)
printf("对不起,该车已经发出,谢谢使用");
else
{
printf("恭喜,购票成功!");
info.alreadyload ++;
fseek(fp, -pos, SEEK_CUR);
fprintf(fp, "%d %s %s %s %f %d %d\n", info.numb, info.starttime, info.begin, info.end, info.lasttime, info.canload, info.alreadyload);
}
}
else //买票时的小时,分钟比较都没有超过发车
{
printf("恭喜,购票成功!");
info.alreadyload ++; //当前已售车票加1
fseek(fp, -pos, SEEK_CUR);
fprintf(fp, "%d %s %s %s %f %d %d\n", info.numb, info.starttime, info.begin, info.end, info.lasttime, info.canload, info.alreadyload);
}
}
else //车票已售完
printf("对不起,车票已经售完,谢谢使用");
break;
}
}
fclose(fp);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询