当前位置:首页 > 北京地铁计价系统的实现
目 录
一、
地铁计价系统的实现 ....................................................................................................... 1 1. 设计目的 ............................................................................................................................ 1 2. 设计内容 ............................................................................................................................ 1 3. 实验步骤 ............................................................................................................................ 2 4. 部分代码附录 ................................................................................................................... 6 5. 实验结果和结论 ............................................................................................................. 18 指导教师意见 ................................................................................................................................. 19
《离散数学》课程设计报告
一、 地铁计价系统的实现
1. 设计目的
1) 掌握dijkstra算法的思想;
2) 掌握javascript数据类型之javascript对象; 3) 采用模块化的思想编写程序; 4) 学会用浏览器的调试功能检查代码;
5) 掌握整个网页设计过程元素调用的问题,可以将各个元素正确调用; 6) 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力; 7) 为后续计算机课程的学习打下坚实基础; 2. 设计内容
本次设计基于html+css+javascript设计了一款网页端的地铁计价系统,通过使用javascript对象存储数据,js调用数据和计算,html,css美化前端样式,js实现交互功能等,实现了一个完整的,实用的网页端地铁计价系统。
- 1 -
《离散数学》课程设计报告
3. 实验步骤
1) 整体架构
网页前端index.html由HTML编写,用一个subway-out的大容器承载全部元素,然后将这个容器细分为三大块,也就是使用三个form表单,分别实现起始线路与站点选择,终点线路与站点选择,提交按钮、票价显示和路程显示;HTML美化通过bootstrap和jquery实现,这里不再赘述。
前端交互,线路存储,票价计算及输出等由station.js实现。 2) station.js结构
- 2 -
《离散数学》课程设计报告
线路数据通过一个stationData变量实现,这个变量中存储了1~15号线路的全部站点,并且通过stationData[ ]进行访问。
站点间距离数据通过chartData存储,这个变量中按照类似二维数组的格式存储相邻站点间距离,并且在station.js文件调用时通过dijkstra.addEdges(chartData)初始化到dijkstra算法中。
函数getStartStation和getEndStation用于获取用户选择线路完毕后获取选项option的value值,根据value值向二级select元素中添加stationData线路数据。实现select选项卡的级联。
函数getSubwayData用于实现用户点击时获取表单内容(即获取select元素内text元素),然后distance中输出根据dijkstra算法中shortest函数得到的距离数,同时输出时使用toFixed(1) 控制输出位数为1位(js中数字为浮点形式);然后将计算的distance传入caleFare函数中计算费用并输出。
函数caleFare实现票价计算:6公里以内3元、12公里以内4元、32公里以内每超出12公里10公里1元、超出32公里的部分没20公里1元,上不封顶;前两部分判断直接return,后两部分则需要调用函数math.ceil向上取整功能。 3) dijkstra算法
dijkstra = function ()将dijkstra实例化为一个函数。函数内包括5部分:
- 3 -
共分享92篇相关文档