📄 bank.cpp
字号:
// bank.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
//#include "bank.c"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#define LEN sizeof(struct queue)
#define ERRORW printf("file write error\n")
#define ERRORR printf("file read error\n")
struct queue
{
int reachtime;
int finishtime;
int ifquantity;
int number;
struct queue *next;
};
int readfile(FILE *file)
{
char save[20],c;
int count,i,flag=0,value=0,x,y;
for(i=0;i<20;i++)
{
if(!feof(file))
{
if((c=fgetc(file))==EOF) ERRORR;
}
else c=13;
if(c>47&&c<58||c==45) save[i]=c;
else
{
save[i]='\0';
if(c!=32)
fgetc(file);
break;
}
}
if(save[0]!=45) count=i-1;
else count=i-2,flag=1;
for(i=0;count>=0;count--)
{
x=(int)save[count]-48;
y=(int)pow(10,i++);
value=value+(x*y);
}
if(flag==0) return value;
else return -1*value;
}
void writefile(int value,FILE *file)
{
char save[20];
int i;
itoa(value,save,10);
for(i=0;i<20;i++)
{
if(save[i]!=0) fputc(save[i],file);
else break;
}
//if(fputs(save,file)==NULL) ERRORW;
}
int _tmain(int argc, _TCHAR* argv[])
{
int total,closetime,n,average=0,i;
struct queue *event,*head;
FILE *file;
char enter=13,bf=10;
float wait;
if((file=fopen("input.txt","rb"))==NULL)
{
printf("cannot open this file\n");
exit(0);
}
total=readfile(file);
closetime=readfile(file);
n=readfile(file);
head=(struct queue *)malloc(LEN);
event=head;
event->reachtime=readfile(file);
event->finishtime=readfile(file);
event->ifquantity=readfile(file);
event->number=0;
event->finishtime=event->reachtime+event->finishtime;
if(event->finishtime<=closetime) event->ifquantity='Y';
else event->ifquantity='N';
wait=event->finishtime-event->reachtime;
for(i=1;i<(n+1);i++)
{
event->next=(struct queue *)malloc(LEN);
event->next->reachtime=readfile(file);
event->next->finishtime=readfile(file);
event->next->ifquantity=readfile(file);
event->next->number=i;
if(event->next->reachtime>event->finishtime)
event->next->finishtime=event->next->reachtime+event->next->finishtime;
else
event->next->finishtime=event->finishtime+event->next->finishtime;
if(event->next->finishtime<=closetime)event->next->ifquantity='Y';
else
{
event->next->finishtime=closetime;
event->next->ifquantity='N';
average=average/i;
event=event->next;
event->next=NULL;
break;
}
wait=event->finishtime-event->reachtime;
average=average+wait;
event=event->next;
event->next=NULL;
// if(feof(file)) break;
}
fclose(file);
event=head;
if((file=fopen("output.txt","w"))==NULL)
{
printf("cannot open this file\n");
exit(0);
}
while(event!=NULL)
{
i=event->reachtime;
i=event->finishtime;
writefile(event->number,file);
fputc(32,file);
writefile(event->reachtime,file);
fputc(32,file);
writefile(event->finishtime,file);
fputc(32,file);
fputc(event->ifquantity,file);
fputc(enter,file);
fputc(bf,file);
event=event->next;
}
writefile(average,file);
fclose(file);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -