任务是在不使用任何图形或动画的情况下创建计时器。必要时将使用系统调用来设置计时器。在这种情况下,计时器表示秒表具有递增计时的功能。
计时器是在Linux中创建的。使用Linux的以下系统调用:
睡眠():它会使得程序睡眠的作为参数传递给函数提供的秒数。
system() :通过将命令作为参数传递给此函数来执行系统命令。
以下是使用系统调用创建计时器的实现:
// CPP program to create a timer
#include
#include
#include
#include
using namespace std;
// hours, minutes, seconds of timer
int hours = 0;
int minutes = 0;
int seconds = 0;
// function to display the timer
void displayClock()
{
// system call to clear the screen
system("clear");
cout << setfill(' ') << setw(55) << " TIMER \n";
cout << setfill(' ') << setw(55) << " --------------------------\n";
cout << setfill(' ') << setw(29);
cout << "| " << setfill('0') << setw(2) << hours << " hrs | ";
cout << setfill('0') << setw(2) << minutes << " min | ";
cout << setfill('0') << setw(2) << seconds << " sec |" << endl;
cout << setfill(' ') << setw(55) << " --------------------------\n";
}
void timer()
{
// infinte loop because timer will keep
// counting. To kill the process press
// Ctrl+D. If it does not work ask
// ubuntu for other ways.
while (true) {
// display the timer
displayClock();
// sleep system call to sleep
// for 1 second
sleep(1);
// increment seconds
seconds++;
// if seconds reaches 60
if (seconds == 60) {
// increment minutes
minutes++;
// if minutes reaches 60
if (minutes == 60) {
// increment hours
hours++;
minutes = 0;
}
seconds = 0;
}
}
}
// Driver Code
int main()
{
// start timer from 00:00:00
timer();
return 0;
}
输出:
注意:可以进行一些修改才能使其在Windows上运行。
需要修改:
1.在system()调用中使用“ cls”代替“ clear” 。
代替在睡眠(小写的“)函数的2.使用“S”在睡眠()函数。
3.包括windows.h头文件。
进行这些更改后,代码应在Windows上运行良好。
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。