| 查看: 1447 | 回复: 8 | ||
| 【奖励】 本帖被评价5次,作者烂熊邓增加金币 3.15 个 | ||
[资源]
【原创】音乐评分系统之需求分析(我们团队自己写的)
|
||
|
我们队正在开发一个音乐开发系统;我是负责需求分析的;现在和大家一起分享一下我的想法: 需求分析书 —歌唱比赛评分系统(第四组) 一.系统目的: 根据该评分系统得出歌唱比赛中各个选手的分数和排名情况。 二.背景: 1. 该系统名称:歌唱比赛评分系统。 2. 开发者:第四小组所有成员。 3. 用户:歌唱比赛、卡拉OK比赛等。 三.任务: 根据该系统能够对各个歌唱大赛的参赛选手进行考察、评分,实现参赛选手以综合成绩名次选排。规范、系统、公平、公正的评比。 四.功能: 功能一:能够进行选手分数最高分与最低分的去除,求其平均。 功能二:能够判断裁判输入的分数是否错误(分数X-Y)。 例 用户输入的分数不在X-Y之间,则弹出窗口显示输入错误。 功能三:能够对选手的基本信息进行查询和修改。 例 若查询成功则显示,若查无此人则弹出窗口显示查无此人。 功能四:能够进行对选手进行删除和添加。 功能五:能够对参赛选手的成绩进行排名和显示。 功能六:能够调用各个选手的比赛结果。 例 若该选手退出比赛,则弹出窗口显示无此参赛选手。 功能七:能够进行页面显示(显示各个功能模块供用户选择操作) 例 界面显示(1.选手信息查询及修改 2.添加选手 3.删除选手 4.评分 5.显示所有选手成绩及名次 6.名次及成绩查询) 五.数据流图: (这里本来有个数据流程图的但是,图拷不下来)如果你需要的话;我在邮件里发来;我的资料里有我的邮箱; |
» 猜你喜欢
假如你的研究生提出不合理要求
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有27人回复
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
岛津SIL-20(A)自动进样器的维护,进样口位置校正
已经有7人回复
关于液相和气相得系统适用性
已经有4人回复
麦可思对近三年毕业的大学生对毕业半年后的的培养质量和社会需求状况进行全国性研究
已经有218人回复
2楼2009-06-26 18:20:24
3楼2009-06-26 19:30:04
4楼2009-06-27 08:39:07
★ ★ ★ ★
wangen994(金币+4,VIP+0):谢谢分享,鼓励分享代码 6-28 11:30
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<<"输出歌手编号:"< 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<<"删除错误!"< {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<<"输入编号错误,查无此人。"< } 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<<"输入编号错误,查无此人。"< 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->x.set(); head=q; head->next=NULL; end=q; while(t 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奖品"< int num=0; string NO1,NO2,NO3; switch(i) {case 1: int j,y; cout<<"请选择:1添加 2删除 "< if(j==1) {end=insert(end);t++;} else if(j==2) {cout<<"请输入将要删除人员的编号。"< delete1(head,y); t--;} else cout<<"输入选择错误!"< case 2: int a,b,c; cout<<"请选择:1查询 2修改"< if(a==1) {cout<<"请输入查询人编号:"; cin>>b; loca(head,b);} else if(a==2) {cout<<"请输入修改人编号:"; cin>>c; modify(head,c);} else cout<<"输入选择错误!"< case 3: int m,n; s *p_head; float score[10]; for(p_head=head;p_head!=NULL;p_head=p_head->next) { cout<<"请输入编号为:第"< {cin>>score[n]; if(score[n]<0 || score[n]>100) {cout<<"输入不合法,请重新输入。成绩介于0到100之间。"< } } int max,min,t1=0; max=score[0]; min=score[0]; for(m=0;m<10;m++) {t1=t1+score[m]; if(max } p_head->x.average=(t1-max-min)/8; aver[num++]=p_head; cout<<"编号为:"< break; case 4: int m1,n1; s *p_swap; aver[0]=head; for(m1=1;m1 } for(m1=0;m1 { for(n1=m1+1;n1 if(aver[m1]->x.average { p_swap=aver[m1]; aver[m1]=aver[n1]; aver[n1]=p_swap; } m1++; cout<<"第"< break; case 5: int x2; cout<<"查询的歌手编号:"; cin>>x2; loca(head,x2); cout<<"该选手成绩:"< case 6: cout<<"第一名奖品:"; cin>>NO1; cout<<"第二名奖品:"; cin>>NO2; cout<<"第三名奖品:"; cin>>NO3; break; default:cout<<"输入分之选择错误!"< } } 这已经是调试成功的,你可以试试看; |
5楼2009-06-27 22:30:30
6楼2009-06-29 12:38:34
7楼2009-06-30 21:29:33
8楼2011-02-22 15:04:18
9楼2011-02-22 19:44:07












回复此楼