-4

私は、ユーザーが偶数であることが確認され、5 で割り切れるかどうかを確認する数値を入力するクラスのプログラムを作成しています。これら 2 つが満たされている場合、その数値は while ループで使用されます。明確にするために、数値が偶数で 5 で割り切れる場合はコードが実行され、偶数で 2 で割り切れる場合はコードが実行されます。コードの最初のセットは for ループ内にある必要があり、2 番目 (2 で割り切れる) は while ループ内にある必要があります。

私はcinを取得して2番目のコードセットで使用することに固執しています。最初のセットは最初にそれを操作したいと考えています。

これを理解するための助けは素晴らしいでしょう!

コード:

#include <iostream>
#include <string>
#include <fstream>    
#include <iomanip>

using namespace std;

int main ()
{
    system ("color F0");

    int number = 0, countIf = 0,countWhile = 0, i=0;

    cout << "Please enter a positive integer or zero to quit: ";
    cin >> number;
    cin.ignore();

    if (number < 0 || number%2 != 0)
        cout << "Error: The integer entered was either not positive or a zero. Try again." << endl;

    //else if (number%5 || (number%2) = 0)

    for (number%5; countIf < number; countIf +=5)
    {
        i = number / 10;
        i += countIf;
        cout << i << " ";        
    }
    cin.ignore();

    while (countWhile <= i && i%2) 
    {
        int x = 0;
        cout << x << " ";
        x += 2;
    }

    system ("pause");
    return 0;
}
4

2 に答える 2

2

私はあなたの元のelse ifステートメントを見ています

else if (number%5 || (number%2) = 0)

あなたがここで望んでいたのは代わりに

else if (number%5 == 0 && number%2 == 0)

そのelse ifブロックでコードを実行します。

于 2013-04-05T17:33:26.907 に答える
0

データを操作する前に、それを別の変数にコピーします。

cin>>a;
b=a;

2 番目のセットには b を使用します。また、偶数の場合、明らかに 2 で割り切れます。したがって、偶数かどうか、および 2 で割り切れるかどうかを確認する必要はありません。

于 2013-04-05T17:21:49.270 に答える