L1-043 阅览室

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int retime(string a,string b)
{
	int ha,hb,ma,mb;
	ha=(a[0]-'0')*10+a[1]-'0';
	hb=(b[0]-'0')*10+b[1]-'0';
	ma=(a[3]-'0')*10+a[4]-'0';
	mb=(b[3]-'0')*10+b[4]-'0';
	int temp=0;
	temp=(hb-ha)*60+mb-ma;
	return temp;
}
int main()
{
	int N;
	
	int *book_nums=new int[1001];//记录书的状态 
	char *key=new char[1001];
	string *time=new string[1001];
	
	cin>>N;
	
	for(int i=0;i<=1000;i++)
	{
		book_nums[i]=0;
	}
	
	int z_times=0;//记录0出现的次数 
	
	int i=0;
	
	int b_num;
	char key_c;
	string time_s;//记录输入 
	
	int b_t=0;
	int a_t=0;//记录输出数据 
		
	while(1)
	{
				
		cin>>b_num>>key_c>>time_s;//记录当前输入 
		
		if(b_num==0)//书号是0则z_times+1 
		{
			z_times+=1;

			if(z_times!=N)//0的个数未达到N,即总输出还未结束,计算当天结束次数和时间并输出 
			{
				if(b_t!=0)
				cout<<b_t<<" "<<int(1.0*a_t/b_t+0.5)<<endl;
				else
				cout<<0<<" "<<0<<endl;//防止除数为0错误 
				
				a_t=0;
				b_t=0;
				for(int i=0;i<=1000;i++)
	    		{
					book_nums[i]=0;
				}
				for(int i=0;i<=1000;i++)
	    		{
					time[i]="";
				}				
				//输出加初始化,输出后清空 
			}
			else
			{
				if(b_t!=0)
				cout<<b_t<<" "<<int(1.0*a_t/b_t+0.5)<<endl;
				else
				cout<<0<<" "<<0<<endl;
				a_t=0;
				b_t=0;
				for(int i=0;i<=1000;i++)
	    		{
					book_nums[i]=0;
				}
				for(int i=0;i<=1000;i++)
	    		{
					time[i]="";
				}				
				break; 
				//输出加退出循环 
			 } 
		}
		else//书号不是0
		{
			
			if(key_c=='S')//键入S则记录当前数的状态 
			{
				book_nums[b_num]=1;
				time[b_num]=time_s;
			}
			if(key_c=='E')//键入E 
			{
				if(book_nums[b_num]==1)//该书被借过 
				{
					b_t+=1;
					a_t+=retime(time[b_num],time_s);
					book_nums[b_num]=0;
					time[b_num]="";	
				}
			}
		 } 
	}
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_45769207

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值