标题:歌手比赛系统中通过编号进行查询选手信息不大会,求指教
只看楼主
tjt
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
结帖率:33.33%
已结贴  问题点数:10 回复次数:4 
歌手比赛系统中通过编号进行查询选手信息不大会,求指教
#include<stdio.h>
#include<stdlib.h>
struct xuanshou{
    int y;//编号
    int fen[10];//评委打分
    double t;//平均分
    double total;//总分
}x[100],tidai;
void main(){
    int q,i,j,w,e,r,t,y;
    char m;//字符中介26行
    int num;
    char name[100][20];
    printf("\t*********************歌手比赛系统*******************\n");
    printf("1输入选手数据,评委打分******2成绩排序(按平均分)******3查询数据******4写入数据文件******5退出系统\n");
    for(;;){
        printf("请输入你要执行的操作数\n");
        scanf("%d",&q);
        switch(q){
        case 1:printf("请输入有多少选手参加比赛\n");
            scanf("%d",&w);
            for(i=0;i<w;i++){
                x[i].y=i+1;
                printf("选手%d:姓名:",i+1);
            
               
                printf("请输入十个评委所给的分数\n");
                scanf("%d%d%d%d%d%d%d%d%d%d",&x[i].fen[0],&x[i].fen[1],&x[i].fen[2],&x[i].fen[3],&x[i].fen[4],&x[i].fen[5],&x[i].fen[6],&x[i].fen[7],&x[i].fen[8],&x[i].fen[9]);
                for(e=1;e<10;e++)
                    if(x[i].fen[0]>x[i].fen[e]){r=x[i].fen[0];x[i].fen[0]=x[i].fen[e];x[i].fen[e]=r;}
                for(e=0;e<9;e++)
                        if(x[i].fen[9]<x[i].fen[e]){r=x[i].fen[9];x[i].fen[9]=x[i].fen[e];x[i].fen[e]=r;}
                x[i].t=(x[i].fen[1]+x[i].fen[2]+x[i].fen[3]+x[i].fen[4]+x[i].fen[5]+x[i].fen[6]+x[i].fen[7]+x[i].fen[8])/8.0;
                printf("平均分:%.2f\n",x[i].t);
                x[i].total=x[i].fen[1]+x[i].fen[2]+x[i].fen[3]+x[i].fen[4]+x[i].fen[5]+x[i].fen[6]+x[i].fen[7]+x[i].fen[8]+x[i].fen[9]+x[i].fen[0];
        
               
            }break;
        case 2:for(y=0;y<w-1;y++)
                   for(t=y+1;t<w;t++)
                       if(x[y].t>x[t].t){
                            tidai=x[y];x[y]=x[t];x[t]=tidai;
                       }
                for(i=0;i<w;i++)printf("选手:%d 名字:%s 平均分:%f 第%d名\n",x[i].y,x[i].name,x[i].t,i+1);//q输入的操作数,i
                break;
                case 3:
                    for(;;)
                    {
                    
                    printf("请输入您的编号:\n");
                    scanf("%d",&num);
                    for(i=0;i<w;i++)
                    {
                        if(num==x[i].y)
                    
               
                        printf("姓名:%s      编号:%d      平均分:%f        总分:%f         排名:%d\n",x[i].name,x[i].y,x[i].t,x[i].total);
                        else if(num>5)
                        printf("(小心不要输入错误编号!!!)\n");
                        if(num==5)
                        break;
                        
                    }
                    
                    
        
            }
            case 4:
                {
                    
                }
        
            break;
            case 5:
                exit(0);
        }
    }
}case 3 中的输出姓名有疑惑,希望各位大哥大姐帮帮指教下
搜索更多相关主题的帖子: include double 信息 中介 
2017-06-14 00:36
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
x[i].name ?
没见有name成员
2017-06-14 05:09
tjt
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
得分:0 
不好意思,我忘加上去了是x[i].name[20]
2017-06-14 10:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 3楼 tjt
x是xuanshou类型数组,xuanshou好象没见有name成员?
2017-06-14 10:56
tjt
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
得分:0 
回复 4楼 吹水佬
谢谢,我知道问题在哪里了
2017-06-14 12:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477901-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057217 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved