求高手,这道题实在不会
程序设计题一: 学生竞赛评价系统【问题描述】
用C/C++设计,能实现对全校学生创新竞赛的业绩进行考评,系统应该具备添加、修改、查询、排序等功能,能对竞赛业绩的考评情况进行记录和管理。
【基本要求】
(1) 学生竞赛的业绩记录中的每一条信息包括:学生竞赛的项目号,学生竞赛名、所属的院系、学生竞赛创新评价值,学生竞赛的难度评价值,学生竞赛的实用性评价值、学生竞赛的简介、电子邮件。
(2) 将学生竞赛的业绩记录用一个文件存储,文件类型是文本文件。
【系统必须的基本数据结构和功能】
1. 数据结构
struct date /* 日期结构 */
{ int year; /* 年 */
int month; /* 月 */
int day; /* 日 */
};
2.
数据格式:
测试数据,以文本文件方式提供,projfile.txt。
程序功能
1) 建立学生竞赛的信息结构数组 从文本文件projfile.txt读入数据
2) 按姓名递增冒泡排序(应用指针数组)
3) 按三项总分递减选择排序(应用指针数组)
4) 显示按总分排序后项目领队的信息
5) 按学生竞赛的项目号查竞赛项目信息和平均分数(顺次查找法)
6) 按学生竞赛的项目名查竞赛的项目信息和平均分数(折半查找法)
7) 查全部参赛项目的各项目平均分数
8) 显示项目信息表
2、程序总体设计
数据结构:
依据给定的学生竞赛项目信息和数据格式,结构数组的分量必须用结构实现; 结构类型的层次结构:
struct date {/* 日期结构 */
int year; /* 年 */
char month; /* 月
char day; /* 日 */
};
struct project { /* 学生信息结构 */
char no[9]; /*项目号 字符串*/
char name[9]; /*项目名 字符串*/
struct date birthday; /*项目领队的出生日期*/
int score[4]; /*对项目三个评价值的总分*/
};
结构数组定义为局部标识符:
static struct project proj[N];
3、函数原型清单:
1 建立学生项目信息数组 readsi
void readsi(struct project proj[],int *n);
2 按项目姓名递增冒泡排序(应用指针数组) bsort
void bsort(struct project *pname[],int n);
3 按总分递减选择排序(应用指针数组) ssort
void ssort(struct project *ptscore[],int n);
4 按项目号查学生竞赛项目信息和平均分数(顺序查找) ssrch_no
void ssrch_no(struct project *pproj [],int n);
5 按姓名查学生项目信息和平均分数(折半查找) bsrch_name
void bsrch_name(struct project *pname[],int n);
6 查各评价指标的平均分数 find_ave
void find_ave(struct project *pproj,int n);
7 显示学生竞赛项目信息表printtable
void printtable(struct project *pproj,int n);
求给完整代码