标题:比赛记分问题
只看楼主
luo113927
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2006-3-15
 问题点数:0 回复次数:3 
比赛记分问题

有N个学校,M个男子项目和W个女子项目,记录它们的比赛得分
其中男子项目编号为1~M,女子项目为M+1~M+W;
之后输出结果..................................................................有很多错误,请大家帮忙找找


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define M 5;
#define W 5;
#define N 5;

void input ( struct S_chool *p, int xm );
void putschool ( struct S_chool *p ); /*输出一学校各个项目的得分*/
void puttotal ( struct S_chool *p ); /*输出各个学校的总成绩*/

struct S_chool
{
struct X_iangmu
{
int mingci, scores;
char name[20];}xiangmu[M+W+1];
int malescores, femalescores, total;}school[N+1];

void main()
{
int i, xm;
for( ; ; )
{
printf ("请选择你所想要的功能:\n 0:退出;1:输入数据;2:输出数据;\n");
scanf ("%d",&i);

if(0==i) break;

switch( i )
{
case 1:{
printf ("请输入该项目编号\n");
scanf ("%d",&xm);
input (school, xm);
break;
}
case 2:{
printf ("请选择你所哦想要的功能:\n1:输出一学校成绩;2:输出团体总分报表;\n");
scanf ("%d",&i);

if( 1==i )
{
putschool ( school );
}
else if( 2==i )
{
puttotal ( school );
}
else
{
printf("错误的输入\n");
break;
}
}
default:{
printf("错误的选择输入.\n");
break;
}
}
}
}

void input( struct S_chool *p, int xm )
{
int xx;
printf("请输入学校编号:\n");
scanf ("%d",&xx);
printf("请输入名次:\n");
scanf ("%d",&p[xx].xiangmu[xm].mingci);
printf("请输入该选手姓名:\n");
scanf ("%s",p[xx].xiangmu[xm].name);
printf("请输入该选手得分:\n");
scanf ("%d",&p[xx].xiangmu[xm].scores);
}

void putschool( struct S_chool *p )
{
int xx, xm;
printf("请输入所查询学校的编号:\n");
scanf("%d",&xx);
printf("该学校的成绩如下:\n\n");
for( xm=1; xm <= W+M; xm++ )
{
printf("%d %d %s %d\n\n",xm, p[xx].xiangmu[xm].mingci, p[xx].xiangmu[xm].name, p[xx].xiangmu[xm].scores);
}
}

void puttotal( struct S_chool *p )
{
int xx, xm;
printf("以下是所有学校的男团,女团和总体成绩:\n\n");
for( xx=1; xx <= N; xx++)
{
for( xm=1; xm <= M; xm++ )
p[xx].malescores+=p[xx].xiangmu[xm].scores;
for( j=M+1; j <= M+W; j++ )
p[xx].femalescores+=p[xx].miangmu[xm].scores;

p[xx].total=p[xx].malescores+p[xx].femalescores;
printf("%d %d %d",p[xx].malescores, p[xx].femalescores, p[xx].total);
}
}

搜索更多相关主题的帖子: void 记分 define include 项目 
2006-04-03 18:07
偶成
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-3-4
得分:0 
我只是改了你语法错误,你编程的思路没具体看...
1 #define N 5; 这里的分号可以去掉.
2 for( j=M+1; j <= M+W; j++ ) 这里的j在函数理没定义.
3 p[xx].femalescores+=p[xx].miangmu[xm].scores; 黑体字部分要改成
xiangmu

几年前,丢失了求知欲,游荡在游戏世界中. 而今寻找回了求知欲,希望通过自学充实自己.努力中...
2006-04-03 19:14
luo113927
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2006-3-15
得分:0 

谢了

楼上的,居然又是这些语法错误

我查了N遍也没查出来,太粗心了

2006-04-03 20:20
美丽心情
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-3-27
得分:0 

以下是我的愚见,不当之处请见谅!
(1)
#define M 5
#define W 5
#define N 5
不能有分号!

(2)
函数void puttotal( struct S_chool *p )中没有定义变量j;
(3)
运行结果如下:
请选择你所想要的功能:
0:退出;1:输入数据;2:输出数据;
1
请输入该项目编号
1
请输入学校编号:
1
请输入名次:
1
请输入该选手姓名:
jin
请输入该选手得分:
89
请选择你所想要的功能:
0:退出;1:输入数据;2:输出数据;
2
请选择你所哦想要的功能:
1:输出一学校成绩;2:输出团体总分报表;
2
以下是所有学校的男团,女团和总体成绩:

89 0 890 0 00 0 00 0 00 0
0错误的选择输入.
请选择你所想要的功能:
0:退出;1:输入数据;2:输出数据;
2
请选择你所哦想要的功能:
1:输出一学校成绩;2:输出团体总分报表;
1
请输入所查询学校的编号:
1
该学校的成绩如下:

1 1 jin 89

2 0 0

3 0 0

4 0 0

5 0 0

6 0 0

7 0 0

8 0 0

9 0 0

10 0 0

错误的选择输入.
请选择你所想要的功能:
0:退出;1:输入数据;2:输出数据;
0
Press any key to continue

(4)
好象结果不尽人意,还有一些逻辑问题吧?你再自己看看咯,OK?


做一名C程序员怎么样?
2006-04-04 09:06



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




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

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