数据结构运动会分数管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<malloc.h>
#include<conio.h>
typedef struct athlete
{
int n; //学院编号
char college[20]; //学院名称
int x; //运动员编号
p=q;
q=(comp)malloc(sizeof(com));
}
p->next=NULL;
}
i=1;
while(i!=0)
{
printf("\n**************************************************************************\n");
while(q!=NULL)
{
ch=q->m;
if(ch%3==0)
{
switch(q->score)
{
case 1:
sum1[(q->n)]=sum1[(q->n)]+5;
if((q->m)<=t)
sum2[(q->n)]=sum2[(q->n)]+5;
else
sum3[(q->n)]=sum3[(q->n)]+5;
else
sum3[(q->n)]=sum3[(q->n)]+1;
break;
}
}
q=q->next;
}
if(step==3 || step==4)
{
printf("\n院编号院总分男总分女总分\n");
fprintf(fpin2,"院编号院总分男总分女总分\n");
for(i=1;i<=k;i++)
printf ("\n\t\t\t 5.查询每个学院在各个项目的成绩\n");
printf ("\n\t\t\t 6.查询在某项目获得名次的学院\n");
printf ("\n\t\t\t 0.退出管理系统\n\n");
printf("**************************************************************************\n");
}
p->next=NULL;
}
//system("cls");
}
if(step==2)
{
printf("\n\n\t\t\t\t请输入运动员信息!\n");
flag=1;
p->next=q;
while(flag==1)
{
fprintf(fpin1,"\n");
printf("\n\t\t\t学院编号:");
for(i=1;i<=k;i++)
{
if(shift<=sum1[i])
{
s=sum1[i];
shift=sum1[i];
sum1[i]=s;
}
}
for(i=1;i<=k;i++)
{Байду номын сангаас
printf("%d \t%d \t%d\n", sum1[i], sum2[i], sum3[i]);
}
}
if(step==4)
sum1[i]=sum1[h];
sum1[h]=b;
v=sum6[i];
sum6[i]=sum6[h];
if((q->m)<=t)
sum2[(q->n)]=sum2[(q->n)]+2;
else
sum3[(q->n)]=sum3[(q->n)]+2;
break;
case 5:
sum1[(q->n)]=sum1[(q->n)]+1;
if((q->m)<=t)
sum2[(q->n)]=sum2[(q->n)]+1;
judge=1;
fclose(fpin1);
fpin1=fopen("运动员.txt","a+");
fscanf(fpin1,"%d %d %d",&k,&t,&w);//读取文件第一排信息
if(judge==1)
{
head=(comp)malloc(sizeof(com));
p=head;
q=(comp)malloc(sizeof(com));
p->next=q;
p=q;
printf("\n是否继续添加运动员信息?\n继续请按1,结束请按0\n请输入:");
scanf("%d", &flag);
q=(comp)malloc(sizeof(com));
}
p->next=NULL;
}
if(step==4 || step==3)
{
q=head->next;
comp q, head, p;
int i, j, step, flag, judge=0, k, w, ch, t, z, proceed, count,e,f,v,y,b,h;
int sum1[21]={0}, sum2[21]={0}, sum3[21]={0}, sum5[42]={0},sum6[101]={0},sum7[101]={0},sum8[101]={0},shift, s; //院总、男总、女总
scanf("%d",&q->n);
printf("\n\t\t\t学院名称:");
scanf("%s",&q->college);
printf("\n\t\t\t运动员编号:");
scanf("%d",&q->x);
printf("\n\t\t\t运动员姓名:");
scanf("%s",&q->name);
printf("\n请输入你要操作的项目:");
scanf("%d",&step);
if(step==0)
break;
if(step==1)
{
fpin1=fopen("运动员.txt","a+");
assert(fpin1);
printf("\n\n\t\t请输入学院个数,男子项目个数,女子项目个数。\n\n");
break;
case 2:
sum1[(q->n)]=sum1[(q->n)]+3;
if((q->m)<=t)
sum2[(q->n)]=sum2[(q->n)]+3;
else
sum3[(q->n)]=sum3[(q->n)]+3;
break;
case 3:
sum1[(q->n)]=sum1[(q->n)]+2;
int sum4[21][21]={0};
system("cls");
printf("\n\n****************************************************************************\n");
printf("\n\t\t\t\t运动会管理系统\n\n");
printf("\n\t\t\t项目编号:");
scanf("%d",&q->m);
printf("\n\t\t\t项目名称:");
scanf("%s",&q->event);
printf("\n\t\t\t名次:");
scanf("%d",&q->score);
fprintf(fpin1,"%d\t%s\t%d\t%s\t%d\t%s\t%d", q->n, q->college, q->x, q->name, q->m, q->event, q->score);
while(fscanf(fpin1,"%d %s %d %s %d %s %d",&q->n,&q->college,&q->x,&q->name,&q->m,&q->event,&q->score) != EOF)
{
p->next=q;
p=q;
q=(comp)malloc(sizeof(com));
sum2[(q->n)]=sum2[(q->n)]+7;
else
sum3[(q->n)]=sum3[(q->n)]+7;
break;
case 2:
sum1[(q->n)]=sum1[(q->n)]+5;
if((q->m)<=t)
sum2[(q->n)]=sum2[(q->n)]+5;
else
sum3[(q->n)]=sum3[(q->n)]+5;
p=head;
q=(comp)malloc(sizeof(com));
while(fscanf(fpin1,"%d %s %d %s %d %s %d",&q->n,&q->college,&q->x,&q->name,&q->m,&q->event,&q->score) != EOF)
{
p->next=q;
break;
case 3:
sum1[(q->n)]=sum1[(q->n)]+3;
if((q->m)<=t)
sum2[(q->n)]=sum2[(q->n)]+3;
else
sum3[(q->n)]=sum3[(q->n)]+3;
break;
case 4:
sum1[(q->n)]=sum1[(q->n)]+2;
if((q->m)<=t)
sum2[(q->n)]=sum2[(q->n)]+2;
else
sum3[(q->n)]=sum3[(q->n)]+2;
break;
}
}
else
{
switch(q->score)
{
case 1:
sum1[(q->n)]=sum1[(q->n)]+7;
if((q->m)<=t)
{
printf("\n学院总分排序。\n\n");
fprintf(fpin2,"\n学院总分排序。\n\n");
for(i=1;i<=k;i++)
{
sum6[i]=i;
}
for(i=1;i<=k;i++)
{
for(h=i+1;h<=k;h++)
{
if(sum1[i]<sum1[h])
{
b=sum1[i];
printf ("\n\t\t\t欢迎进入运动会管理系统\n\n\n");
printf ("\n\t\t\t 1.输入学院、男子、女子数目\n");
printf ("\n\t\t\t 2.输入运动员成绩及信息\n");
printf ("\n\t\t\t 3.查询总分\n");
printf ("\n\t\t\t 4.按总分排序输出\n");
printf("\n\t\t\t\t班级:\n");
printf("\n\n\t\t\t\t制作人:\n");
printf("\n\n\t\t\t\t学号:n\n\n");
printf("*****************************************************************************\n\n");
fclose(fpin1);
fpin1=fopen("运动员.txt", "a+");
assert(fpin1);
fpin2=fopen("总分.txt", "w");
assert(fpin2);
fpin3=fopen("学院各项目成绩.txt", "w");
assert(fpin3);
if(fscanf(fpin1,"%d",&judge)!=EOF)
if(fscanf(fpin1,"%d",&judge)!=EOF)
judge=1;
fclose(fpin1);
fpin1=fopen("运动员.txt","a+");
fscanf(fpin1,"%d %d %d",&k,&t,&w);//读取文件第一排信息
if(judge==1)
{
head=(comp)malloc(sizeof(com));
char name[20]; //运动员姓名
int m; //项目编号
char event[20]; //项目名称
int score; //名次
struct athlete *next; //节点指针
}com,*comp;
int main(void)
{
FILE *fpin1, *fpin2, *fpin3;
system("pause");
system("cls");
fpin1=fopen("运动员.txt","a+");
assert(fpin1);
fpin2=fopen("总分.txt","w");
assert(fpin2);
fpin3=fopen("学院各项目成绩.txt","w");
assert(fpin3);
printf("\n\t\t\t请输入学院个数:");
scanf("%d",&k);
相关文档
最新文档