测试可被 7 整除/倍数的 C++ 程序

标签 c++ loops

这里是 C++ 初学者,第一节编程课。我正在尝试编写一个程序来检查你是否有任何数字可以被七整除。我的意思是可以说从 0 到十亿的任何数字。我还需要让程序循环并要求用户在输入无效输入时输入不能被 7 整除的数字时重试。

例子:

废话

这甚至不是一个数字。

100

不能被7整除

1

不能被7整除

你好

这甚至不是一个数字。

105

能被 7 整除

程序结束。

这就是我目前所拥有的。我不太清楚如何让它在输入正确的数字后停止并继续执行其他所有操作。非常感谢任何帮助!!

编辑

好的,我采取了不同的路线并创建了一个嵌套循环。我充分利用它来工作。现在,当数字不能被 7 整除时,它将继续循环,直到我输入一个整除的值。

现在唯一的问题是当我输入“blah”时,它会继续无限循环,即使它正在检查 Divisible 之前的变量,如下面的屏幕截图链接所示。非常感谢任何帮助使该部分正常工作。

https://www.dropbox.com/s/y6tx02nwmq1pdvr/scenario4_results.jpg?dl=0

编辑#2

好吧好吧。我越来越近了。使用我对 cin.clear() 的了解以及我可以研究的内容并将下面的内容放在一起,我得到了无限循环停止,但现在 prog 将无法识别每次触发该循环后输入的数字链接中的屏幕截图。一如既往,非常感谢帮助解决这个问题。

https://www.dropbox.com/s/2zueqy5foijka9s/scenario5_results.jpg?dl=0

 #include <iostream>
 #include <string>

 using namespace std;

 int main() {

     int num = 0, sum = 0;

     unsigned Divisible = (num % 7 == 0);

         do {

             cout << "Enter an integer: ";
             cin >> num;
             cout << endl;

             while (Divisible){

            if (cin.peek() == '\n' && !cin.fail()) break;
                cout << "That's not a number, try again: ";
                cin.clear();
                cin.ignore(INT_MAX, '\n'); 

        }

        while
            (Divisible) {
            if (char(num % 7 != 0))
                cout << "It's not divisible by 7, try again." << endl;
                break;
        }

        while
            (Divisible) {
            if (num % 7 == 0)
            cout << "It's divisible by 7." << endl;
            break;
        }


    }

    while (num % 7 != 0 || !cin);



 }

最佳答案

你想要更像是:

while (true) {
    cout << "Enter a positive integer: ";
    cin >> num; 
    bool divisible = !(num % 7);
    if (divisible) {
        cout << "It's divisible by 7" << endl;
        break;
    }
    else {
        cout << "It's not divisible by 7, try again: " << endl;
    }
}

关于测试可被 7 整除/倍数的 C++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193574/

相关文章:

javascript - 3维数组到对象数组

c++ - 有没有办法在不链接到-framework ApplicationServices 的情况下运行c 或c++ 文件?

c++ - 有哪些适合初学者的 DirectX 资源?

c# - 是否可以将 Func<bool> 作为 while 条件

c - 在 for 循环中一遍又一遍地创建和连接线程 (C)

python - 为什么循环嵌套的顺序很重要python?

r - 如果循环中出现错误,则创建 "n"的向量并继续

c++ - 编译错误 : loop through each element of an array inside a c++ function

c++ - C/C++ 中大数组的运行时错误

c++ - 带有#pragma comment(lib) 的相对路径