⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 haircut.cpp

📁 数据结构
💻 CPP
字号:
#include "common.h"
#include "Linklist.h"
#include "Queue.h"
#include "simulation.h"
char ch,begin;
int t=0;
float discount[4]={1.0,1.0,1.0,1.0};

int opentime;
int CurrentTime,a,b;

void GetSituation();
void WriteFile1();
void DiscountFile(float discout[]);
void foresee();

void main()
{
    int i;
	OpentimeFile(otime);
	opentime=(otime[0]-'0')*60+(otime[2]-'0')*10+(otime[3]-'0');
	OpenForDay();
	begin=getchar();
	if(begin!='\n') begin=getchar();
	printf("开始营业!");
	while(!ListEmpty(ev))
	{
		cout<<endl;
		DelFirst(ev,en); 
		
		if(en.NType==0) {
	      GetSituation();
		  CustomerArrived();
		}
		else {
	       GetSituation();
		   CustomerDeparture(discount);
		}		
	}
	printf("工作结束,今天辛苦啦!\n");
	begin=getchar();
	if(begin!='\n') begin=getchar();
	
	system("cls");
	cout<<"************************************************************************"<<endl;
	cout<<"顾客总数 "<<CustomerNum<<endl;	
	
	for(i=1;i<=N;i++){
	   printf("第%d位理发师的营业时间是:%d分钟",i,Totaltime[i]);
	   printf("\n");
	}
	printf("\n");

	for(i=1;i<=N;i++){
	   printf("第%d位理发师创收%.2f元",i,money[i]);
	   printf("\n");
	}
    printf("\n");

    printf("理发店总共创收%.2f元",Allmoney);
    printf("\n");
	
	WriteFile1();
	foresee();
}

void GetSituation(){     
	while(t<en.OccurTime){
	      
		  scanf("%c",&ch);
	      if(ch=='\n'){
	        t+=5;
			CurrentTime=opentime+t;
			a=CurrentTime/60;
			b=CurrentTime%60;
			if(b<10) {printf("The time: %d:0%d\n",a,b);printf("\n");}
			else {printf("The time: %d:%d\n",a,b);printf("\n");}
			printf("\n");
			
            
			begin=getchar();
	        if(begin!=' ') begin=getchar();

			Print(Q1,Q2);
			
		  }
		  if(ch=='d'||ch=='D'){	        
			t+=5;
			CurrentTime=opentime+t;
			a=CurrentTime/60;
			b=CurrentTime%60;
			if(b<10) {printf("The time: %d:0%d\n",a,b);printf("\n");}
			else {printf("The time: %d:%d\n",a,b);printf("\n");}
			DiscountFile(discount);
	        printf("\n");
			
		
			begin=getchar();
	        if(begin!=' ') begin=getchar();
			Print(Q1,Q2);
		   
			
		  }
	 }
}
 
void WriteFile1(){                                          
     FILE *fp;
	 int y=1;
     fp=fopen("finish.txt","w");
	 for(i=1;i<=N;i++){
	   fputs("第",fp);
	   fprintf(fp,"%d",i);
	   fputs("位理发师的营业时间是:",fp);
	   fprintf(fp,"%d",Totaltime[i]);
	   fputs("分钟\n",fp);	   
	 }
	 fputs("\n",fp);

	 for(i=1;i<=N;i++){
	   fputs("第",fp);
	   fprintf(fp,"%d",i);
	   fputs("位理发师创收",fp);
	   fprintf(fp,"%.2f",money[i]);
	   fputs("元\n",fp);	   
	 }
	 fputs("\n",fp);

     fputs("理发店今日总收入",fp); 
	 fprintf(fp,"%.2f",Allmoney);
	 fputs("元\n",fp);
     fputs("顾客总数 ",fp); 
     fputc(':', fp);           
     fprintf(fp,"%d\n",CustomerNum);          
     fclose(fp);                 
}
    
void DiscountFile(float discout[]){
    FILE *fp; 
   
    int i=1;
	printf("为了答谢顾客的厚爱,从现在起打折开始啦!\n");
    fp=fopen("discount.txt","r");
    while(!feof(fp)) {
	   fscanf(fp,"%f", &discount[i]);
	   i++;
	}
	fclose(fp); 
	for(i=1;i<=3;i++)
	   printf("%d级理发师折扣为%.2f\n",i,discount[i]);
}

void foresee(){
   float income[9];
   FILE *fp;

   printf("由今日工作情况看:\n");
   for(i=1;i<=N;i++){
     income[i]=500+(money[i]+10)*0.3*20;
     printf("本月第%d位理发师的工资可能为%.2f元\n",i,income[i]);
   }
   
   fp=fopen("income.txt","w");
   for(i=1;i<=N;i++){
	   fputs("第",fp);
	   fprintf(fp,"%d",i);
	   fputs("位理发师预计收入为:",fp);
	   fprintf(fp,"%.2f",income[i]);
	   fputs("元\n",fp);	   
	 }
	          
   fclose(fp);               
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -