急请大家帮忙看看怎么用C++编写一个自行车里程表的程序,多谢

急请大家帮忙看看如何用C++编写一个自行车里程表的程序,谢谢!
要准备考试,室友mm求助我这道题,我也不懂~~~只能请大家帮忙了,多谢哈!

问题是要设计一个类来实现一个自行车里程兼测速计,简称为bikemeter,其性质如下:

bikemeter每秒钟都会从内部时钟inter_clock接收到时钟信号tick(),并且伴随着车轮每转一圈,轮轴上一个传感器会将信号click()传给bikemeter(相当于是两个计数器counter,一个用来计时一个用来计车轮转的圈数)。

在车轮转动时,会将轮的直径diameter告诉bikemeter。从以上这些信息,bikemeter就能够计算出其他信息,如当前速度current_speed,行驶距离distance以及平均速度average_speed。   同样的,bikemeter在每一个 "trip "(程序中会出现这个东西的定义,欧不知道啥米意思)开始前,可以被归零reset.

下面给的框架程序中,main()调用函数和bikemeter类去测试这个类bikemeter.在constructer中应该存放着车轮的直径diameter,单位为inch,可以设默认值为27。在行驶过程中,bikemeter会收到一系列的穿插着click和tick的信号,每一个click()代表着车轮转了一圈,每一个tick()代表着时钟走过一秒。因此,假设收到的一系列信号为
click(),click(),tick(),click(),click(),click(),tick(),click(),tick(),click(),tick(),click(),tick(),tick(),click(),click(),tick(),click().

那么在每一秒间隔内车轮转的圈数click()分别为:2,3,1,1,1,0,2.   在最后一个click后跟的是没有写出来的tick)。那么,在这么多秒内,行驶的距离为每秒内圈数之和*车轮的直径,圈数之和为2+3+1+1+1+0+2=10,直径为27   inch,那么距离即为10*27*pi(pi的值为3.14159),所经过的时间为7个tick(),即为7秒,那么平均速度average_speed即为10/7圈。

对于速度,要求bikemeter是以英里miles为单位的,表达为miles/hour,且每一秒,即每一个tick()时都要显示出当前速度speed,   即实时更新。为了知道实时的speed,要求采用的方法是知道每次最近4秒钟内的车轮转圈数click() 's。如前面的一系列信号,知道了7秒内的总圈数为10,前三秒内的圈数为2+3+1=6,则最近4个tick内的圈数为10-6=4圈,即这段时间内的click数为4。求最近4秒内的速度即为每秒显示的实时speed。

最后,框架程序还要比较两个bikemeter的累计行驶距离,利用逻辑操作符 <, <=,> ,> =,==以及!=,   如假设a的累计行驶距离比b大,那么bikemeter   a   >   bikemeter   b(是要在bikemeter的类中用操作符重载么?我瞎猜的~)

程序要求:完成class   bikemeter的相关结构体和函数,并于框架程序结合起来,形成一个完整的程序,并经过主函数中的测试函数测试,能够正确运行


这是已给出的框架程序,

void   ride(bikemeter   &a,   int   trip[],   int   ct);
void   mainTest();
void   logicalOpsTest();

int   main(){
        cout < < "Test   out   the   bikemeter   class\n ";
        mainTest();
        logicalOpsTest();
        cout < < "End   of   program\n ";
}

void   logicalOpsTest(){
    bikemeter   a,b;
    int   trip[]={5,3,2,9,8,2,5,3,6,7};
    ride(a,trip,9);
    ride(b,trip,10);
    cout < < "\n   We   compare   two   bikemeters   by   comparing   their   distances\n ";
    cout < <a < <   "   <\n   " < <b < <   ":   " < <(a <b) < <endl;
    cout < <a < <   "   > \n   " < <b < <   ":   " < <(a> b) < <endl;
    cout < <a < <   "   <=\n   " < <b < < ":   " < <(a <=b) < <endl;
    cout < <a < <   "   > =\n   " < <b < < ":   " < <(a> =b) < <endl;
    cout < <a < <   "   ==\n   " < <b < < ":   " < <(a==b) < <endl;
    cout < <a < <   "   !=\n   " < <b < < ":   " < <(a!=b) < <endl;
    a.reset();
    ride(a,trip,10);
    cout < <a < <   "   <\n   " < <b < <   ":   " < <(a <b) < <endl;
    cout < <a < <   "   > \n   " < <b < <   ":   " < <(a> b) < <endl;
    cout < <a < <   "   <=\n   " < <b < < ":   " < <(a <=b) < <endl;