• 大小: 643KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: C/C++
  • 标签: 数据结构  

资源简介

运动会管理系统,C语言,数据结构,队列

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#define Max 50

//项目管理及安排
typedef struct arcnode
{
int adjvex;
struct arcnode *next;
}ArcNode;

//运动员
typedef struct faculty
{
char fa[50];
int all;
}Faculty;

typedef struct player
{
char name[20];
char yx[50];
char num[10];
int mark;
struct player *next;
}Player;

typedef struct match
{
char name[20];
char place[30];
int usetime;
int num;
int in;
Player *data;
ArcNode *next;
}Match;

typedef struct algraph
{
Match adjlist[Max];
int matchnum;
int arcnum;
}AlGraph;

typedef struct
{
int elem[Max];
int top;
int stacksize;
}Stack;

//项目管理及排序
void initStack(Stack *S)
{
S->top=-1;
S->stacksize=Max;
}

void push(Stack *Sint p)
{
if(S->topstacksize-1)
{
S->top++;
S->elem[S->top]=p;
}
}

void pop(Stack *Sint *p)
{
if(S->top!=-1)
{
*p=S->elem[S->top];
S->top--;
}
}

int empty(Stack S)
{
if(S.top==-1)
return 1;
else return 0;
}

void read(AlGraph *G)
{
     FILE *fp*fp1;
 ArcNode *s;
 Player p;
 s=(ArcNode *)malloc(sizeof(ArcNode));
 int i=0jxy;
 if ((fp=fopen(“项目.txt““r“))==NULL)
 {  
 printf(“打开文件错误! “);
 return;
 }
 while(fscanf(fp“%s %s%d%d“G->adjlist[i].nameG->adjlist[i].place&G->adjlist[i].usetime&G->adjlist[i].num)==4)
 {
 i++;
 }
 G->matchnum=i;
 for(j=0;j<=i;j++)
 {
G->adjlist[j].next=NULL;
G->adjlist[j].data=NULL;
 }
 if ((fp1=fopen(“决赛.txt““r“))==NULL)
 {  
 printf(“打开文件错误! “);
 return;
 }
 i=0;
 while(fscanf(fp1“%d%d“&x&y)==2)
 {
s=(ArcNode *)malloc(sizeof(ArcNode));
s->adjvex=y-1;
s->next=G->adjlist[x-1].next;
G->adjlist[x-1].next=s;
i++;
 }
 G->arcnum=i+1;
 fclose(fp1);
}

void save(AlGraph *G)//保存
{
FILE *fp*fp1;
ArcNode *p;
int i=0k=0;;
fp=fopen(“项目““w“); 
while(imatchnum)
{
fprintf(fp“%s  %s  %d  %d“G->adjlist[i].nameG->adjlist[i].placeG->adjlist[i].usetimeG->adjlist[i].num);
i++;
}
fclose(fp);
fp1=fopen(“决赛““w“); 
while(kmatchnum)
{
if(G->adjlist[k].next!=NULL)
{
p=G->adjlist[k].next;
while(p)
{
fprintf(fp1“%d %d“k+1p->adjvex);
p=p->next;
}
}
k++;
}
fclose(fp1);
}

//计算顶点入度
void FindiInDegree(AlGraph *G)
{
int ki;
ArcNode *p;
for(k=0;kmatchnum;k++)
{
G->adjlist[k].in=0;
for(i=0;imatchnum;i++)
{
p=G->adjlist[i].next;
while(p)
{
if(p->adjvex==k)
(G->adjlist[k].in)++;
p=p->next;
}
}
}
}



//求拓扑序列
int TopologicalSort(AlGraph Gint index[])
{
Stack s;
int count=0ikwx[10];
ArcNode *p;
FindiInDegree(&G);
initStack(&s);
for(i=0k=0;i if(G.adjlist[i].in==0)
{
x[k++]=i;
push(&si);
}

while(!empty(s))
{
pop(&s&i);
index[count++]=i;
w=0;
for(p=G.adjlist[i].next;p;p=p->next)
{
k=p-

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-01-12 15:18  运动会管理系统\
     文件       10298  2015-07-14 21:40  运动会管理系统\Cpp1.cpp
     文件        3377  2015-07-14 21:32  运动会管理系统\Cpp1.dsp
     文件         516  2015-07-14 21:32  运动会管理系统\Cpp1.dsw
     文件       41984  2015-07-14 21:40  运动会管理系统\Cpp1.ncb
     文件       48640  2015-07-14 21:40  运动会管理系统\Cpp1.opt
     文件         744  2015-07-14 21:40  运动会管理系统\Cpp1.plg
     目录           0  2015-12-10 16:44  运动会管理系统\Debug\
     文件      213055  2015-07-14 21:40  运动会管理系统\Debug\Cpp1.exe
     文件      252388  2015-07-14 21:40  运动会管理系统\Debug\Cpp1.ilk
     文件       33377  2015-07-14 21:40  运动会管理系统\Debug\Cpp1.obj
     文件      230472  2015-07-14 21:32  运动会管理系统\Debug\Cpp1.pch
     文件      566272  2015-07-14 21:40  运动会管理系统\Debug\Cpp1.pdb
     文件      258113  2015-07-15 10:30  运动会管理系统\Debug\source.exe
     文件      296840  2015-07-15 10:30  运动会管理系统\Debug\source.ilk
     文件      171354  2015-07-15 10:30  运动会管理系统\Debug\source.obj
     文件      228296  2015-07-14 22:51  运动会管理系统\Debug\source.pch
     文件      525312  2015-07-14 22:51  运动会管理系统\Debug\source.pdb
     文件       41984  2016-01-12 15:17  运动会管理系统\Debug\vc60.idb
     文件       53248  2015-07-14 22:51  运动会管理系统\Debug\vc60.pdb
     文件          13  2015-07-15 10:40  运动会管理系统\manager1.txt
     文件          15  2015-07-15 10:39  运动会管理系统\manager2.txt
     文件        7292  2015-07-12 14:06  运动会管理系统\password.h
     文件       10551  2015-07-12 14:30  运动会管理系统\project.h
     文件         831  2015-07-15 10:20  运动会管理系统\project.txt
     文件       23471  2015-07-13 23:38  运动会管理系统\score.h
     文件        1665  2015-07-15 10:34  运动会管理系统\score.txt
     文件       12882  2015-07-12 11:52  运动会管理系统\source.cpp
     文件        3401  2015-07-15 10:10  运动会管理系统\source.dsp
     文件         520  2015-07-15 11:34  运动会管理系统\source.dsw
     文件       50176  2016-01-12 15:18  运动会管理系统\source.ncb
............此处省略8个文件信息

评论

共有 条评论