⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档 (5).txt

📁 运动会的数据结构代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:
} while(err==_FALSE); 
g_sport.nTotalNmOfFSprt=W;  /*女子项目总数*/ 

for(i=0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++) 
{ 
g_sport.sportInfoArray[i].sportNum=i+1;/*项目编号*/ 
 
 
  
 作者: 60.174.136.* 2007-1-13 18:21   回复此发言    
 
--------------------------------------------------------------------------------
 
6 回复:数据结构课程设计及报告  
 
/*项目类型:男子或女子项目*/ 
if (i+1<=M) { 
g_sport.sportInfoArray[i].sprtTyp=_MAN; 
} 
else{ 
g_sport.sportInfoArray[i].sprtTyp=_WOMAN; 
} 

system("cls"); 
/*项目名称*/ 
printf("\n请输入编号为%d的竞赛项目名称:",i+1); 
scanf("%s",g_sport.sportInfoArray[i].sportName); 
g_sport.sportInfoArray[i].sportName[MAXLENGTH-1]='\0';  

SetScoreType(i); 
} 
return _TRUE; 
} 
/************************************************************************/ 
/* 设置学校总数 */ 
/************************************************************************/ 
Bool SetSchoolTotalNum(int* pnTotalNmOfSch) 
{ 
Bool ret=_FALSE; 
if (pnTotalNmOfSch==NULL) { 
return _FALSE; 
} 
while (ret==_FALSE) { 
system("cls"); 
printf("\n--------- ----------- ------------- -------"); 
printf("\n请输入参加运动会的学校总数:"); 
scanf("%d",pnTotalNmOfSch); 
if (*pnTotalNmOfSch<=0||*pnTotalNmOfSch>MAX_N) { 
printf("\n学校总数必须大于0小于%d\n",MAX_N); 
printf("\n\n按任意健继续"); 
getch(); 
ret=_FALSE; 
} 
else 
ret=_TRUE; 
} 
return _TRUE; 
} 
/************************************************************************/ 
/* 填充参赛学校信息 */ 
/************************************************************************/ 
Bool SetSchoolInfo(int* pnTotalNmOfSch) 
{ 
int i=0; 
if (!SetSchoolTotalNum(pnTotalNmOfSch)) { 
printf("\nerr!"); 
return _FALSE; 
} 
else{ 
g_school.nTotalNmOfSch=*pnTotalNmOfSch; 
for(i=0;i<g_school.nTotalNmOfSch;i++) 
{ 
g_school.schInfoArray[i].SchoolNum=i+1; 
printf("\n请输入编号为%d的学校名称:",i+1); 
scanf("%s",g_school.schInfoArray[i].schoolName); 
g_school.schInfoArray[i].schoolName[MAXLENGTH-1]='\0';/*截断多余字符*/ 
} 
} 
return _TRUE; 
} 
/************************************************************************/ 
/* 打印参赛学校信息 */ 
/************************************************************************/ 
Bool GetSchoolInfo() 
{ 
int i=0; 
printf("\n共有%d个学校参赛",g_school.nTotalNmOfSch); 
for(i=0;i<g_school.nTotalNmOfSch;i++) 
{ 
printf("\n学校编号:%d",g_school.schInfoArray[i].SchoolNum); 
printf(" 校名:%s",g_school.schInfoArray[i].schoolName); 
} 
return _TRUE; 
} 

/************************************************************************/ 
/*为某个竞赛项目设定比赛结果信息 */ 
/************************************************************************/ 
void SetPositionForOneSport(int sportNum/*项目编号-1*/) 
{ 
int i=0,j=0; 
Bool err=_FALSE; 
printf("\n--------- ------------ --------- ------"); 
printf("\n填写项目%d的比赛结果",sportNum+1); 
for(i=0;i<g_sport.sportInfoArray[sportNum].scrInfo.total;i++) 
{ 
ptrNew=(pPosition)malloc(LEN); 
if (ptrHead==(pPosition)NULL) 
{ 
ptrHead=ptrThis=ptrNew; 
} 
else 
{ 
ptrThis=ptrHead; 
while (ptrThis->ptrNext!=(pPosition)NULL) 
{ 
ptrThis=ptrThis->ptrNext; 
} 
ptrThis->ptrNext=ptrNew; 
ptrThis=ptrNew; 
} 
/*项目编号*/ 
ptrThis->sportNum=sportNum+1; 
printf("\n输入获得第%d名的学生信息",i+1); 
/*姓名*/ 
printf("\n姓名:"); 
 
 
  
 作者: 60.174.136.* 2007-1-13 18:21   回复此发言    
 
--------------------------------------------------------------------------------
 
7 回复:数据结构课程设计及报告  
 scanf("%s",ptrThis->name); 

/*学校编号*///检查编号合法性 
do { 
printf("\n学校编号:"); 
scanf("%d",&ptrThis->schoolNum); 
if (ptrThis->schoolNum<=0||ptrThis->schoolNum>g_school.nTotalNmOfSch) { 
printf("\n学校编号必须大于0小于等于%d",g_school.nTotalNmOfSch); 
err=_FALSE; 
} 
else 
{ 
err=_TRUE; 
} 
} while(err==_FALSE); 

/*名次*/ 
ptrThis->score=i+1; 
ptrThis->ptrNext=(pPosition)NULL; 
} 
} 
/************************************************************************/ 
/* 填充所有竞赛项目结果信息 */ 
/************************************************************************/ 
void SetPositionForAllSports() 
{ 
int i=0; 
for(i=0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++) 
{ 
system("cls"); 
SetPositionForOneSport(i); 
} 
return; 
} 
/************************************************************************/ 
/* 根据竞赛项目编号获得对应项目名称 */ 
/************************************************************************/ 
char* GetSportName(int sportNum) 
{ 
int i=0; 
for(i=0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++) 
{ 
if (sportNum==g_sport.sportInfoArray[i].sportNum) { 
break; 
} 
} 
if (i==g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt) { 
return NULL; 
} 
return g_sport.sportInfoArray[i].sportName; 
} 
/************************************************************************/ 
/*获取指定竞赛项目的某一名次所对应的分值 */ 
/************************************************************************/ 
int GetPower(int sportNum/*项目编号*/,int score/*名次*/) 
{ 
int i=0; 
for(i=0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++) 
{ 
if (sportNum==g_sport.sportInfoArray[i].sportNum) { 
break; 
} 
} 
if (i==g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt) { 
return (int)-1; 
} 
return g_sport.sportInfoArray[i].scrInfo.power[score-1]; 
} 

/************************************************************************/ 
/* 按学校打印成绩 */ 
/************************************************************************/ 
void GetScoreBySchool() 
{ 
int schnum;/*学校编号*/ 
if (g_school.nTotalNmOfSch<=0) 
{ 
printf("\n没有学校参加比赛"); 
return; 
} 
printf("\n请输入您想查询的学校编号:"); 
scanf("%d",&schnum); 

if (schnum>g_school.nTotalNmOfSch||schnum<=0)  
{ 
printf("\n学校编号必须大于0小于等于%d",g_school.nTotalNmOfSch); 
return; 
} 

if(ptrHead==(pPosition)NULL) 
{ 
printf("\n没有比赛结果"); 
return; 
} 

ptrThis=ptrHead; 
printf("\n学校编号:%d 校名:%s",schnum,g_school.schInfoArray[schnum-1].schoolName); 
printf("\n\n 项目号 项目名称 名次 姓名 得分"); 
printf("\n ---------- --------------- ---- ---------------- ----"); 
do { 
if (ptrThis->schoolNum==schnum)  
{ 
printf("\n%5d",ptrThis->sportNum);/*项目号*/ 
printf("%20s",GetSportName(ptrThis->sportNum));/*项目名称*/ 
printf("%5d",ptrThis->score);/*名次*/ 
printf("%20s",ptrThis->name);/*姓名*/ 
printf("%5d",GetPower(ptrThis->sportNum,ptrThis->score)); 
} 
ptrThis=ptrThis->ptrNext; 
} while(ptrThis!=(pPosition)NULL); 
 
 
  
 作者: 60.174.136.* 2007-1-13 18:21   回复此发言    
 
--------------------------------------------------------------------------------
 
8 回复:数据结构课程设计及报告  
 } 
/************************************************************************/ 
/* 生成报表 */ 
/************************************************************************/ 
void GetReport() 
{ 
int i,j,manTotal=0,womTotal=0,Total=0;/*男子团体总分,女子团体总分,团体总分*/ 

if(ptrHead==(pPosition)NULL) 
{ 
printf("\n没有比赛结果"); 
return; 
} 
ptrThis=ptrHead; 

printf("\n团体总分报表:"); 
printf("\n\n学校编号 学校校名 男子团体总分 女子团体总分 团体总分"); 
printf("\n--------- ---------------- ------------- ----------- -----------"); 
for(i=0;i<g_school.nTotalNmOfSch;i++) 
{ 
manTotal=0;womTotal=0;Total=0; 
ptrThis=ptrHead; 
do { 
if(ptrThis->schoolNum==g_school.schInfoArray[i].SchoolNum)/*同一学校*/ 
{ 
for(j=0;j<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;j++) 
{ 
if (ptrThis->sportNum==g_sport.sportInfoArray[j].sportNum) {/*某一竞赛项目*/ 
if (g_sport.sportInfoArray[j].sprtTyp==_MAN) { 
manTotal+=g_sport.sportInfoArray[j].scrInfo.power[ptrThis->score-1]; 
} 
else{ 
womTotal+=g_sport.sportInfoArray[j].scrInfo.power[ptrThis->score-1]; 
} 
} 
} 
} 
ptrThis=ptrThis->ptrNext; 
} while(ptrThis!=(pPosition)NULL); 
Total+=manTotal+womTotal; 
printf("\n%5d",g_school.schInfoArray[i].SchoolNum); 
printf("%20s",g_school.schInfoArray[i].schoolName); 
printf("%10d",manTotal); 
printf("%15d",womTotal); 
printf("%15d\n",Total); 
} 
} 
/************************************************************************/ 
/* 打印竞赛项目信息 */ 
/************************************************************************/ 
void GetSportInfo() 
{ 
int i,j; 
system("cls"); 
printf("\n您输入的比赛项目信息如下:"); 
printf("\n----- -------- ------- -------"); 
for(i=0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++) 
{ 
printf("\n项目编号:%d 项目名称:%s",g_sport.sportInfoArray[i].sportNum,GetSportName(g_sport.sportInfoArray[i].sportNum)); 
for(j=0;j<g_sport.sportInfoArray[i].scrInfo.total;j++) 
{ 
printf("\n 第%d名 得分:%d",j+1,g_sport.sportInfoArray[i].scrInfo.power[j]); 
} 
} 
printf("\n按任意键继续"); 
getch(); 
} 
/************************************************************************/ 
/* 打印名次链表信息 */ 
/************************************************************************/ 
void GetList() 
{ 
int i=0,j; 
int n=0; 
if(ptrHead==(pPosition)NULL) 
{ 
printf("\n没有比赛结果"); 
return; 
} 
ptrThis=ptrHead; 
do { 
printf("\n第%d个结点:",n++); 
for(i=0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++) 
{ 
if (ptrThis->sportNum==g_sport.sportInfoArray[i].sportNum) { 
break; 
} 
} 
if (i==g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt) { 
return; 
} 
printf("\n 项目编号:%d",ptrThis->sportNum); 
for(j=0;j<g_sport.sportInfoArray[i].scrInfo.total;j++) 
{ 
printf("\n名次:%d 分值%d",j+1,g_sport.sportInfoArray[i].scrInfo.power[j]); 
} 
ptrThis=ptrThis->ptrNext; 
} while(ptrThis!=(pPosition)NULL); 

} 
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -