c - 如何在 C 程序任务中创建 "twirly"?

标签 c function factors perfect-numbers

大家好,我用 C 语言创建了一个程序,它使用一个函数来测试 1 到 10000 之间的所有数字,以检查它们是否完美,该函数可以确定一个数字是否完美。一旦找到这些,它就会将它们打印给用户,它们是 6、28、496 和 8128。在此之后,程序然后将每个完美数的所有因数打印给用户。这一切都很好。这是我的问题。

我任务的最后一部分要求我:

“使用“twirly”表示您的程序正在愉快地工作。“twirly”是按以下顺序在彼此顶部打印的以下字符:'|' '/' '-' '\'。这具有产生纺车的效果 - 即“旋转”。提示:要执行此操作,您可以在 printf 中使用\r(而不是\n)来仅给出回车(而不是回车换行符)。(注意:这在某些系统上可能不起作用 - 您不必这样做。)“

我不知道 twirly 是什么或如何实现它。我的导师说这与 sleep 和延迟功能有关,我也不知道如何使用。任何人都可以在最后阶段帮助我吗,我的所有编码都已完成,但我无法让这个“旋转”的东西工作。

最佳答案

如果要同时执行任务

  1. 测试数字和
  2. 在屏幕上显示旋转

    当进程继续进行时,您最好考虑使用线程。使用 POSIX 线程,您可以在一个线程上启动任务,另一个线程将在终端上向用户显示旋转。

#include<stdlib.h>

#include<pthread.h>

int Test();

void Display();

int main(){
// create threads each for both tasks test and Display
//call threads
//wait for Test thread to finish
//terminate display thread after Test  thread completes
//exit code
}

请参阅第 12 章了解线程 beginning linux programming ebook

关于c - 如何在 C 程序任务中创建 "twirly"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29487618/

相关文章:

计算文件中字符数、单词数和行数的C代码

JavaScript 函数构造函数解析安全性

javascript - Titanium 将文本字段值传递到新窗口

c++ - 重载函数运算符是否允许创建在语法上像 C++ 中的函数一样工作的对象?

r - 获取因子变量中水平和标签之间的原始关联

R编程: choose every combination of factors from a data.帧

c - 我的代码不打印名为 coin 的变量

c - 更新字符串的单个字符

R:在不创建新变量的情况下测试因子的每个水平

c - 错误: expected identifier before ‘(’ token queue