学生运动会管理系统

更新时间:2023-06-04 06:26:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一个关于才c语言和数据结构的系统

源代码:
#define Max 11 //student.h
struct Project
{
int Fifty_Meter;
int One_Handred_Meter;
int Two_Handred_Meter;
int Four_Handred_Meter;
int OneThousan_Five_Handred_Meter;
int High_Jump;
int Long_Jump;
int Javelin; //标枪
int Shot_Put; //铅球
int Discus; //铁饼
int total; //总分
}Boy,Girl;
struct Facu_type
{
char Faculty_num[Max];
struct Project Boy;
struct Project Girl;
int Faculty_total;
};
typedef struct Facu_type Faculty;
int main();
void Openfile(Faculty Buffer[],int n);//载入模块
void Input(); //输入函数
void Output(); //输出函数
void Xiugai(); //修改函数
void Paixu(); //排序函数
void Search(); //查找函数
FILE *fp;
int N;//学院的个数


#include <stdio.h> //main.c
#include <stdlib.h>
#include <string.h>
#include "student.h"
int main()
{

int i;
printf("\t欢迎使用该管理系统,如果你第一次使用该系统,请先输入信息再查看\n\t其他选项\n\t\t你的信息存储在D:\\Buffer.dat中\n");
do
{
printf("\n\t*********************************\n");
printf("\t*\t1.输入信息\t\t*\n");
printf("\t*\t2.输出信息\t\t*\n");
printf("\t*\t3.修改信息\t\t*\n");
printf("\t*\t4.排序查看\t\t*\n");
printf("\t*\t5.查找信息\t\t*\n");
printf("\t*\t0.退出系统\t\t*\n");
printf("\t*********************************\n");
printf("请在0~5之间选择:");
scanf("%d",&i);
switch(i)
{
case 1:Input();
break;
case 2:Output();
break;
case 3:Xiugai();
break;
case 4:Paixu();
break;
case 5:Search();
break;
}
}while(i!=0);
return 0;
}




#include <stdio.h> //Openfile.c
#include <stdlib.h>
#include <string.h>
#include "student.h"
void Openfile(Faculty Buffer[],int n)
{
int i;
if((fp=fopen("Student.dat","r"))==NULL)
{
printf("文件打开出错\n");
}
else
{
for(i=0;i<n;i++)
{
fread(&Buffer[i],sizeof(Faculty),1,fp);
}
}
fclose(fp);
}



#include <stdio.h> //Input.c
#include <stdlib.h>
#include <string.h>
#include "student.h"
void Input()
{
Faculty A[Max];
int i;
int chose;
do
{
if((fp=fopen("Student.dat","wb+"))==NULL)
{
printf("文件打开出错\n");
return ;
}
printf("请输入学院的数目(学院总个数不大于十个):");
scanf("%d",&N);
for(i=0;i< N;i++)
{
printf("请输入第%d个学校编号(如001、002))\n",i+1);
scanf(&
quot;%s",A[i].Faculty_num);
printf("请依次输入第%d个学院男子团体的成绩\n",i+1);
printf("1.50米 2.100米 3.200米 4.400米 5.1500米\n6.跳高 7.跳远

一个关于才c语言和数据结构的系统

8.标枪 9.铅球 10.铁饼\n");
scanf("%d%d%d%d%d%d%d%d%d%d",&A[i].Boy.Fifty_Meter,&A[i].Boy.One_Handred_Meter,
&A[i].Boy.Two_Handred_Meter,&A[i].Boy.Four_Handred_Meter,&A[i].Boy.OneThousan_Five_Handred_Meter,
&A[i].Boy.High_Jump,&A[i].Boy.Long_Jump,&A[i].Boy.Javelin,&A[i].Boy.Shot_Put,
&A[i].Boy.Discus);
A[i].Boy.total=A[i].Boy.Fifty_Meter+A[i].Boy.One_Handred_Meter+
A[i].Boy.Two_Handred_Meter+A[i].Boy.Four_Handred_Meter+A[i].Boy.OneThousan_Five_Handred_Meter
+A[i].Boy.High_Jump+A[i].Boy.Long_Jump+A[i].Boy.Javelin+A[i].Boy.Shot_Put+A[i].Boy.Discus;
A[i].Boy.Discus;
printf("请依次输入第%d个学院女子团体的成绩\n",i+1);
printf("1.50米 2.100米 3.200米 4.400米 5.1500米\n6.跳高 7.跳远 8.标枪 9.铅球 10.铁饼\n");
scanf("%d%d%d%d%d%d%d%d%d%d",&A[i].Girl.Fifty_Meter,&A[i].Girl.One_Handred_Meter,
&A[i].Girl.Two_Handred_Meter,&A[i].Girl.Four_Handred_Meter,&A[i].Girl.OneThousan_Five_Handred_Meter,
&A[i].Girl.High_Jump,&A[i].Girl.Long_Jump,&A[i].Girl.Javelin,&A[i].Girl.Shot_Put,
&A[i].Girl.Discus);
A[i].Girl.total=A[i].Girl.Fifty_Meter+A[i].Girl.One_Handred_Meter+
A[i].Girl.Two_Handred_Meter+A[i].Girl.Four_Handred_Meter+A[i].Girl.OneThousan_Five_Handred_Meter
+A[i].Girl.High_Jump+A[i].Girl.Long_Jump+A[i].Girl.Javelin+A[i].Girl.Shot_Put+A[i].Girl.Discus;
A[i].Girl.Discus;
A[i].Faculty_total=A[i].Boy.total+A[i].Girl.total;
fwrite(&A[i],sizeof(Faculty),1,fp);
}
fclose(fp);
printf("按'0'键返回上层菜单\n");
scanf("%d",&chose);
}while(chose!=0);
}



#include <stdio.h> //Output.c
#include <stdlib.h>
#include <string.h>
#include "student.h"
void Output()
{
int i;
int chose;
Faculty B[Max];
Openfile(B,Max);//载入文件
do
{

for(i=0;i<N;i++)
{

printf("学院编号:\t总成绩:\n");
printf("%s\t%d",B[i].Faculty_num,B[i].Faculty_total);
printf("\n男子团体\n");
printf("50米 100米 200米 400米 1500米 跳高 跳远 标枪 铅球 铁饼 男子总分 \n");
printf("%d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",B[i].Boy.Fifty_Meter,B[i].Boy.One_Handred_Meter,
B[i].Boy.Two_Handred_Meter,B[i].Boy.Four_Handred_Meter,B[i].Boy.OneThousan_Five_Handred_Meter,
B[i].Boy.High_Jump,B[i].Boy.Long_Jump,B[i].Boy.Javelin,B[i].Boy.Shot_Put,B[i].Boy.Discus,
B[i].Boy.total);
printf("\n女子团体\n");
printf("50米 100米 200米 400米 1500米 跳高 跳远 标枪 铅球 铁饼 女子总分 \n");
printf("%d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",B[i].Girl.Fifty_Meter,B[i].Girl.One_Handred_Meter,
B[i].Girl.Two_Handred_Meter,B[i].Gir
l.Four_Handred_Meter,B[i].Girl.OneThousan_Five_Handred_Meter,
B[i].Girl.High_Jump,B[i].Girl.Long_Jump,B[i].Girl.Javelin,B[i].Girl.Shot_Put,B[i]

一个关于才c语言和数据结构的系统

.Girl.Discus,
B[i].Girl.total);
}

printf("按'0'键返回上层菜单\n");
scanf("%d",&chose);
}while(chose!=0);
}




#include <stdio.h> //paixu.c
#include <stdlib.h>
#include <string.h>
#include "student.h"
void Paixu()
{
int i,j,k;
Faculty D[Max],buffer;
Openfile(D,Max);
do
{
printf("请输入查找的类型:\n");
printf("1.按学院总分排序\n");
printf("2.按男子总分排序\n");
printf("3.按女子总分排序\n");
printf("0.返回前一菜单\n");
printf("请在0~3之间选择:\n");
scanf("%d",&i);
switch(i)
{
case 1:
printf ("按学院总分排序后的结果\n");
for(k=0;k<N-1;k++)
{
for(j=k+1;j<N;j++)
{
if(D[k].Faculty_total<D[j].Faculty_total)
{
buffer=D[j];
D[j]=D[k];
D[k]=buffer;
}
}
}
fp=fopen("Student.dat","wb+");
for(i=0;i<N;i++)
{
fwrite(&D[i],sizeof(Faculty),1,fp);
}
fclose(fp);
Output();
break;
case 2:
printf ("按学院总分排序后的结果\n");
for(i=0;i<N-1;i++);
{
for(j=i+1;j<N;j++)
{
if(D[i].Boy.total<D[j].Boy.total)
{
buffer=D[i];
D[i]=D[j];
D[j]=buffer;
}
}
}
fp=fopen("Student.dat","wb+");
for(i=0;i<N;i++)
{
fwrite(&D[i],sizeof(Faculty),1,fp);
}
fclose(fp);
Output();
break;

case 3:
printf ("按学院总分排序后的结果\n");
for(i=0;i<N-1
;i++);
{
for(j=i+1;j<N;j++)
{
if(D[i].Girl.total<D[j].Girl.total)
{
buffer=D[i];
D[i]=D[j];
D[j]=buffer;
}
}
}
fp=fopen("Student.dat","wb+");
for(i=0;i<N;i++)
{
fwrite(&D[i],sizeof(Faculty),1,fp);
}
fclose(fp);
Output();
break;
}
}while(i!=0);
fclose(fp);
}





#include <stdio.h> //Chazhao.c
#include <stdlib.h>
#include <string.h>
#include "student.h"
void Search()
{
int i,swap=0,number;
char str[Max];
Faculty C[Max];
do
{
Openfile(C,Max);
printf("请输入查找的类型:\n");
printf("1.按学院编号查找\n");
printf("2.按项目编号查找\n");
printf("0.返回主菜单\n");
printf("请在0~2之间选择:\n");
scanf("%d",&i);
switch(i)
{
case 1:
printf("请输入学院编号");
scanf("%s",str);
for(i=0;i<N;i++)
{
if(strcmp(str,C[i].Faculty_num)==0)
{
printf("学院编号:\t总成绩:\n");
printf("%s%d",C[i].Faculty_num,C[i].Faculty_total
);
printf("\n男子团体\n");
printf("50米 100米 200米 400米 1500米 跳高 跳远 标枪 铅球 铁饼 男子总分 \n");
printf("%4d%4d%4d%4d%4d%4d%4d%4d%4

一个关于才c语言和数据结构的系统

d%4d%4d\n",C[i].Boy.Fifty_Meter,C[i].Boy.One_Handred_Meter,
C[i].Boy.Two_Handred_Meter,C[i].Boy.Four_Handred_Meter,C[i].Boy.OneThousan_Five_Handred_Meter,
C[i].Boy.High_Jump,C[i].Boy.Long_Jump,C[i].Boy.Javelin,C[i].Boy.Shot_Put,C[i].Boy.Discus,
C[i].Boy.total);
printf("\n女子团体\n");
printf("50米 100米 200米 400米 1500米 跳高 跳远 标枪 铅球 铁饼 女子总分 \n");
printf("%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d\n",C[i].Girl.Fifty_Meter,C[i].Girl.One_Handred_Meter,
C[i].Girl.Two_Handred_Meter,C[i].Girl.Four_Handred_Meter,C[i].Girl.OneThousan_Five_Handred_Meter,
C[i].Girl.High_Jump,C[i].Girl.Long_Jump,C[i].Girl.Javelin,C[i].Girl.Shot_Put,C[i].Girl.Discus,
C[i].Girl.total);
swap=1;
break;
}
}
if(swap==0)
{
printf("不存在该学院\n");
}
break;
case 2:
do
{
printf("请输入项目编号\n");
printf("1.50米 2.100米 3.200米 4.400米 5.1500米\n6.跳高 7.跳远 8.标枪 9.铅球 10.铁饼\n0.返回上一菜单\n");
scanf("%d",&number);
switch(number)
{
case 1:
printf("学院编号:\t男子50米成绩:\t女子50米成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.Fifty_Meter,C[i].Girl.Fifty_Meter);
}
break;
case 2:
printf("学院编号:\t男子100米成绩:\t女子100米成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.One_Handred_Meter,C[i].Girl.One_Handred_Meter);
}
break;
case 3:
printf("学院编号:\t男子200米成绩:\t女子200米成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.Two_Handred_Meter,C[i].Girl.Two_Handred_Meter);
}
break;
case 4:
printf("学院编号:\t男子400米成绩:\t女子400米成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.Four_Handred_Meter,C[i].Girl.Four_Handred_Meter);
}
break;
case 5:
printf("学院编号:\t男子1500米成绩:\t女子1500米成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.OneThousan_Five_Handred_Meter,C[i].Girl.OneThousan_Five_Handred_Meter);
}
break;
case 6:
printf("学院编号:\t男子跳高成绩:\t女子跳高成绩\n");
for(i=0;i<
N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.High_Jump,C[i].Girl.High_Jump);
}
break;
case 7:
printf("学院编

一个关于才c语言和数据结构的系统

号:\t男子跳远成绩:\t女子跳远成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.Long_Jump,C[i].Girl.Long_Jump);
}
break;
case 8:
printf("学院编号:\t男子标枪成绩:\t女子标枪成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.Javelin,C[i].Girl.Javelin);
}
break;
case 9:
printf("学院编号:\t男子铅球成绩:\t女子铅球成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.Shot_Put,C[i].Girl.Shot_Put);
}
break;
case 10:
printf("学院编号:\t男子铁饼成绩:\t女子铁饼成绩\n");
for(i=0;i<N;i++)
{
printf("%s\t\t%d\t\t%d\n",C[i].Faculty_num,
C[i].Boy.Discus,C[i].Girl.Discus);
}
break;
}
}while(number!=0);
}
}while(i!=0);
fclose(fp);
}



#include <stdio.h> //Xiugai.c
#include <stdlib.h>
#include <string.h>
#include "student.h"
void Xiugai()
{
int i,swap=0;
char str[Max];
Faculty E[Max];
Openfile(E,Max);
printf("请输入需要修改的学院的编号\n");
scanf("%s",str);
for(i=0;i<N;i++)
{
if(strcmp(str,E[i].Faculty_num)==0)
{
swap=1;
printf("修改之前的类容\n");
printf("学院编号:\t总成绩:\n");
printf("%s\t%d",E[i].Faculty_num,E[i].Faculty_total);
printf("\n男子团体\n");
printf("50米 100米 200米 400米 1500米 跳高 跳远 标枪 铅球 铁饼 男子总分 \n");
printf("%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d\n",E[i].Boy.Fifty_Meter,E[i].Boy.One_Handred_Meter,
E[i].Boy.Two_Handred_Meter,E[i].Boy.Four_Handred_Meter,E[i].Boy.OneThousan_Five_Handred_Meter,
E[i].Boy.High_Jump,E[i].Boy.Long_Jump,E[i].Boy.Javelin,E[i].Boy.Shot_Put,E[i].Boy.Discus,
E[i].Boy.total);
printf("\n女子团体\n");
printf("50米 100米 200米 400米 1500米 跳高 跳远 标枪 铅球 铁饼 女子总分 \n");
printf("%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d\n",E[i].Girl.Fifty_Meter,E[i].Girl.One_Handred_Meter,
E[i].Girl.Two_Handred_Meter,E[i].Girl.Four_Handred_Meter,E[i].Girl.OneThousan_Five_Handred_Meter,
E[i].Girl.High_Jump,E[i].Girl.Long_Jump,E[i].Girl.Javelin,E[i].Girl.Shot_Put,E[i].Girl.Discus,
E[i].Girl.total);
printf("请依次输入该学院男子团体的成绩\n",i+1);
printf("1.50米 2.100米 3.200米 4.400米 5.1500米\n6.跳高 7.跳远 8.标枪 9.铅球 10.铁饼\n");
scanf("%d%d%d%d%d%d%d%d%d%d",&E[i].Boy.Fifty_Meter,&E[i].Boy.One_Handred_Meter,
&E[i].Boy.Two_Handred_Meter,&E[i].Boy.Four_Handred_Meter,&E[i].Boy.OneThousan_Five_Ha
ndred_Meter,
&E[i].Boy.High_Jump,&E[i].Boy.Long_Jump,&E[i].Boy.Javelin,&E[i].Boy.Shot_Put,
&E[i].Boy.Discus);
E[i].Boy.to

一个关于才c语言和数据结构的系统

tal=E[i].Boy.Fifty_Meter+E[i].Boy.One_Handred_Meter+
E[i].Boy.Two_Handred_Meter+E[i].Boy.Four_Handred_Meter+E[i].Boy.OneThousan_Five_Handred_Meter
+E[i].Boy.High_Jump+E[i].Boy.Long_Jump+E[i].Boy.Javelin+E[i].Boy.Shot_Put+E[i].Boy.Discus;
E[i].Boy.Discus;
printf("请依次输入第%d个学院女子团体的成绩\n",i+1);
printf("1.50米 2.100米 3.200米 4.400米 5.1500米\n6.跳高 7.跳远 8.标枪 9.铅球 10.铁饼\n");
scanf("%d%d%d%d%d%d%d%d%d%d",&E[i].Girl.Fifty_Meter,&E[i].Girl.One_Handred_Meter,
&E[i].Girl.Two_Handred_Meter,&E[i].Girl.Four_Handred_Meter,&E[i].Girl.OneThousan_Five_Handred_Meter,
&E[i].Girl.High_Jump,&E[i].Girl.Long_Jump,&E[i].Girl.Javelin,&E[i].Girl.Shot_Put,
&E[i].Girl.Discus);
E[i].Girl.total=E[i].Girl.Fifty_Meter+E[i].Girl.One_Handred_Meter+
E[i].Girl.Two_Handred_Meter+E[i].Girl.Four_Handred_Meter+E[i].Girl.OneThousan_Five_Handred_Meter
+E[i].Girl.High_Jump+E[i].Girl.Long_Jump+E[i].Girl.Javelin+E[i].Girl.Shot_Put+E[i].Girl.Discus;
E[i].Girl.Discus;
E[i].Faculty_total=E[i].Boy.total+E[i].Girl.total;
}
}
if(swap==0)
{
printf("不存在该学院\n");
}
printf("修改之后的类容\n");
fp=
fopen("Student.dat","wb+");
for(i=0;i<N;i++)
{
fwrite(&E[i],sizeof(Faculty),1,fp);
}
fclose(fp);
Output();
}

本文来源:https://www.bwwdw.com/article/9pn1.html

微信扫码分享

《学生运动会管理系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top