用C语言设计开发学校运动会管理系统。

1)问题提出:学校召开运动会,成绩以系为单位计分。参加比赛的系别数目为N,男子项目数为M,女子项目数为W。各比赛项目均分为大专组和中专组,区分的标志是运动员的年龄大于或等于18岁则为大专组。每项目成绩计前八名,第一名加8分、第二名7分……(加分权数由软件使用者自定)。统计成绩的时候只输入项目、运动员姓名、运动员系别、年龄、名次。

2)设计要求:① 给用户提供菜单操作界面② 能随时查询各系别的成绩及全校各系的排名③ 程序代码模块化设计,可读性强。

急用,求大神帮忙,谢谢

第1个回答  2013-12-23
#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>
#define SIZE 16#define N 4#define WM 3
void bsxm();void csxx();void Information();void main();void menu();void printf_back();void saveathlete();void saveprogram();void saveschool();void savescore();void Search();void ttzf();
int i;FILE *fp1,*fp2,*fp3,*fp4;
struct athlete //定义运动员信息{ char univ[5]; char name[16]; char prog[15]; char mingci[5]; int score; int age[16];} at[SIZE];
struct xuexiao //定义系{ char univ[5]; char prog[15]; int num_athlete;} xx[N];
struct program //定义项目信息
{ char prog[5]; int quming; char ath1[5]; char ath2[5]; char univ1[5]; char univ2[5];} pro[WM];struct zongfen //定义系得分信息
{
char univ[5]; char prog1[5]; char prog2[5]; char prog3[5]; int score1; int score2; int score3; int total_score;} zf[N];

void Information(){ int n,w; do { puts("\n\n\n"); puts("欢迎进入信息录入功能!\n"); puts("目录\n"); puts("1.录入运动员信息\n"); puts("2.录入系信息\n"); puts("3.录入项目信息()\n"); puts("4.后退\n"); puts("\n"); printf("选择功能(1-4):[ ]\b\b"); scanf("%d",&n); if (n<1||n>4) { w=1; getchar(); } else w=0; } while (w==1); switch(n) { case 1 :saveathlete();break;// 保存运动员信息子函数 case 2 :saveschool();break;//保存系信息子函数 case 3 :saveprogram();break;//保存项目比赛信息子函数 case 4 :exit(0); }}
void saveathlete() //保存运动员信息子函数
{ printf("\n请输入各项目获奖运动员的信息:"); for(i=0; i<SIZE; i++) { printf("\n请输入第%d个运动员的信息:\n",i+1); printf("姓名:"); scanf("%s",at[i].name); printf("年龄: "); scanf("%d",at[i].age); printf("系:"); scanf("%s",at[i].univ); printf("参赛项目:"); scanf("%s",at[i].prog); printf("名次:"); scanf("%s",at[i].mingci); printf("得分:"); scanf("%d",&at[i].score); }
fp1=fopen("ath","w"); for(i=0; i<SIZE; i++) { if(fwrite(&at[i],sizeof(struct athlete),1,fp1)!=1) printf("错误!\n"); } fclose(fp1); fp1=fopen("ath","r for(i=0; i<SIZE; i++)"); printf("\n现在各运动员的信息如下:\n\n"); printf("姓名 年龄 系别 项目 名次 得分\n");
{ fread(&at[i],sizeof(struct athlete),1,fp1); printf("%-10%ds%-10s%-18s%-10s%d\n",at[i].name,at[i].age,at[i].univ,at[i].prog,at[i].mingci,at[i].score); } fclose(fp1); printf_back();}

void saveschool() //保存系信息子函数
{ printf("\n请输入各参赛系别的信息:"); for(i=0; i<N; i++) { printf("\n请输入第%d个系别的信息:\n",i+1); printf("系:"); scanf("%s",xx[i].univ); printf("参赛的项目:"); scanf("%s",xx[i].prog); printf("参赛者数:"); scanf("%d",&xx[i].num_athlete); }
fp3=fopen("xxiao","w"); for(i=0; i<N; i++) { if(fwrite(&xx[i],sizeof(struct xuexiao),1,fp3)!=1) printf("错误!\n"); } fclose(fp3); printf_back();}

void saveprogram() //保存项目比赛信息子函数{ printf("\n请输入关于比赛项目的信息:"); for(i=0; i<WM; i++) { printf("\n请输入第%d项比赛的信息:\n",i+1); printf("项目:"); scanf("%s",pro[i].prog); printf("取分情况:"); scanf("%d",&pro[i].quming); printf("参赛者:"); scanf("%s",pro[i].ath1); printf("所属学校:"); scanf("%s",pro[i].univ1); printf("参赛者:"); scanf("%s",pro[i].ath2); printf("所属学校:"); scanf("%s",pro[i].univ2); }
fp4=fopen("pr","w"); for(i=0; i<N; i++) { if(fwrite(&pro[i],sizeof(struct program),1,fp4)!=1) printf("错误!\n"); } fclose(fp4); printf_back();}
void savescore() //保存学校得分情况子函数{ printf("N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数。\n"); printf("W.100-女子一百米比赛,M.100-男子一百米,M.200-男子两百米。\n"); printf("\n各项名次得分权值如下:\n"); printf("取前三名:第一名5分 第二名3分 第三名2分\n"); printf("\n请输入各学校的得分情况:"); for(i=0; i<N; i++) { printf("\n请输入第%d个得分情况:\n",i+1); printf("学校:"); scanf("%s",zf[i].univ); printf("参赛项目1:"); scanf("%s",zf[i].prog1); printf("得分:"); scanf("%d",&zf[i].score1); printf("参赛项目2:"); scanf("%s",zf[i].prog2); printf("得分:"); scanf("%d",&zf[i].score2); printf("参赛项目3:"); scanf("%s",zf[i].prog3); printf("得分:"); scanf("%d",&zf[i].score3); zf[i].total_score=zf[i].score1+zf[i].score2+zf[i].score3; } fp2=fopen("zfen","w"); for(i=0; i<N; i++) { if(fwrite(&zf[i],sizeof(struct zongfen),1,fp2)!=1) printf("错误!\n"); } fclose(fp2); printf_back();}
void Search(){ int n,w2; do { puts("欢迎进入查询功能!\n"); puts("目录\n"); puts("1.查询团体总分\n");//查看团体总分 puts("2.查询参赛学校信息\n");//查看参赛学校信息! puts("3.查询比赛项目信息\n");//查看比赛项目信息! puts("4.退出\n");//退出 puts("\n"); printf("选择功能(1-4):[ ]\b\b"); scanf("%d",&n); if (n<1||n>4) { w2=1; getchar(); } else w2=0; } while (w2==1); switch(n) { case 1:ttzf();break; case 2:csxx();break; case 3:bsxm();break; case 4:exit(0);break; default:printf("未进行任何操作!"); }}void ttzf() //查看学校团体总分子函数{ fp2=fopen("zfen","r"); printf("\n各学校的团体总分情况如下:\n\n"); printf("学校 参赛项目 总分\n"); for(i=0; i<N; i++) { fread(&zf[i],sizeof(struct zongfen),1,fp2); printf("%-8s%s,%s,%-12s%-12d\n",zf[i].univ,zf[i].prog1,zf[i].prog2,zf[i].prog3,zf[i].total_score); } fclose(fp2); printf_back();}
void csxx() //查看参赛学校信息子函数{ fp3=fopen("xxiao","r"); printf("\n各参赛学校的情况如下:\n\n"); printf("学校 参赛项目 参赛者数\n"); for(i=0; i<N; i++) { fread(&xx[i],sizeof(struct xuexiao),1,fp3); printf("%-8s%-20s%-12d\n",xx[i].univ,xx[i].prog,xx[i].num_athlete); } fclose(fp3); printf_back();}
void bsxm() //查看比赛项目子函数{ fp4=fopen("pr","r"); printf("\n各比赛项目的信息如下:\n\n"); printf("项目 取分情况 赛者1 所属学校 参赛者2 所属学校\n"); for(i=0; i<N; i++) { fread(&pro[i],sizeof(struct program),1,fp4); printf("%-12s%-10d%-10s%-12s%-10s%-12s\n",pro[i].prog,pro[i].quming,pro[i].ath1,pro[i].univ1,pro[i].ath2,pro[i].univ2); } fclose(fp4); printf_back();}
void main(){ menu();}void menu(){ int n,w1; do { puts("欢迎进入运动会管理系统!\n"); puts("目录\n"); puts("1.输入信息\n"); puts("2.比赛结果录入\n"); puts("3.查询\n"); puts("4.退出\n"); puts("\n"); printf("选择功能(1-4):[ ]\b\b"); scanf("%d",&n); if (n<1||n>4) { w1=1; getchar(); } else w1=0; } while (w1==1); switch(n) { case 1:Information();break; //输入信息 case 2:savescore();break;//比赛结果录入 case 3:Search();break;//查询模块 case 4:exit(0); }}
//公共函数void printf_back(){ int w; printf("\n\n\tSUCCESSFUL!\n\n"); printf("What do you want to do next?\n\n\t1).exit \t2).menu:[ ]\b\b"); scanf("%d",&w); if(w==1) exit(0); else menu();}
第2个回答  2013-12-23
类似的可以吗?追问

可以发给我看一下吗? 谢谢

追答

可以的,联系我,我找不到你

追问

不好意思,不用了,我自己弄了下,差不多行了,谢谢啊

第3个回答  2013-12-23
呵呵,这样一个项目,少说也得几万,你还想用百度积分忽悠人。你他妈在逗我。。如果下面真的有人给你做。只要80个没用的积分。我吞粪自尽!!!

用C语言编写个学校运动会管理系统
include "stdio.h" \/*I\/O函数*\/ include "stdlib.h" \/*其它说明*\/ include "string.h" \/*字符串函数*\/ include "conio.h" \/*屏幕操作函数*\/ include "mem.h" \/*内存操作函数*\/ include "ctype.h" \/*字符操作函数*\/ include "alloc.h" \/*动态地址分配函数*\/ s...

、学校运动会管理系统 问题描述: (1) 初始化输入:N-参赛院系总数,M...
include<string.h> include<conio.h> define N 50 struct student { char name[20];char sex[20];char college[20];char item[20];int ranking;}stu[N];void menu();void printf_face1() \/\/定义一个面向用户的输出函数 { printf("\\n\\t name\\t sex\\t college\\t item\\t ranking\\...

运动会成绩管理系统用什么语言开发比较好
个人认为 是C语言好,C语言主程序和子程序分明,语句精简,逻辑清晰,容易掌握,如果出错容易修正……当然,楼主擅长其他的语言的话还是用擅长的好了

C语言学校运动会管理系统
c#可以不?

c语言程序设计题。实验报告。高分。
c语言程序设计题。实验报告。高分。一、实习题目:1)运动会分数统计;任务:参加运动会有n个学校,学校编号为1……n.比赛分成m个男子项目,和w个女子项目.项目编号为男子1...m,女子m+1...m+w.不同的项目取前五名或前... 一、实习题目:1)运动会分数统计;任务:参加运动会有n个学校,学校编号为1……n.比赛...

求一个。net(C#)+sql网上学生成绩查询系统(毕业设计)
学生档案信息管理C#基于ASP.NET技术的动态IT培训网站的设计与实现《软件测试技术》精品课程网站的建设与开发网上二手房交易系统设计与实现ASP131企业进销存管理系统ASP C语言教学系统+论文ASP(交友录)asp+SQLServer网上书店系统+论文ASP+sql精品在线试题库设计+论文ASP+SQL图书管理系统+论文 asp+sql玉林旅游管理系统+论文+...

我要计算机毕业论文
VB074学校田径运动会管理系统ACCESSVB075电脑租赁系统VB076珠宝首饰店管理系统ACCESSVB076学生交费管理系统VB077毕业论文管理系统VB078服装专卖店管理系统ACCESSVB079点对点聊天文件传输系统 VB080多层防火墙技术的研究-状态检测VB081计算机高级语言多媒体教学演示系统VB082供应链管理系统---销售子系统VB083健身中心会员管理系统...

编写一个C语言程序,求出1至1000之间满足“用3除余2;用5除余3;用7除...
编写一个C语言程序,求出1至1000之间满足“用3除余2;用5除余3;用7除余2”的数,并把满足条件的数显示出来,且一行只显示五个数。知道手机网友 | 浏览3296 次 |举报 我有更好的答案推荐于2017-12-15 08:37:22 最佳答案 这种题目当然可以使用 一个循环来搞定但是它不能体现人的主观能动性,当你化简为 ...

工程专业个人自我鉴定
在校期间,能够端正学习态度,先后顺利通过了该学科的C语言、计算机网络、微机原理和接口技术、电路基础、数字电路、模拟电路、信号与系统微波与天线,单片机基础,通信原理、移动通信等专业课的考核,注重理论和实践结合的我通过课程设计、专业课实验、社会实习等,增强我的动手能力和让我专业知识得到不断的巩固和加强,在学校...

大学生毕业生登记表自我评价
会auto cad photoshop 等软件;会用c语言编写一般程序。 专业知识扎实,有积极的工作态度,能够独立工作,又极赋团队精神,同时具有良好的文化素质;赋有进取心,有良好的职员治理和沟通协调能力。 我本人适应性强,责任心强,勤勉不懈,并具有良好的团队精神。在从事多年服务行业、助理工作后,积累了丰富的服务行业和治理方面...

相似回答