| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 643 人关注过本帖
标题:程序出错啦,哪位大侠能帮帮忙啊
取消只看楼主 加入收藏
遥忆灵月
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-7-6
收藏
 问题点数:0 回复次数:0 
程序出错啦,哪位大侠能帮帮忙啊
#include <malloc.h>  
#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>  
#define NULL 0
#define MaxSize 30

typedef struct athletestruct /*运动员*/
{
char name[20];  
int score; /*分数*/
int range; /**/
int item; /*项目*/
}ATH;
typedef struct schoolstruct /*学校*/
{
int count; /*编号*/
int serial; /**/  
int menscore; /*男选手分数*/
int womenscore; /*女选手分数*/
int totalscore; /*总分*/
ATH athlete[MaxSize]; /**/
struct schoolstruct *next;  
}SCH;

int nsc,msp,wsp;  
int ntsp;  
int i,j;  
int overgame;  
int serial,range;  
int n;  
SCH *head,*pfirst,*psecond;  
int *phead=NULL,*pafirst=NULL,*pasecond=NULL;  

input ()
{
char answer;  
head = (SCH *)malloc(sizeof(SCH)); /**/
head->next = NULL;
pfirst = head;  
answer = 'y';
while ( answer == 'y' )
{
Is_Game_DoMain:
printf("\nGET Top 5 when odd\nGET Top 3 when even");
printf("\n输入运动项目序号 (x<=%d):",ntsp);
scanf("%d",pafirst);
overgame = *pafirst;
if ( pafirst != phead )
{
for ( pasecond = phead ; pasecond < pafirst ; pasecond ++ )
{
if ( overgame == *pasecond )
{
printf("\n这个项目已经存在请选择其他的数字\n");
goto Is_Game_DoMain;
}
}
}
pafirst = pafirst + 1;
if ( overgame > ntsp )
{
printf("\n项目不存在");
printf("\n请重新输入");
goto Is_Game_DoMain;
}
switch ( overgame%2 )
{
case 0: n = 3;break;
case 1: n = 5;break;
}
for ( i = 1 ; i <= n ; i++ )
{
Is_Serial_DoMain:
printf("\n输入序号 of the NO.%d (0<x<=%d): ",i,nsc);

scanf("%d",&serial);
if ( serial > nsc )  
{
printf("\n超过学校数目,请重新输入");
goto Is_Serial_DoMain;
}
if ( head->next == NULL )  
{
create();
}
psecond = head->next ;  
while ( psecond != NULL )  
{
if ( psecond->serial == serial )
{
pfirst = psecond;
pfirst->count = pfirst->count + 1;
goto Store_Data;
}
else
{
psecond = psecond->next;
}
}
create();
Store_Data:

pfirst->athlete[pfirst->count].item = overgame;
pfirst->athlete[pfirst->count].range = i;
pfirst->serial = serial; ("Input name:) : ");

scanf("%s",pfirst->athlete[pfirst->count].name);
}
printf("\n继续输入运动项目(y&n)?");
answer = getch();
printf("\n");
}
}

calculate() /**/
{
pfirst = head->next;
while ( pfirst->next != NULL )
{
for (i=1;i<=pfirst->count;i++)
{
if ( pfirst->athlete[i].item % 2 == 0 )  
{
switch (pfirst->athlete[i].range)
{
case 1:pfirst->athlete[i].score = 5;break;
case 2:pfirst->athlete[i].score = 3;break;
case 3:pfirst->athlete[i].score = 2;break;
}
}
else  
{
switch (pfirst->athlete[i].range)
{
case 1:pfirst->athlete[i].score = 7;break;
case 2:pfirst->athlete[i].score = 5;break;
case 3:pfirst->athlete[i].score = 3;break;
case 4:pfirst->athlete[i].score = 2;break;
case 5:pfirst->athlete[i].score = 1;break;
}
}
if ( pfirst->athlete[i].item <=msp )  
{
pfirst->menscore = pfirst->menscore + pfirst->athlete[i].score;
}
else  
{
pfirst->womenscore = pfirst->womenscore + pfirst->athlete[i].score;
}
}
pfirst->totalscore = pfirst->menscore + pfirst->womenscore;
pfirst = pfirst->next;
}
}

output()
{
pfirst = head->next;
psecond = head->next;
while ( pfirst->next != NULL )  
{
clrscr();
printf("\n第%d号学校的结果成绩:",pfirst->serial);
printf("\n\n项目的数目\t学校的名字\t分数");
for (i=1;i<=ntsp;i++)  
{
for (j=1;j<=pfirst->count;j++)  
{
if ( pfirst->athlete[j].item == i )
{
  
  
printf("\n %d\t\t\t\t\t\t%s\n %d",i,pfirst->athlete[j].name,pfirst->athlete[j].score);break;
  
}
}
}
printf("\n\n\n\t\t\t\t\t\t按任意建 进入下一页");
getch();
pfirst = pfirst->next;
}
clrscr();
printf("\n运动会结果:\n\n学校编号\t男运动员成绩\t女运动员成绩\t总分");
pfirst = head->next;
while ( pfirst->next != NULL )
{
printf("\n %d\t\t %d\t\t %d\t\t %d",pfirst->serial,pfirst->menscore,pfirst->womenscore,pfirst->totalscore);
pfirst = pfirst->next;
}
printf("\n\n\n\t\t\t\t\t\t\t按任意建结束");
getch();
}

create()
{
  
pfirst = (struct schoolstruct *)malloc(sizeof(struct schoolstruct));
pfirst->next = head->next ;
head->next = pfirst ;
  
pfirst->count = 1;
pfirst->menscore = 0;
pfirst->womenscore = 0;
pfirst->totalscore = 0;
}
void Save()
{FILE *fp;
if((fp = fopen("school.dat","wb"))==NULL)
{printf("can't open school.dat\n");
fclose(fp);
return;
}
fwrite(pfirst,sizeof(SCH),10,fp);
fclose(fp);
printf("文件已经成功保存\n");
}

void main()
{
system("cls");
printf("\n\t\t\t 运动会分数统计\n");
printf("输入学校数目 (x>= 5):");
scanf("%d",&nsc);  
printf("输入男选手的项目(x<=20):");
scanf("%d",&msp);  
printf("输入女选手项目(<=20):");
scanf("%d",&wsp);  
ntsp = msp + wsp;  

phead = calloc(ntsp,sizeof(int *));
pafirst = phead;
pasecond = phead;
input();
calculate();  
output();
Save();
}







E:\C++\MSDev98\MyProjects\1\01.cpp(85) : error C2065: 'create' : undeclared identifier
E:\C++\MSDev98\MyProjects\1\01.cpp(111) : error C2065: 'getch' : undeclared identifier
E:\C++\MSDev98\MyProjects\1\01.cpp(114) : warning C4508: 'input' : function should return a value; 'void' return type assumed
E:\C++\MSDev98\MyProjects\1\01.cpp(155) : warning C4508: 'calculate' : function should return a value; 'void' return type assumed
E:\C++\MSDev98\MyProjects\1\01.cpp(163) : error C2065: 'clrscr' : undeclared identifier
E:\C++\MSDev98\MyProjects\1\01.cpp(193) : warning C4508: 'output' : function should return a value; 'void' return type assumed
E:\C++\MSDev98\MyProjects\1\01.cpp(196) : error C2373: 'create' : redefinition; different type modifiers
E:\C++\MSDev98\MyProjects\1\01.cpp(206) : warning C4508: 'create' : function should return a value; 'void' return type assumed
E:\C++\MSDev98\MyProjects\1\01.cpp(231) : error C2440: '=' : cannot convert from 'void *' to 'int *'
        Conversion from 'void*' to pointer to non-'void' requires an explicit cast
2008-07-06 12:09
快速回复:程序出错啦,哪位大侠能帮帮忙啊
数据加载中...
 
   



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

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