- 数据结构课程设计
- 项目1:中国计算机设计大赛赛事统计
- 一.问题重述
- 【问题描述】
- 【基本要求】
- 【设计要求】
- 【测试数据】
- 【实现提示】
- 二.问题分析
- 三.逻辑设计
- 四.物理设计
- 五.结果分析
- 【错误输入的情况】
- 项目2:校园导游咨询
- 一.问题重述
- 【问题描述】
- 【基本要求】
- 【测试数据】
- 【实现提示】
- 二.问题分析
- 三.逻辑设计
- 四.物理设计
- 五.结果分析
- 项目3:算术表达式求解
- 一.问题重述
- 【问题描述】
- 【基本要求】
- 【测试数据】
- 【实现提示】
- 二.问题分析
- 三.逻辑设计
- 四.物理设计
- 五.结果分析
项目1:中国计算机设计大赛赛事统计 一.问题重述 【问题描述】
参加计算机设计大赛的n个学校编号为1~ n,赛事分成m个项目,项目的编号为1~m.比赛获奖按照得分降序,取前三名,写一个统计程序产生各种成绩单和得分报表。
【基本要求】1)每个比赛项目至少有10支参赛队;每个学校最多有6支队伍参赛;
2)能统计各学校的总分;
3)可以按照学校编号或名称,学校的总分、各项目的总分排序输出;
4)可以按学校编号查询学校某个项目的获奖情况;可以按项目编号查询取得前三名的学校;
5)数据存入文件并能随时查询
1)输入数据形式和范围:可以输入学校的名称,赛事项目的名称。
2)输出形式:有中文提示,各学校分数为整数
3)界面要求:交互设计要合理,每个功能可以设立菜单,根据提示,可以完成相关功能的要求。
4)存储结构:学生自己根据系统功能要求自己设计,但是赛事相关数据要存储在文件中。
要求使用全部合法数据,整体非法数据,局部非法数据。进行程序测试,以保证程序的稳定。
【实现提示】假设3<赛事项目数量<=10,学校名称长度不超过20个字符。每个赛事结束时,将其编号、名称输入,并依次输入参赛学校编号、学校名称和成绩。
二.问题分析1.设置一个管理系统,实现统计总分、按照不同要求进行排序输出、可进行项目和学校的互查的操作。
2.设置合理的菜单,完成相应的要求。
3.将数据存入文档,并进行非法数据测试。
【Competition类】
包含:
学校基本信息、项目基本信息、成绩获得情况。
作用:
(1)实现初始化学校和项目的基本信
(2)实现赛后成绩统计。
(3)实现可查询功能。
【Array类】
包含:
项目编号、分数。
作用:
帮助实现项目与成绩分配间的过程
【Menu类】
包含:
菜单
作用:
展示菜单
(1)Competition类
class Competition
{
public:
int get_m();
int get_n();
Competition();
Array array[200];
void Grade();
void S_sort();
void P_sort();
void S_prize();
void P_prize();
void Document();
private:
int Queue[50];
string P_name[10];
int m;
int P_Grade;
map> mapSchool;
map> mapProject[10];
string S_name[50];
int n;
int S_Grade[50];
int P_grade[50][10];
};
(2)Array类
class Array
{
public:
int p;
int s;
};
(3)Menu类
class Menu
{
public:
void menu();
};
五.结果分析
【错误输入的情况】
1.对菜单输入不存在的数值进行访问,出现提示:您输入的数值有误,请重新输入!
2.对某学校的某项目的获奖情况的功能输入不存在的数值进行访问,出现提示:未能查询到该学校编号,请重新输入!
3.对某项目的前三获奖学校的功能输入不存在的数值进行访问,出现提示:本届大赛未开通此项目,请您输入正确的项目编号!
项目2:校园导游咨询 一.问题重述 【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】(1) 设计你所在学校的校园平面图,所含景点不少于10个.以图中顶点表示校内各景点,存放景点名称、代号、简介 等信息;以边表示路径,存放路径长度等相关信息。
(2) 为来访客人提供图中任意景点相关信息的查询。
(3) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
以江苏科技大学长山校区为例。
【实现提示】一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网.顶点和边均含有相关信息.
二.问题分析 三.逻辑设计 四.物理设计 五.结果分析项目3:算术表达式求解 一.问题重述 【问题描述】
设计一个简单的算术表达式计算器。
【基本要求】实现标准整数类型的四则运算表达式的求值(包含括号,可多层嵌入).
【测试数据】(30+270)/3-123
5+(9*(62-37)+15)*6
要求自行设计非法表达式,进行程序测试,以保证程序的稳定运行。
可以设计以下辅助函数
status isNumber(char ReadInChar); //视ReadInchar 是否是数字而返回 TRUE 或 FALSE 。
int TurnToInteger(char IntChar); // 将字符’0’.’9’ 转换为整数 9



