如何在C语言中实现计时

来源:百度知道 编辑:UC知道 时间:2024/05/03 07:12:08
老师让做一个网吧上机管理收费系统,计时方面不会弄,谁能帮帮我???
再给我说一下这个程序的具体框架!!

需要实现1个小时2元钱的收费标准,小于半小时的收一元,5分钟以内不收费,晚上10点到转天的早上7点为通宵,收费8元!(注意每月的最后一天)
等待中如何计时???
我的意思是象电子表一样,时间在走动

以前做那个停车场管理系统的时候, 也是需要计时,因为要收费.. 好像就这么记得. 每个上机的人,应该有一个结构体,在结构体里设个计时的变量,可以是个只有两个元素的数组.当然这样会很不方便了.(因为需要你自己输入上机时间,和下机时间,并保存在变量里.)
.... ANSIC里有一个time函数,在time.h头文件里. 这个函数,传递一个参数,返回的是系统时间(单位我不清楚),返回的系统时间保存在你传递的参数里... 你可以试试这个. 貌似这个可能就有点麻烦了. 因为需要测试程序... 你不可能等个1,2个小时,再看看输出结果是不是对的...测试的时候,乘个数放大一下应该就可以了..

也就是说,你设一个结构体,里面有一个记录时间的数组time[2],数组只含两个元素, 这两个元素的值,由time函数来获得.(这里获得的是系统时间).

.这个结构体里应该还含有的其他元素,应该要包括,电脑标号ID(每个电脑对应一个号码),和一个bool型变量status,来标识是该电脑的状态,已有人上机或者处于空闲状态.

status为true(有人使用该机器)时,把系统时间付给time[0],
该机器的status变为false(有人下机)后,在把一个系统时间付给time[1].计算时间差和收费额.

.. 那些一个小时,半个小时,等等,不同时间的不同收费标准,一般用if,什么的来搞定.

C语言中实现精确计时,参考代码如下:

ANSIC: ftime()
struct timeb {
        time_t time;
        unsigned short millitm;
        short timezone;
&