24小时热门版块排行榜    

查看: 1447  |  回复: 8
【奖励】 本帖被评价5次,作者烂熊邓增加金币 3.15

烂熊邓

金虫 (小有名气)


[资源] 【原创】音乐评分系统之需求分析(我们团队自己写的)

我们队正在开发一个音乐开发系统;我是负责需求分析的;现在和大家一起分享一下我的想法:

需求分析书
—歌唱比赛评分系统(第四组)

一.系统目的:
根据该评分系统得出歌唱比赛中各个选手的分数和排名情况。
二.背景:
1.         该系统名称:歌唱比赛评分系统。
2.         开发者:第四小组所有成员。
3.         用户:歌唱比赛、卡拉OK比赛等。

三.任务:
   根据该系统能够对各个歌唱大赛的参赛选手进行考察、评分,实现参赛选手以综合成绩名次选排。规范、系统、公平、公正的评比。

四.功能:
功能一:能够进行选手分数最高分与最低分的去除,求其平均。
功能二:能够判断裁判输入的分数是否错误(分数X-Y)。
例 用户输入的分数不在X-Y之间,则弹出窗口显示输入错误。
功能三:能够对选手的基本信息进行查询和修改。
例 若查询成功则显示,若查无此人则弹出窗口显示查无此人。
功能四:能够进行对选手进行删除和添加。
功能五:能够对参赛选手的成绩进行排名和显示。
功能六:能够调用各个选手的比赛结果。
例 若该选手退出比赛,则弹出窗口显示无此参赛选手。
功能七:能够进行页面显示(显示各个功能模块供用户选择操作)
例 界面显示(1.选手信息查询及修改  2.添加选手  3.删除选手   4.评分   5.显示所有选手成绩及名次  6.名次及成绩查询)



五.数据流图:
(这里本来有个数据流程图的但是,图拷不下来)如果你需要的话;我在邮件里发来;我的资料里有我的邮箱;
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guoguo3138

银虫 (小有名气)


哈哈!抢个沙发做!
2楼2009-06-26 18:20:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)


★ 一星级,一般

很简单的系统呀
3楼2009-06-26 19:30:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

★★★ 三星级,支持鼓励

感谢分享,哈哈
4楼2009-06-27 08:39:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

烂熊邓

金虫 (小有名气)


★ ★ ★ ★
wangen994(金币+4,VIP+0):谢谢分享,鼓励分享代码 6-28 11:30
就是,没做之前就是很简单的,我把我们组的代码可以展现出来大家一起分享一下:
第一个头文件:
#include
#include
using namespace std;

class singer
{int number;
string name;
string  sex;

public:
        float average;
       
        void set();
        void get();
        int get_num()
        { return number;
        }
};

void singer::set()
{cout<<"请输入歌手编号:";
cin>>number;
cout<<"请输入歌手姓名:";
cin>>name;
cout<<"请输入歌手性别:";
cin>>sex;
average=0;
}

void singer::get()
{cout<<"输出歌手编号:"< cout<<"输出歌手姓名:"< cout<<"输出歌手性别:"< }
struct s
{singer x;
struct s *next;
};


第二个头文件:


s* insert(s *p)
{  s *p1;
   p1=new s;
   p->next=p1;
   p1->x.set();
   p1->next=NULL;
   return p1;
}


bool delete1(s *p,int a)
{ s *p1,*p_head;
  p_head=p;
  while(p->next!=NULL&&p->x.get_num()!=a)
  {  p1=p;
          p=p->next;
  }
  if(p->x.get_num()!=a)
  {cout<<"删除错误!"<     else if(p_head->x.get_num()==a)
          {p_head=p_head->next;
      delete(p);return true;}
    else if(p1->next==NULL)
          {delete(p1);p->next=NULL;return true;}
    else
        {p1->next=p->next;
     delete(p);return true;}
}



bool loca(s *p,int x1)
{
  while(p->next!=NULL&&p->x.get_num()!=x1)
  {
     p=p->next;
  }
  if(p->x.get_num()!=x1)
  {cout<<"输入编号错误,查无此人。"<    return false;
  }
  p->x.get();
  return true;
}

bool modify(s *p,int x2)
{
  while(p->next!=NULL&&p->x.get_num()!=x2)
  {
          p=p->next;
  }
  if (p->x.get_num()!=x2)
  {cout<<"输入编号错误,查无此人。"<    return false;}
  p->x.set();
return true;
}

第三个文件:是cpp文件:
#include"1.h"
#include"2.h"


void main()
{
        int i=1,t=1,number; //t表示选手个数
        cout<<"请输入选手个数:";
        cin>>number;
    s  *head,*q,*end;
    cout<<"创建的第"<         q=new s;
        q->x.set();
        head=q;
    head->next=NULL;
        end=q;
        while(t         {cout<<"创建的第"<<++t<<"个歌手的信息。"<          q=new s;
         q->x.set();
         if(head->next==NULL) head->next=q;
         else end->next=q;
         end=q;
   

        }
         end->next=NULL;
       
        s *aver[10]={NULL};
        while(i!=0)
        { cout<<"请选择: 1添加及删除  2查询及修改  3评分  4总排名  5个人成绩 6奖品"<           cout<<"操作4和5必须在评分之后"<          cin>>i;
         int num=0;
         string NO1,NO2,NO3;
          switch(i)
          {case 1:
              int j,y;
                  cout<<"请选择:1添加 2删除 "<                   cin>>j;
                  if(j==1) {end=insert(end);t++;}
                  else if(j==2)
                  {cout<<"请输入将要删除人员的编号。"<            cin>>y;
                   delete1(head,y); t--;}
                  else
                   cout<<"输入选择错误!"<                   break;
           case 2:
                  int a,b,c;
                  cout<<"请选择:1查询  2修改"<                   cin>>a;
                  if(a==1)
                  {cout<<"请输入查询人编号:";
                  cin>>b;
                  loca(head,b);}
                  else if(a==2)
                  {cout<<"请输入修改人编号:";
                  cin>>c;
                  modify(head,c);}
                  else
                   cout<<"输入选择错误!"<                   break;
       case 3:
                  int m,n;
                  s *p_head;
                  float score[10];
                  for(p_head=head;p_head!=NULL;p_head=p_head->next)
                  {
                          cout<<"请输入编号为:第"<x.get_num()<<"位选手成绩。"<                    for(n=0;n<10;n++)
                        {cin>>score[n];
                                if(score[n]<0 || score[n]>100)
                                {cout<<"输入不合法,请重新输入。成绩介于0到100之间。"<                                 cin>>score[n];
                                }
                        }
                   int max,min,t1=0;
                 
                   max=score[0];
                   min=score[0];
                   for(m=0;m<10;m++)
                                {t1=t1+score[m];
                        if(max                                   else if(min>score[m]) min=score[m];
                                }
                   p_head->x.average=(t1-max-min)/8;
                   aver[num++]=p_head;
                   cout<<"编号为:"<x.get_num()<<"的歌手的平均值:"<x.average<                   }
                  break;
     case 4:
                  int m1,n1;
               
              s *p_swap;
                  aver[0]=head;
                  for(m1=1;m1                   {aver[m1]=aver[m1-1]->next;
                  }
              for(m1=0;m1
                  {
                  for(n1=m1+1;n1                  
                    
                          if(aver[m1]->x.averagex.average)
                          {
                        p_swap=aver[m1];
                            aver[m1]=aver[n1];
                            aver[n1]=p_swap;
                          }
                   m1++;
                   cout<<"第"<x.average<<"    歌手编号为:"<x.get_num()<                   }
                  break;
      case 5:
                  int x2;
                  cout<<"查询的歌手编号:";
                  cin>>x2;
                  loca(head,x2);
                  cout<<"该选手成绩:"<x.average<                   break;
          case 6:
                  
                  cout<<"第一名奖品:";
                  cin>>NO1;
                  cout<<"第二名奖品:";
                  cin>>NO2;
                  cout<<"第三名奖品:";
                  cin>>NO3;
                  break;
          default:cout<<"输入分之选择错误!"<           }
        }
}


这已经是调试成功的,你可以试试看;
5楼2009-06-27 22:30:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

烂熊邓

金虫 (小有名气)


嘿嘿,好东西大家一起分享吧;
6楼2009-06-29 12:38:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhougc

木虫 (正式写手)


★★★★★ 五星级,优秀推荐

很好的文章,优秀推荐
7楼2009-06-30 21:29:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fgldn888

金虫 (小有名气)


★★★★★ 五星级,优秀推荐


很好~~~~~~~~~~~~~~~
8楼2011-02-22 15:04:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)


★★★ 三星级,支持鼓励


你是要编一个蓝巨星么?
9楼2011-02-22 19:44:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 烂熊邓 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见