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

📄 sports.cpp

📁 航空订票信息系统很好的一个用C篇的,希望大家下载交流
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include"sphead.h"

/*
int initSports(sports &sp,schools sc,prizes pr){
  int i,n;
  printf("请输入运动项目的个数:");
  scanf("%d",&n);
  fflush(stdin);
  sp.sp=(sport *)malloc(n*sizeof(sport));
  if(!sp.sp) exit(1);
  sp.num=n;
  printf("请输入%d个运动项目的信息\n",n);
  for(i=0;i<n;i++)
  {
	  sp.sp[i].id=i;
      printf("项目%d的名称:",i+1);
	  scanf("%s",sp.sp[i].name);
      printf("项目%d的种类(0=男子项目,1=女子项目): ",i+1);
	  scanf("%d",&sp.sp[i].sex);
      printf("项目%d获奖名额(<6): ",i+1);
	  scanf("%d",&sp.sp[i].prizeNum);
  }
  fflush(stdin);
  printf("是否保存(Y/N): ");
  char ch=getchar();
  if(ch=='y'||ch=='Y')
  save(sp,sc,pr);
  else
	  exit(0);
  return 0;
}

int initSchools(sports sp,schools &sc,prizes pr){
  int n;
  printf("请输入参赛学校的数目:");
  scanf("%d",&n);
  fflush(stdin);
  sc.sc=(school *)malloc(n*sizeof(school));
  if(!sc.sc) exit(1);
  sc.num=n;
  printf("请输入%d个学校的信息\n",n);
   for(int i=0;i<n;i++)
  {
	  sc.sc[i].id=i;
      printf("学校%d的名称:",i+1);
	  scanf("%s",sc.sc[i].name);
	  printf("学校参赛项目数目:");
	  scanf("%d",&sc.sc[i].sportNum);
      
	  spMeum(sp,sp.num);
	  printf("请选择学校申报的运动项目: ");
	  for(int j=0;j<sc.sc[i].sportNum;j++)
	  {		
	  scanf("%d",&sc.sc[i].sport_id[j]);
	
	  
	  }

     fflush(stdin);

	 for(j=0;j<sp.num;j++);
     sc.sc[i].sport_id[j]=0;
	 for(j=0;j<sp.num;j++);
     sc.sc[i].sport_score[j]=0;

	  sc.sc[i].totalScore=0;
	  sc.sc[i].manScore=0;
	  sc.sc[i].womenScore=0;
  }

  printf("是否保存(Y/N): ");
   char ch=getchar();
  if(ch=='y'||ch=='Y')
    save(sp,sc,pr);
  else
	  exit(0);
  return 0;
}
*/
int getScore(sports &sp,schools &sc,prizes &pr){
	int temp[M+W],id[M+W];
	int score1[3]={5,3,2};
	int score2[5]={7,5,3,2,1};
	int k=0;
	int end=0;
	int a,b;



	load(sp,sc,pr);

    pr.pr=(prize *)malloc(sp.num*sizeof(prize));
    if(!pr.pr) exit(1);
	scMeum(sc,sc.num);

	printf("\n请按提示输入获奖信息... \n\n");







	for(int i=0;i<sp.num;i++)
	{
	   printf("运动项目: %-20s\n",sp.sp[i].name);
	   printf("\n参赛学校: ");


/////////////========查询参赛学校========/////////////////////
	   for(int m=0;m<sc.num;m++)
		 for(int n=0;n<sc.sc[m].sportNum;n++)
			if(sp.sp[i].id==sc.sc[m].sport_id[n])
			{
				
				temp[k]=sc.sc[m].id;//保存学校编号
				id[k]=n;            //保存该学校的项目位置
				k++;
				printf("%-2d",sc.sc[m].id);	
				break;
			}
			end=k;
			k=0;




lp:	   k=0;
	   b=sp.sp[i].prizeNum;
	   pr.pr[i].sport_id=sp.sp[i].id; /////-----wwwwwwwwwwwwwwwwwwwwwwww

       printf("\n\n第1--%d名: ",sp.sp[i].prizeNum);




 ////////////////////----------选择获奖学校-----------////////////////

  	  for(int j=0;j<sp.sp[i].prizeNum&&j<sc.num;j++)
		    scanf("%d",&pr.pr[i].school_id[j]);        
        //    fflush(stdin);


	  for(j=0;j<sp.sp[i].prizeNum&&j<sc.num;j++)
	  {
		  

            
            if(b==3)
            sc.sc[pr.pr[i].school_id[j]].sport_score[id[j]]=score1[j];
			else
			sc.sc[pr.pr[i].school_id[j]].sport_score[id[j]]=score2[j];

 ////////////////////----------核实学校信息-----------////////////////

             a=1;
	        for(int t=0;t<end;t++)
			{	  
				
		         if(pr.pr[i].school_id[j]==temp[t])
				 {
			          a=0;
			          break;
				 }
			}

		    if(a==1)
			{
			 printf("\n编号为%d学校没有参加该项目,请核实后重新输入 !",pr.pr[i].school_id[j]);
			 
			 goto lp;
			}
////////////////////----------核实学校信息-----------////////////////
	  } 
	  printf("\n==========================\n\n");





///////////////////-----------默认方法打分------------///////////////////


	  if(sp.sp[i].prizeNum==3)
	   {
		   pr.pr[i].score[0]=5;
		   pr.pr[i].score[1]=3;
		   pr.pr[i].score[2]=2;

	   }
	   else
	   {
		   pr.pr[i].score[0]=7;
		   pr.pr[i].score[1]=5;
		   pr.pr[i].score[2]=3;
		   pr.pr[i].score[3]=2;
		   pr.pr[i].score[4]=1;

	   }

				sc.sc[i].manScore=0;
				sc.sc[i].womenScore=0;
	            sc.sc[i].totalScore=0;
	}









  for(;i<sc.num;i++)
  {
	  sc.sc[i].manScore=0;
	  sc.sc[i].womenScore=0;
	  sc.sc[i].totalScore=0;
  }



  fflush(stdin);
  printf("是否保存(Y/N): ");
 
  char ch=getchar();
  if(ch=='y'||ch=='Y')
    save(sp,sc,pr);
  else
	  exit(0);
    getchar();
	return 0;
		  
}

int totalScore(sports sp,schools &sc,prizes pr){
	load(sp,sc,pr);
    
    int flag=1;
	for(int i=0;i<sc.num;i++)
	{
		if(sc.sc[i].totalScore==0)
		{
		  for(int j=0;j<sc.sc[i].sportNum;j++)
			if(sp.sp[sc.sc[i].sport_id[j]].sex==0)
				sc.sc[i].manScore+=sc.sc[i].sport_score[j];
			else
				sc.sc[i].womenScore+=sc.sc[i].sport_score[j];
	      sc.sc[i].totalScore=sc.sc[i].manScore+sc.sc[i].womenScore;
		}
	} 



	printf("\n\n                        ※ 学校分数统计表 ※ \n");
	printf("--------------------------------------------------------------\n");
	printf("    学校名称       男子团体得分    女子团体得分   男女团体总分\n");
	printf("--------------------------------------------------------------\n");
	for(i=0;i<sc.num;i++)
	{	   
	    printf("    %-6s%15d%15d%15d\n",sc.sc[i].name,sc.sc[i].manScore,sc.sc[i].womenScore,sc.sc[i].totalScore);
	}
	printf("--------------------------------------------------------------\n");

	save(sp,sc,pr);

	return 0;

}

int search(sports sp,schools sc,prizes pr){
	load(sp,sc,pr);
	int flag;
    puts("\n\n     \t=========================================================\n");
	puts("                         〓〓〓 信息查询菜单 〓〓〓\n  ");
	puts("     \t=========================================================\n");
	printf("\t\t1、查询学校的某个项目");
	printf("\t2、查询项目的获奖学校\n\n");
//	printf("     \t\t\t0-------退出该信息查询菜单\n\n");
	puts("     \t=========================================================\n");
	printf("请选择:");
	scanf("%d",&flag);
	switch(flag)
	{
	case 1:scSearch(sp,sc);
		   break;
	case 2:spSearch(sp,sc,pr);
		   break;
    case 0:exit(0);
		   break;
	default:
		printf("输入错误!!!\n");
		exit(0);
	}
	return 0;



}

int schoolSort(sports &sp,schools &sc,prizes &pr){
	load(sp,sc,pr);
	int flag;
	puts("     \n\t=========================================================\n");
	puts("                       〓〓〓 学校信息排序菜单 〓〓〓\n  ");
	puts("     \t=========================================================\n");
	printf("\t\t\t0------------按学校编号排序\n\n");
	printf("\t\t\t1------------按学校总分排序\n\n");
	printf("\t\t\t2------------按男子总分排序\n\n");
	printf("\t\t\t3------------按女子总分排序\n\n");
	printf("\t\t\t4------------退出不进行排序\n\n");
	puts("     \t=========================================================\n");
	printf("请选择:");
	scanf("%d",&flag);
	sort(sp,sc,pr,flag);
	fflush(stdin);
	return 0;
}

int scSearch(sports sp,schools sc){
           int sc_id,sp_id;
	       scMeum(sc,sc.num);
		   printf("请选择要查询的学校编号:");
		   scanf("%d",&sc_id);	   
		   printf("\n\n该学校参加的运动项目有:\n\n");
           for(int i=0;i<sc.sc[sc_id].sportNum;i++)
           printf("%d、%s  ",sc.sc[sc_id].sport_id[i],sp.sp[sc.sc[sc_id].sport_id[i]].name);
		   printf("\n\n请选择要查询的项目编号:");
		   scanf("%d",&sp_id);
		   fflush(stdin);
		   printf("\n该项目的详细信息如下表:\n\n",sc.sc[sc_id].name,sp.sp[sp_id].name);
		   spShow(sp,sp_id);
		  // printf("\n该学校此项目的得分为: %d\n\n\n",sc.sc[sc_id].sport_score[sp_id]);
		   return 0;
}

int spSearch(sports sp,schools sc,prizes pr){
           int sc_id,sp_id;
           spMeum(sp,sp.num);
	       printf("请输入要查询的项目编号:");
		   scanf("%d",&sp_id);
		   fflush(stdin);
		   printf("\n\n\n");
		   printf("==============================================================\n");
		   printf("  项目名称      获奖名次        学校名称         学校编号\n");
		   printf("==============================================================\n\n");
           for(int i=0;i<sp.sp[sp_id].prizeNum;i++)
           printf("  %s        第%d名          %s             %d\n\n",sp.sp[sp_id].name,i+1,sc.sc[pr.pr[sp_id].school_id[i]].name,pr.pr[sp_id].school_id[i]);
           printf("==============================================================\n\n");
		   printf("\n请选择要查询的学校编号:");
		   
		   scanf("%d",&sc_id);
		   fflush(stdin);
		   putchar(10);
		   scShow(sc,sc_id);
		   return 0;
}

int save(sports sp,schools sc,prizes pr){
	FILE *fp;
    int n;

⌨️ 快捷键说明

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