“C++程序设计”课程综合设计题目

本文介绍了设计一个学校运动会管理系统的课程设计项目,系统需管理多个学院和多种竞赛项目,包含运动员报名、信息查询、检录、成绩登记等功能。开发者在实现过程中遇到了链表处理和数据持久化的困难,最终提交的作品为半成品。
摘要由CSDN通过智能技术生成

9、运动会管理系统

学校十五届运动会管理系统。设有n个学院参加运动会,共有男子竞赛项目数m,女子竞赛项目数w。每个学院可以参加所有竞赛项目不受限制,每个学院对每个项目的参赛运动员不能超过4人或4支,每个运动员最多只能参加3项单项比赛,团体赛不受限制。

各项目名次取法有如下几种:用户自定义:(各名次权值由用户指定)

① 参赛人数超过6人,取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;

②参赛人数不超过6人,取前3名:第1名得分 5,第2名得分 3,第3名得分2;

③ 团体项目的名次取法和上面相同,但分数加倍。

功能要求 :

⑴ 运动员报名登记,以学院为单位进行运动员报名登记,登记的限制要求按问题描述的要求;

⑵ 参赛信息查询,查看参赛学院信息和比赛项目信息;

⑶ 竞赛检录,每项比赛开始前完成参赛运动员的检录;

⑷ 竞赛成绩登记,填写比赛名次,然后根据竞赛检录的运动员人数和上述的记分方式自动完成各学院的成绩登记并实时生成各学院的团体总分;

⑸ 比赛成绩查询,可以按竞赛项目、参赛学校、参赛运动员查看比赛成绩;

⑹ 竞赛成绩排序,以学校为单位,按总成绩的高低,分别排序输出每个学校的总成绩、男子总成绩、女子总成绩;

⑺ 设计一个菜单,至少具有上述操作要求的基本功能。

 

 

#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
int n,n2;
void menuselect(int n);
void input1();
void input2();
void find2();
void find3();
int delete1(); 
void print1();
                           
int main()
{    
	 menuselect(n);
 	 return 0;    
}

void menuselect(int n)
{
	while(1)
	{
	 cout<<setfill('*')<<endl;
     cout<<setw(50)<<"欢迎来到运动会管理系统"<<setw(29)<<"*"<<endl;
	 cout<<setfill(' ')<<endl;
     cout<<setw(47)<<"1、运动员报名登记"<<endl;
	 cout<<setw(45)<<"2、参赛信息查询"<<endl;
	 cout<<setw(41)<<"3、竞赛检录"<<endl;
	 cout<<setw(45)<<"4、竞赛成绩登记"<<endl;
	 cout<<setw(45)<<"5、比赛成绩查询"<<endl;
	 cout<<setw(45)<<"6、竞赛成绩排序"<<endl;
	 cout<<setw(41)<<"0、退出程序"<<endl;
	 cout<<setfill('*')<<endl;
	 cout<<setw(79)<<""<<endl;
	 cout<<setfill(' ')<<setw(44)<<"请选择功能:";
	 cin>>n;
	if(n==1)
		input1();
	if(n==2)
	    find2();
	if(n==3)
		delete1();
	if(n==4)
		input2();
	if(n==5)
		find3();
	if(n==0)
		break;	
	}
}

class Match    //报名登记
{
public:
	Match  *next;
	char school[20];     
	char call[10];       
	char name[10];       
	char sex[5];         
    friend	void input1();
};

void input1()
{   ofstream fout("e:\\运动员报名登记.dat",ios::app);
	char ch;
	Match a;
	do
	{ cout&l
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值