import java.util.Scanner;
public class markSystem {
 public static void main(String[] args) {
  int choose;
  Singer singer=new Singer();
  Scanner input=new Scanner(System.in);
  System.out.println("=======================================");
  System.out.println("          欢迎使用歌手打分系统                       ");
  System.out.println("=======================================");
   while(true){
   System.out.println("1、歌手打分   2、歌手排名   3、查看得分明细");
   System.out.print("请选择>>");
   choose=input.nextInt();
    if(choose==1){
     
     singer.grade(singer.SingerNumber, singer.SingerName, singer.score);
    }
    if(choose==2){
     singer.ranking(singer.SingerNumber, singer.SingerName,singer.score);
    }
    if(choose==3){
     singer.getinfo(singer.SingerNumber, singer.SingerName, singer.score);
    }
    if(choose<=0){
     continue;
    }
   }
 }
 
}

//Singer类是给歌手打分的
class Singer{
 
 int[] SingerNumber=new int[4] ;
 String[] SingerName=new String[4];
 float[][] score=new float[4][4];
 java.util.Scanner input=new java.util.Scanner(System.in);
 //实现歌手信息及评委打分的录入
 void grade(int[] SingerNumber,String[] SingerName,float[][] score){
  for(int i=0;i<4;i++){
   System.out.print("输入歌手编号>>");
   SingerNumber[i]=input.nextInt();
   System.out.print("输入歌手姓名>>");
   SingerName[i]=input.next();
   for(int j=0;j<4;j++){
    System.out.print("第"+(j+1)+"个评委打分>>");
    score[i][j]=input.nextFloat();
   }
  }
 }
 //获取所有歌手的信息
 void getinfo(int[] SingerNumber,String[] SingerName,float[][] score){
  System.out.println("=======================歌手详细信息======================");
  System.out.println("编号  姓名  评委1 评委2 评委3 评委4");
  for(int i=0;i<4;i++){
   System.out.print(SingerNumber[i]+"  "+SingerName[i]+"  ");
   for(int j=0;j<4;j++){
    System.out.print(score[i][j]+" ");
   }
   System.out.println();
  }
 }
 //这是实现歌手按平均成绩的排名函数
  void ranking(int[] SingerNumber,String[] SingerName,float[][] score){
  /* float max=0;
   float min=0;
   //找出评委的最高分和最低分
   for(int i=0;i<4;i++){
    for(int j=0;j<4;j++){
      max=score[i][0];
      min=score[i][0];
     if(max<score[i][j]){
      max=score[i][j];
     }
     if(min>score[i][j]){
      min=score[i][j];
     }
    }
   }*/
   //求歌手去掉最高分和最低分后的平均分
   float[] sum={0,0,0,0};
   float[] avg={0,0,0,0};
   for(int k=0;k<4;k++){
    for(int l=0;l<4;l++){
     /*if(score[k][l]>=min&&score[k][l]<=max){*/
      sum[k]=sum[k]+score[k][l];
    
     avg[k]=sum[k]/4;//求出4个选手的平均分
    }
   
   }
   //对平均分排序
  
  float temp;
  float[] last={avg[0],avg[1],avg[2],avg[3]};
  int[]num={0,0,0,0};
  for(int i=0;i<3;i++){
   for(int j=0;j<3-i;j++){
    if(avg[j]<avg[j+1]){
     temp=avg[j];
     avg[j]=avg[j+1];
     avg[j+1]=temp;
    }
   }
  }
  for(int k=0;k<4;k++){
   for(int l=0;l<4;l++){
    if(avg[k]==last[l]){
     num[k]=l;
    }
   }
  }
   System.out.println("================歌手排名===============");
   System.out.println("编号  姓名  平均成绩");
   for(int i=0;i<4;i++){
    System.out.print(SingerNumber[num[i]]+"  "+SingerName[num[i]]+"  "+avg[i]);
    System.out.println();
   }
  }

}

简单的KTV点歌系统相关推荐

  1. ktv管理系统_7天撸完KTV点歌系统,含后台管理系统(完整版)

    最近手有点痒琢磨着做个啥,朝思暮想还是写个KTV点歌系统,模拟了一下KTV开户的思路,7天累死我了,不过技术点还挺多的,希望你可以看完(〜^㉨^)〜 用Node(Express)教你写KTV点歌系统, ...

  2. 驭梦KTV点歌系统简介

    19级青鸟三班驭梦小组 指导老师:穆雄雄老师 班主任:王欣欣老师 小组成员: 组 长:刘文瑞 副组长:陈浴森 组员:蒋建强.翟帅.谢学致.申世业.潘浩杨.芦泽宇.季淑琦.冯涵婷 制作周期:2020年9 ...

  3. 星梦小组KTV点歌系统简介

    班 级:19级青鸟3班 组 名:星梦小组 班主任:王欣欣老师 指导老师:穆雄雄老师 组 长:刘娜 副组长:王宝兴.汪杰 小组成员:汪杰.方传森.王宝兴.赵燕涵.云善辉.丁长琨.翟选浩.蔺广兴.王建业. ...

  4. ktv服务器系统怎样加歌,明光市ktv点歌系统如何加歌

    网络版点歌系统分机顶盒式和PC机式两种.是指一台服务器控制多个点歌机,其歌库文件是全部存放在一台"中心机"(即服务器)上的,它以"共享"的方式提供给其余&quo ...

  5. 【计算机毕业设计】KTV点歌系统

    一.系统截图(需要演示视频可以私聊) 摘 要 本论文主要论述了如何使用JAVA语言开发一个KTV点歌系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发. ...

  6. 7天撸完KTV点歌系统,含后台管理系统(完整版)

    最近手有点痒琢磨着做个啥,朝思暮想还是写个KTV点歌系统,模拟了一下KTV开户的思路,7天累死我了,不过技术点还挺多的,希望你可以看完(〜㉨)〜 用Node(Express)教你写KTV点歌系统,包括 ...

  7. 音创a55怎么安装系统_音创ktv点歌系统_音创点歌机怎么样_音创ktv点歌系统a55

    音创KTV点歌系统是一款非常易用的电脑KTV点歌软件.本软件能够帮助KTV经营商非常方便地大点KTV点歌管理系统,同时也很适合家庭个人用户使用,支持海量的视频.音频格式,拥有全面的点歌功能. 1.点歌 ...

  8. 毕业设计源码Java基于ssm的KTV点歌系统的实现

    毕业设计源码从哪找 毕业设计源码下载网站推荐 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工 ...

  9. 对大一C语言的课程设计——KTV点歌系统的介绍(链表)

    写此博客的目的:一是为了让自己对链表的思考方式更加的清晰,二是对不清楚链表实现方式的讲解! 所有的菜单都没有进行讲解,太简单.另外建议写这种比较大的程序的时候,不要着急先写菜单,要先把每一个功能实现完 ...

最新文章

  1. 怎样解决职业发展中遇到的困惑
  2. Silverlight Curve Animation / 曲线动画
  3. 启动之OS_CPU_C
  4. 关于写博客的原因以及一点个人说明。
  5. git add 所有修改文件_Git管理修改、撤销和删除文件
  6. ACL Findings | 任务共舞,小样本场景下的多任务联合学习方法初探
  7. nacos注册中心demo
  8. C++ Windows时间函数 QueryPerformanceCounter()与QueryPerformanceFrequency()
  9. batch norm参数
  10. Zim-个人wiki系统
  11. (原创)如何将Nios II硬件和软件合成一个文件(NIOS II)(硬件)(软件)(合并)...
  12. 芬斯狄娜内衣怎么样,文胸质量好不好吗
  13. C#课程设计(购物平台)
  14. [路由][教程]OpenWrt通过LAN连接上级路由做交换机+无线功能教程
  15. 第六届山东省赛总结贴
  16. 应用计算机测定线性电阻电路图和实物图,PC817中文数据摘要_PC817引脚图和功能_工作原理_特性参数及典型应用电路...
  17. Psychopy学习笔记上|online流程,unexpected token
  18. c语言里op,57-赋值语句中的op=形式
  19. 基于JAVASE的彩票摇号系统
  20. 二叉树的中序遍历和后序遍历算法

热门文章

  1. XTP中CXTPReportControl中合并单元格
  2. 网络计算机抗震计算阻尼比,抗震结构设计经典计算题及答案.doc
  3. pdf文件在线预览,兼容多浏览器和手机端
  4. 深度融合钉钉PaaS,授客学堂助力企业实现培训数字化
  5. 学生证选课系统c语言大作业,学生选课管理系统c语言程序
  6. Teams app 开发最佳实践
  7. 数据结构(递归及应用)
  8. 华大单片机HC32L130J6TA入坑全纪录(一)
  9. 书小宅之概念汇总——胜读十年书
  10. 超市商品管理系统java