目录
一.计算机设计大赛赛事统计
1.问题描述与基本要求
【问题描述】
参加计算机设计大赛的n个学校编号为1~n,赛事分成m个项目,项目的编号为1~m.比赛获奖按照得分降序,取前三名,写一个统计程序产生各种成绩单和得分报表。
【基本要求】
1)每个比赛项目至少有10支参赛队;每个学校最多有6支队伍参赛;
2)能统计各学校的总分;
3)可以按照学校编号或名称查询,学校的总分、各项目的总分排序输出;
4)可以按学校编号查询学校某个项目的获奖情况;可以按项目编号查询取得前三名的学校;
5)数据存入文件并能随时查询
2.问题分析
共3大类主体----学校s、项目p,队伍t,每类主体下有若干小属性
- 学校的属性有 :
学校编号、学校名称、学校队伍个数、学校各项目参加情况、总分(队伍总分、项目总分)
- 项目的属性有 :
项目编号、项目名称、参加的队伍情况
- 队伍的属性有 :
队伍编号、队伍名称、队伍所在学校、队伍参加项目情况、队伍得分
功能方面要求能够 :
- 统计各学校的总分
将学校的队伍成绩求和
- 按学校编号查询学校的队伍总分、各项目的总分,并排序输出
将学校队伍成绩求和、将学校队伍参加的项目成绩求和,降序排列
- 按学校编号查询获奖情况、按项目编号查询取得前三名的学校
按项目类别对队伍的成绩进行降序排列,前三名分别为一、二、三等奖,其余为未获奖
- 将数据存入文件
对文件进行读写操作
3.问题解决
1.数据结构
采用数组的存储结构,将学校、项目、队伍均封装为结构体
2.模块函数
- 查询索引
- 排序
- 求和
- 文件读写
二.校园导游咨询
1.问题描述与基本要求
【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】
(1) 设计你所在学校的校园平面图,所含景点不少于10个.以图中顶点表示校内各景点,存放景点名称、代号、简介 等信息;以边表示路径,存放路径长度等相关信息。
(2) 为来访客人提供图中任意景点相关信息的查询。
(3) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
2.问题分析
2个主体----景点v、路径e
- 景点的属性有 :
景点名称、景点编号、景点简介
- 路径的属性有 :
路径长度
功能方面要求为:
- 为来访客人提供景点信息
对景点的查找
- 查询任意两个景点之间的一条最短的简单路径
最短路径算法
3.问题解决
1.数据结构
采用图的邻接矩阵来存放景点,用无向边来存储路径
2.模块函数
- 图的生成
- 景点的查找
- 最短路径算法
三.算术表达式求解
1.问题描述与基本要求
【问题描述】
设计一个简单的算术表达式计算器。
【基本要求】
实现标准整数类型的四则运算表达式的求值(包含括号,可多层嵌入).
2.问题分析
计算算术表达式时要点在于对两个数值之间的计算顺序,以及运算符的优先级顺序,括号的处理
3.问题解决
1.数据结构
采用堆栈进行处理,用后缀表达式进行求值
2.模块函数
- 将输入的字符串转化为数字
- 后缀表达式处理函数