读书人

运动会比赛计分系统,该如何解决

发布时间: 2012-02-04 15:43:09 作者: rapoo

运动会比赛计分系统
原题是这样的:
运动会比赛计分系统
要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数
各项目名次取法有如下几种:
取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;
功能要求:
(1)系统以菜单方式工作
(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。
(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩
(4)查看参赛学校信息和比赛项目信息等。

我自己写了一部分,但是最重要的中间那个环节一点头绪都没有,有没有人指点一下应该怎么做?
注:不要源代码,只是想知道怎么做这道题的思想,希望可以详细的说明一下步骤,谢谢大家啦。

下面是我写的一部分简单的部分~
#include <stdio.h>
#include<stdlib.h>
void main()
{
void sum();
void msum();
void wsum();
void end1();
void wayA();
void wayB();

char s;

//主菜单
printf("\n");
printf("\t\t* * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("\t\t* *\n");
printf("\t\t* 欢迎使用比赛计分系统 *\n");
printf("\t\t* *\n");
printf("\t\t* * * * * * * * * * * * * * * * * * * * * * * * *\n");


printf("\n\n");
printf("\t\t N:参赛学校总数\n\n");
printf("\t\t M:男子竞赛项目数\n\n");
printf("\t\t W:女子竞赛项目数\n\n");
printf("\t\t O:退出数目输入\n\n");

printf("请输入N,M,O,W:");
scanf("%s",&s);
while(s!='0')
{
switch(s)
{
case 'O':end1();break;
case 'N':sum();break;
case 'M':msum();break;
case 'W':wsum();break;
}
printf("\n请输入O,N,M,W:");
scanf("%s",&s);
}
}

void sum()//接受用户输入参赛学校总数值
{ int x;
printf("\n请输入参赛学校总数:\n");
scanf("%d",&x);
printf("参加本次运动会的学校为%d\n\n",x);

}

void msum()//接受用户输入男子竞赛项目数
{ int y;
printf("\n请输入男子竞赛项目数:\n");
scanf("%d",&y);
printf("男子竞赛项目数为%d\n\n",y);
}

void wsum()//接受用户输入女子竞赛项目数
{ int z;
printf("\n请输入女子竞赛项目数:\n");
scanf("%d",&z);
printf("女子竞赛项目数为%d\n\n",z);
}

void wayA()
{
//这个地方就是第一种计分方式的具体过程
}

void wayB()
{
//这个地方就是第二种计分方式的具体过程
}



void end1()
{

char i;
printf("\n\n\n请选择以下两种评分标准:\n");
printf("\n");
printf("\n");
printf("请输入A,B:");
scanf("%s",&i);
while(i!='0')
{
switch(i)
{
case 'A':wayA();exit(0);
case 'B':wayB();exit(0);
}
}
}



上面这段程序也请帮忙检查一下吧,这一段程序是可以运行的。但是....后面的就不会了~

[解决办法]
帮顶一个!
[解决办法]
看样子你是不清楚数据怎样存储和函数间的参数传递 把所以函数都要用的变量设为全局变量 这样其他函数就都可以调用
[解决办法]
会链表不?

C/C++ code
struct Sport{    int SpoNo;          //项目号码            char SpoName[10]; //项目名称    char Sex;          //项目类别    int FirstNo;      //第一命学校编号    int SecondNo;     //...    int ThirdNo;      //...    int FouthNo;    int FifthNo;}struct School{    int SchNo;    int SchNme;    .....//学校具体信息}int main(){    struct Sport *head;    head=creat();    ......    return 0;}}
[解决办法]
其他所以函数都是围绕这这两个链表来转的 明白?

------解决方案--------------------


我觉得你可以用结构数组来储存每个学校的数据,每个结构体里面有有4个数组,分别表示该学校男生项目女生项目及其他们对应的分数;
不知道能否对你有所帮助!

[解决办法]
其实。。我觉得C语言编的系统里面。。学生管理系统是最经典的。。。哈哈!!!。。。参考下它。。。。数据的存储可以用文件来实现。。。
[解决办法]

探讨

会链表不?
C/C++ code

struct Sport
{
int SpoNo; //项目号码号码
char SpoName[10]; //项目名称
char Sex; //项目类别
int FirstNo; //第一命学校编号
int SecondNo; //...
……

读书人网 >C++

热点推荐