运动会比赛计分系统源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
#include
#define LEN sizeof(struct athlete)
#define FORMAT "%-8d%-15s%-6s%-12s%-10.2f%-10.2f%-10.2f%-10.2f\n"
#define DATA member[i].num,member[i].name,member[i].sex,member[i].faculty,member[i].run,member[i].bas ketball,member[i].football,member[i].total
struct athlete //定义运动员信息
{
int num; //编号
char name[15]; //运动员姓名
char sex[6]; //运动员性别
char faculty[12] ; //运动员所在院系
float run; //跑步分数
float basketball; //篮球分数
float football; //足球分数
float total; //该运动员总分数
};
struct athlete member[50]; //定义结构体数组
void menu(); //主界面
void in(); //录入运动员信息
void show(); //显示运动员信息
void del(); //删除运动员信息
void modify(); //修改运动员信息
void total(); //计算某一运动员的总分
void search(); //查找运动员信息
int main()
{
int n;
menu();
scanf("%d",&n); //输入数字选择功能
while(n)
{
switch(n)
{
case 1:
in(); //调用录入运动员信息函数
break;
case 2:
search(); //查找运动员信息函数
break;
case 3:
del(); //调用删除运动员信息函数
break;
case 4:
modify(); //调用修改运动员信息函数
break;
case 5:
total(); //调用汇总函数
break;
default:break;
}
printf("按任意键返回主菜单:\n");
getch();
menu(); //执行完功能再次显示菜单界面
scanf("%d",&n);
}
return 0;
}
void menu()
{
system("cls");
printf("|-------------------------------------------------------------------------------|\n");
printf("|--------------------------------运动会比赛计分系统-----------------|\n");
printf("| 0. 退出|\n");
printf("| 1. 录入信息|\n");
printf("| 2. 查找信息|\n");
printf("| 3. 删除信息|\n");
printf("| 4. 修改信息|\n");
printf("| 5. 统计信息|\n");
printf("|-------------------------------------------------------------------------------|\n");
printf("选择(0-5):");
}
void in() //录入运动员信息
{
int i,m=0;
char ch[2];
FILE *fp;
if((fp=fopen("运动会比赛计分系统","ab+"))==NULL)
{
printf("不能打开文件!\n");
return;
}
while(!feof(fp))
{
if(fread(&member[m] ,LEN,1,fp)==1)
m++; //统计当前记录条数
}
fclose(fp);
if(m==0)
printf("没有找到!\n");
else
{
//system("cls");
show(); //调用show函数,显示原有信息}
if((fp=fopen("运动会比赛计分系统","wb"))==NULL)
{
printf("不能打开文件!\n");
return;
}
for(i=0;i fwrite(&member[i] ,LEN,1,fp); //向指定的磁盘文件写入信息 printf("是否输入?(y/n):"); scanf("%s",ch); while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) //判断是否要录入新信息 { printf("编号:"); scanf("%d",&member[m].num); //输入运动员编号 for(i=0;i if(member[i].num == member[m].num) { printf("该记录已经存在,按任意键继续!"); getch(); fclose(fp); return; } printf("运动员姓名:"); scanf("%s",member[m].name); //输入运动员姓名 printf("请输入性别:"); scanf("%s",member[m].sex); //输入性别 printf("请输入院系:"); scanf("%s",member[m].faculty); //输入院系 printf("请输入跑步分数:"); scanf("%f",&member[m].run); //输入跑步分数 printf("请输入篮球分数:"); scanf("%f",&member[m].basketball); //输入篮球分数 printf("请输入足球分数:"); scanf("%f",&member[m].football); //输入足球分数 member[m].total=member[m].run+member[m].basketball+member[m].football;