C++类和对象,时钟问题

来源:百度知道 编辑:UC知道 时间:2024/07/03 01:35:29
帮我看看程序错在哪里,要实现的是接受用户输入的小时,分钟,秒钟数据,把钟设置成以这个时间为起始,过一段时间后在用户输入命令时显示时间。中间利用了系统时间。该程序没有语法错误,运行的结果是输出了错误的时间,而且分钟数异常的大
#include<iostream>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
using namespace std;
class alarm_clock
{
public:
void settime(int newH,int newM,int newS);
void showtime();
void set_alarm(int newa_h,int newa_m,int newa_s);
void alarm();
private:
int hour,minute,second,delta_h,delta_m,delta_s;
int alarm_h,alarm_m,alarm_s;
SYSTEMTIME sys;
};
void alarm_clock::settime(int newH,int newM,int newS)
{
hour=newH;
minute=newM;
second=newS;
delta_h=sys.wHour-newH;
delta_h=sys.wMinute-newM;
delta_s=sys.wSecond-newS;
}
void alarm_clock::showtime()
{
hour=sys.wHour-delta_h;
minute=sys.wMinute-delta_m;
second=sys.wSecond-delta_s;
cout<<hour<<":

系统时间你没有初始化。没有从系统取直接用肯定不对.
void GetSystemTime(
LPSYSTEMTIME lpSystemTime
);
调这个API获得系统时间,详情参见MSDN

typedef unsigned short WORD;
把所有的int替换成WORD就可以了。