也许你目前还在为大作业煎熬着,看看下面哪张图最像你呀?我希望是最后一张~
大作业赶路人行为图鉴
01
大作业知多少
![e00463a349bcc13fa88bdf15d494be9b.png](https://i-blog.csdnimg.cn/blog_migrate/f39c51eb78ab035b878b25e1afcc3378.png)
02
霸哥绕过我
![cd923301418231f822eda860a198990c.png](https://i-blog.csdnimg.cn/blog_migrate/812f091a323a2e33463530c1699566b4.jpeg)
03
无数次关机抢救
![86f86a9e9f31eddd7dd399f972e98312.png](https://i-blog.csdnimg.cn/blog_migrate/589640b808d038f9a5c992bd7d22d48f.jpeg)
04
来自高手的目光
![c5a9ef9e195940eb81d2d5c2557712ff.png](https://i-blog.csdnimg.cn/blog_migrate/cd70c63f9fb7df82e5ffe62f2fdd300e.jpeg)
滑动查看更多,有惊喜哦
接下来让我们一起欣赏学长这份优秀的大作业吧~
公共自行车系统
- 2020.12.13 -
选题 背景
01
灵感
![cf33129d4ad12422ba238a18c83c0216.png](https://i-blog.csdnimg.cn/blog_migrate/996235e60ae160b7d6d1b646dd3619d4.jpeg)
作者的选题灵感来源于其生活城市里的自行车租赁业务,并在现有APP功能上做了简化。
如此一来,便恰到好处的满足了大作业关于类与文件操作的基本要求,接着便可以不留余地的向继承、数组和模板上下功夫。
这样一个清晰明了的选题,无论是对之后的类图设计,还是程序实现,都是十分友好的。
这么精彩的选题,还真是让我羡慕不已。
设计说明书
02
清晰
Winter
![0ac0431eab203a0ed0ce9c323045603e.png](https://i-blog.csdnimg.cn/blog_migrate/da94a3db15ac509be7dbb814b04a4f08.jpeg)
作者在类图设计上应该是做足了功夫。其实像这样一个选题,实现各个类之间的协调配合难度并不小。作者在正式写程序之前便可以做好类图的设计,为后续的编程带来了极大的指导作用,甚至可以说后续的编程工作就已经变成真正的体力活了。
而且作者在实现外部接口时,用得比较多的是get_X和set_X,并没有用到特别复杂的处理算法,这也给后续编程减轻了不少负担。(下图看欣赏哦)
类图知多少
![bd982623569029b41e1277ea562a1128.png](https://i-blog.csdnimg.cn/blog_migrate/bb9450ee75f87aeeea11576355a93af2.png)
类图知多少
![bd982623569029b41e1277ea562a1128.png](https://i-blog.csdnimg.cn/blog_migrate/bb9450ee75f87aeeea11576355a93af2.png)
类图知多少
![23ac084c95f0df3ef9fea5344afa6e6f.png](https://i-blog.csdnimg.cn/blog_migrate/50d600895dbc33f40df6c1034c8f2926.png)
类图知多少
![1453af3d0409067df9194e37b934a293.png](https://i-blog.csdnimg.cn/blog_migrate/96bf377f8feca36633c915ad6004fcfe.png)
类图知多少
![9b809f81bded913f8c0b3ab6441edc83.png](https://i-blog.csdnimg.cn/blog_migrate/71f74f9088d11fff26e62da31a476d53.png)
滑动查看更多 轻点查看大图
编程风格
03
简约
winter
![69a02ff2032cf0b404e8a872c08ba1fa.png](https://i-blog.csdnimg.cn/blog_migrate/5d9757629c309bc3bd6ef7c5700abad9.png)
三行代码便实现了main函数,是不是和小编一样震惊?
整体上看,代码风格清晰明了,即便是在没有注释的情况下,小编也可以快速定位函数功能和模块之间的联系,于人而言十分友好。
![dea6621c81025adbc8c73d2a9a0984cb.png](https://i-blog.csdnimg.cn/blog_migrate/2a27b55233f45ee0caf828c9a2e49890.png)
作者将各个操作函数进行封装后,依照功能来调整各个操作函数之间的调用关系,组成了一个"迷宫”程序。very_first()就相当于迷宫的入口,当然作者也设计了一个关键码用于走出“迷宫”。各个状态之间的转换依靠while()和switch()函数。其实这也是除在main()函数里使用while()函数进行循环的另一种方法。这样的实现方法增强了程序的可靠性,值得我们学习~
用户界面设计
04
简约
winter
![fbd6247f8a0e5dd79676f7656090869a.png](https://i-blog.csdnimg.cn/blog_migrate/34eb1ef5020b387a348646bb7d18af60.png)
管理员界面
管理员登录
![aa40686c5105560a837215f81230fb75.png](https://i-blog.csdnimg.cn/blog_migrate/b7e69577eb2c46155d43887115e65ef2.png)
管理员界面
![70a72ceb5ea76c7f1574548b1cb725ee.png](https://i-blog.csdnimg.cn/blog_migrate/064ae11850715931d3e6df6742ff7fc3.png)
查看停车点
![c5bfc71c3cd2dd0736c7b3e3e42b6e46.png](https://i-blog.csdnimg.cn/blog_migrate/5610056ce7c1cfea62ead7a9f7159ce7.png)
查看用户申诉
![af20f89e66cccf8ded9f34440b1d4af4.png](https://i-blog.csdnimg.cn/blog_migrate/d6a96900a86b123d50ad22868ec49c42.png)
滑动查看更多 轻点查看大图
普通用户界面
普通用户界面
![c0c7130fe28b8dfec18e32f3631ecf03.png](https://i-blog.csdnimg.cn/blog_migrate/17a94b1aabcd3cc148392597d9dce756.png)
用户地图
![61c6026bf6116f1ef4e97b67782b191c.png](https://i-blog.csdnimg.cn/blog_migrate/47ee692c494381e2dcdfd5f83929b112.png)
租车记录
![0cedfb75322891a94c1a9d50a040bac9.png](https://i-blog.csdnimg.cn/blog_migrate/870f6c9f99d8c28a5e02b22a70484706.png)
修改个人信息
![c1f0abfb0db33b67cf594411de343e52.png](https://i-blog.csdnimg.cn/blog_migrate/ad96e360ed9950e4f1de078e2c194696.png)
滑动查看更多 轻点查看大图
作者在用户界面上并没有使用其他更加强大的图形界面软件,而是使用VS自带的控制台,比较简约,但非常的实用!!
小编在开始时打算使用Qt来实现,但经过大二上无数个实验报告和大作业的毒打后决定放弃了。
这位优秀学长在大作业里对用户界面的选择其实给了我很大的反思,大作业的重点在于掌握C++里一些基本操作,学会去综合应用。而不应该将拓展学习来作为大作业的重难点,这样反而适得其反。
老师评语
周航同学的公共自行车系统。这是一个模拟系统,是真实系统的近似简化。民生主题的选题很有意义,同时也是有别于图书管理、日程管理、单词管理等"xxx管理系统"的新颖选题。因此,体现的设计思路和实现方法都比较有新意。很自然地综合运用了课上所学知识点,并结合应用特点作出了难易适度的可行方案。
结语
不久就要答辩啦,是不是有些小激动?
小编在这里预祝每一位大作业赶路人答辩顺利~~
E N D
文字|陈洋
排版|陈洋
大作业作者|周航 2020春季学期
校阅|刘政宁 姚炫容
指导老师|李超
![5abbcc56f6a17ba8ebb21e84217dfb9e.png](https://i-blog.csdnimg.cn/blog_migrate/d7dbbbd363a1116bc14ea5c0fb3c3fca.jpeg)