0

ユーザーが希望する数の列をプログラムに出力させる方法について、いくつかのヒントを得たいと思っていました。たとえば、ユーザーが termsPerLine に 2 を入力した場合、プログラムは Juggler シリーズによって生成された値を 2 列で出力するか、ユーザーが termsPerLine に 3 を入力した場合は 3 列などを出力する必要があります。出力変数は firstTerm です。どんな援助も素晴らしいでしょう。

#include <string>
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int ValidateInput(string Prompt);

int main()
{
    int count;
    double Odd;
    double Even;
    long long int firstTerm;
    int noOfTerms;
    int termsPerLine;

    cout << "Program will determine the terms in a Juggler Series" << endl << endl;

    firstTerm = ValidateInput("Enter the first term: ");

    noOfTerms = ValidateInput("Enter the number of terms to calculate (after first): ");

    termsPerLine = ValidateInput("Enter the terms to display per line: ");

    cout << "First " << noOfTerms << " terms of JUGGLER SERIES starting with " << firstTerm << endl;

    count = 1;

    do
    {
        if (firstTerm % 2 == 0 )
        {
            firstTerm = pow(firstTerm , 0.5);
            cout << setw(16) << firstTerm << endl;
            count++;
        }
        if (firstTerm % 2 != 0 )
        {
            firstTerm = pow(firstTerm, 1.5);
            cout << setw(16) << firstTerm << endl;
            count++;
        }
    }
    while (count <= noOfTerms);

    cout << endl;
    system("Pause");
    return 0;
}


int ValidateInput( string Prompt)
{
    int num;
    cout << Prompt << endl;
    cin >> num;

    while ( num <= 0 )
    {      
        cout << "Enter a positive number" << endl;
        cin >> num;
    } 

    return num;  
}
4

2 に答える 2

1

ループの先頭でこれを試してください:

if ((count % termsPerLine) == 0)
{
    cout << "\n";
}

またはループの一番下にあるこれ:

if ((count % termsPerLine) == termsPerLine)
{
    cout << "\n";
}
于 2013-02-10T19:45:01.777 に答える
0

ループを次のように修正するだけです:

for (count = 1; count <= numOfTerm; count++)
{

if(firstTerm % 2 == 0)
    firstTerm = pow(firstTerm, 0.5);                        
else
    firstTerm = pow(firstTerm, 1.5);


if(count % termPerLine != 0)
    cout << setw(15) << firstTerm;
else
    cout << setw(15) << firstTerm <<  endl;

};
于 2014-02-16T04:20:31.517 に答える