栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言课设歌手比赛系统(大作业)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言课设歌手比赛系统(大作业)

一、项目简介

对一次歌手比赛的成绩进行管理
输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。

二、任务概述

要求歌手比赛系统实现对学生基本信息(如编号、姓名、性别等)及十个评委的成绩的管理(增加、删除、修改或更新、查询、统计、保存到文件、从文件装载等操作)。

三、功能展示

四、思维导图

五、程序源码
#include
#include
struct singer 
{

	int num;
	char name[10];
	float score[20];
	float aver;
	float sum;
	int ord;

}singer[100]; 


void singer_information(int b)
  
{
	int i;




	for(i=1;i<=b;i++)
	{
		printf("请输入选手编号:");
		scanf("%d",&singer[i].num);
		printf("请输入选手姓名:");
		scanf("%s",&singer[i].name);
	} 
}


int singer_score(int b)    
{
	int j,c;
	float a[50];
	for(j=1;j<=b;j++)
			{
				printf("n请输入评委1对歌手%d的打分",j);
				scanf("%f",&singer[j].score[1]);
				printf("请输入评委2对歌手%d的打分",j);
				scanf("%f",&singer[j].score[2]);
				printf("请输入评委3对歌手%d的打分",j);
				scanf("%f",&singer[j].score[3]);
				printf("请输入评委4对歌手%d的打分",j);
				scanf("%f",&singer[j].score[4]);
				printf("请输入评委5对歌手%d的打分",j);
				scanf("%f",&singer[j].score[5]);
				printf("请输入评委6对歌手%d的打分",j);
				scanf("%f",&singer[j].score[6]);
				printf("请输入评委7对歌手%d的打分",j);
				scanf("%f",&singer[j].score[7]);
				printf("请输入评委8对歌手%d的打分",j);
				scanf("%f",&singer[j].score[8]);
				printf("请输入评委9对歌手%d的打分",j);
				scanf("%f",&singer[j].score[9]);
				printf("请输入评委10对歌手%d的打分",j);
				scanf("%f",&singer[j].score[10]);
				a[j]=singer[j].score[1]+singer[j].score[2]+singer[j].score[3]+singer[j].score[4]+singer[j].score[5]+singer[j].score[6]+singer[j].score[7]+singer[j].score[8]+singer[j].score[9]+singer[j].score[10];
				singer[j].sum=a[j];
			}
				
}


int singer_grade(int b)
{
	int a,c;
	float n[50],max,min;
	for(a=1;a<=b;a++)
	{
		max=singer[a].score[1];
		min=singer[a].score[1];
		for(c=1;c<=10;c++)
			{
				if(maxsinger[a].score[c])   min=singer[a].score[c];
			}
		n[a]=(singer[a].sum-max-min)/8.0;
		singer[a].aver=n[a];		
	}		
}



int order(int b) 
{
	int j,t,i;

		for(i=1;i<=b;i++)
				{
				for(j=1,t=1;j<=b;j++)
				{
				if(singer[i].aver
				t=t+1;
				}
				}
				singer[i].ord=t;
				}
				for(i=1;i<=b;i++)
				{
					for(j=1;j<=b;j++)
					{
						if(i==singer[j].ord)
							printf("%s是第%d     得分为%15.2fn",singer[j].name,i,singer[j].aver);
					}
					printf("nnn");
				}
			
}



int search(int c) 
{
	printf("所查选手的数据:编号%d    姓名%s   平均成绩%f   总成绩%fn",singer[c].num,singer[c].name,singer[c].aver,singer[c].score[c]);	
} 

 
 
 int addition(int i)
 {
	 printf("请输入选手编号及姓名:");
	scanf("%d,%s/n",&singer[i+1].num,&singer[i+1].name);
	
	printf("请输入评委1对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[1]);
	printf("请输入评委2对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[2]);
	printf("请输入评委3对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[3]);
	printf("请输入评委4对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[4]);
	printf("请输入评委5对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[5]);
	printf("请输入评委6对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[6]);
	printf("请输入评委7对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[7]);
	printf("请输入评委8对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[8]);
	printf("请输入评委9对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[9]);
	printf("请输入评委10对歌手%d的打分",i+1);
	scanf("%d",&singer[i+1].score[10]);
 }




main()
{
	int a,b,c,i,n=1;
	FILE *fp;
	fp = fopen("歌手.txt","wt+");
	
	 printf("     歌手比赛系统   n");
	 printf("*********************n");
     printf("* 1)输入选手数据   *n"); 
     printf("* 2)评委打分       *n");
     printf("* 3)成绩排序       *n");
     printf("* 4)数据查询       *n");
     printf("* 5)追加学生数据   *n");
     printf("* 6)写入数据文件   *n");      
     printf("* 7)退出系统       *n");
     printf("*********************n");
	while(n)
	{
	printf("你想进行的操作: ");
	scanf("%d",&a);
	printf("nn");
	switch(a)
	{
		case 1: 
				printf("你想进行的操作:输入选手数据n "); 
				printf("请输入选手个数");
				scanf("%d",&b);
				singer_information(b);
				printf("----------------------n");
			
		break;
		case 2: 
				printf("你想进行的操作:评委打分n ");
				singer_score(b);
				printf("-----------------------n");
				
		 break;
		case 3:  
				printf("你想进行的操作:成绩排序(按平均分)n ");
				singer_grade(b);
				order(b);
				printf("-------------------------n");
				
		  break;
		case 4:
				printf("你想进行的操作:数据查询n ");
				 printf("请输入要查询选手编号:"); 
		 		scanf("%d",&c);
		 		printf("所查选手的数据:编号%d    姓名%s   平均成绩%f   总成绩%fn",singer[c].num,singer[c].name,singer[c].aver,singer[c].sum);
	 			
				printf("--------------------------n");
		  break;
		case 5:
				printf("你想进行的操作:追加学生数据n ");  
			   addition(b);
			   	printf("---------------------------n");
				
		  break;
		case 6: 
				printf("你想进行的操作:写入数据文件n ");
				printf("将数据写入文件中:n");
        		for (i = 0 ; i <=b ; i++)
        		{
            		fprintf(fp,"%d ",singer[i].num);
            		fprintf(fp,"%s ",singer[i].name);
            		fprintf(fp,"%dn",singer[i].aver);
       			 }
		 break;
		case 7: exit(0);
		default :printf("输入错误请重新输入!n");
	}
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/969132.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号