做一个小程序,从有想法到写代码,从添加功能到报错,从报错到找 bug,从解决 bug 到出现更多的 bug……

难道这就是真实世界中的《C++ 小程序——从入门到放弃》?

《抽签器》——该小程序要求如下:

今日任务:
为了具体了解各位的能力,今天的任务大家无需全程分工合作,有遇到困难的时候可以适当讨论
(一个好队友的用处就是在你 error 了几个小时之后发现了你打错的中文分号(*^_^*))

众所周知的,在计算机世界里,所有的随机都是伪随机

但是,在广州外国语学校里,有一种随机比rand()随机数更“伪随机”那就是你被老师提问的几率……
为了辅差,老师老是提问那几个差生;为了给全班人做示范,老师也老是提问那几个优生……
经常被@的差生和优生表示愤愤不平,纷纷要求用计算机里面的随机数来决定提问谁。于是他们就找到了你,全村唯一会计算机的希望。
你想这还不简单?直接用一个一维数组储存全班人的姓名,用时间种子srand一下rand,然后每次输出一个姓名,不ok了吗?so easy!难不倒我!
但是这时候,老师鬼鬼祟祟地出现了,她(他)给你提出了新的要求:
1.设置一个需要正确密码才能进入的权重系统,里面可以修改每一个学生被提问到的几率的权重。就比如张三的权重是2,李四的权重是1。当取随机数的操作趋近于无限次时,张三和李四被抽中的几率要无限趋近于2:1(算法get?)
2.为了照顾优生和差生们的小心灵,一个人在被点到之后,N个人之内不得再被点到。(N的计算公式为N=floor(总人数/5)。)
3.(选做,完成12后才能做)加分系统,在某个学生被提问之后,老师可以视情况统计他能否被加分。如选择加分,则加一分。相配套的,程序中要有txt分数表导入以及导出,分数统计,分数更改等等功能。









从简单开始,做一个学生管理程序。一步一步添加功能。

基本的算法:

1.随机数

2.加权平均数