我不知道问题是什么,也不知道错误信息,但我在睡眠功能上有错误,第41行。我无法弄明白。在此先感谢大家------------(我没有别的可以说,但它不会发布更多的单词)编辑 - if(GetAsyncKeyState)行上出现另一个错误
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
bool exit=false;
int hour, minute, second=0;
cout<<"Enter the hour: "<<endl;
cin>>hour;
system("cls");
cout<<"Enter the minute: "<<endl;
cin>>minute;
system("cls");
while(exit==false) {
if(minute>9 && second>9)
{
cout<<hour<<":"<<minute<<":"<<second;
}
if(minute<10 && second<10)
{
cout<<hour<<":0"<<minute<<":0"<<second;
}
if(minute<10 && second>9)
{
cout<<hour<<":0"<<minute<<":"<<second;
}
if(minute>9 && second<10)
{
cout<<hour<<":"<<minute<<":0"<<second;
}
Sleep(1000);
second++;
if(GetAsyncKeyState(VK_ESCAPE))
{
exit=true;
}
}
cout<<endl;
return EXIT_SUCCESS;
}
答案 0 :(得分:1)
我放弃了。这是答案。您没有包含Windows头文件。
#include <windows.h>
这就是编译器抱怨的原因。它找不到您所做的API调用的声明。您制作的API调用的文档列出了此要求。
但是你真的需要找到编译器报告错误的位置。如果您看不到错误消息,那么您就陷入了困境。
答案 1 :(得分:0)
致力于提出更好的问题!
我可以告诉你,你是C ++的新手,但你需要做的一件事就是保持一致。一致性包括以下步骤:
这些作为初学者似乎并不重要,但它们极大地提高了可读性并帮助其他人更轻松地查看您的问题。你应该做的另一件事是proper indentation。
就你的代码而言,我相信你打算包含你在循环中编写的许多语句,而你没有。你还使用Windows功能和系统功能的混合,这在我看来是可怕的(不提不安全)。你应该使用其中一个。您获得时间的方式毫无意义,因为您可以使用合适的搜索引擎轻松找到标准功能。您的Sleep()函数没问题,但您可能不明白系统在作为参数传递的持续时间内暂停执行线程。为避免这种情况,您应该使用某种计时器或找到更好的打印输出方式。您没有包含正确的头文件,这在C ++中很重要。对于这种情况,您可能还想尝试for循环而不是while循环。
总的来说,你的代码非常奇怪而且编写得很糟糕。我可以告诉你,你是年轻的,新的,外国的或愚蠢的。在问一个糟糕的问题之前,你真的应该查看更多关于这些东西的文档。我会用模糊的答案给你一个缓解,但我相信它至少可以帮助你找到自己的答案。