【问题描述】 用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);
专业程序代写
c++程序代写
转载于:https://www.cnblogs.com/java20131201/archive/2013/06/09/3466360.html