0

このコードは、剰余がゼロに等しい場合にのみ機能します。

CString temp;

int quarter = Emp_Max / 4;
int fstQrtr = quarter;
int scdQrtr = fstQrtr + quarter;
int trdQrtr = scdQrtr + quarter;
int fthQrtr = trdQrtr + quarter ;
int mod     = Emp_Max % 4;

for(int i = 0 ; i < Emp_Max; i++){
    EmpInfo[i].EmpLineName1 = "Emp_No";
    EmpInfo[i].EmpLineName2 = "Emp_No";
    EmpInfo[i].EmpLineName3 = "Emp_No";
    EmpInfo[i].EmpLineName4 = "Emp_No";

    if( i != Emp_Max )
    {
        temp.Format("EmpNo %d", i+1);
        EmpName[i] = temp;

        if (Emp_Max <= 4)
        {
            EmpInfo[i].EmpLineName1 = EmpName[i];
        }

        else
        {   
            if (mod == 0) 
            {
                if (i < fstQrtr)
                {
                    EmpInfo[i].EmpLineName1 = EmpName[i];
                }

                else if (i < scdQrtr) 
                { 
                    EmpInfo[i - fstQrtr].EmpLineName2   = EmpName[i];
                }

                else if (i < trdQrtr) 
                {
                    EmpInfo[i - scdQrtr].EmpLineName3   = EmpName[i];
                }

                else if (i < fthQrtr) 
                {
                    EmpInfo[i - trdQrtr].EmpLineName4   = EmpName[i];
                }

            }
        }
    }
}

たとえば、Emp_Max = 16 と宣言した場合、つまり mod = 0 の場合、次の出力が得られます。

|==========|==========|==========|==========|
|  Emp_No  |  Emp_No  |  Emp_No  |  Emp_No  |
|==========|==========|==========|==========|
| EmpNo 01 | EmpNo 05 | EmpNo 09 | EmpNo 13 |
|==========|==========|==========|==========|
| EmpNo 02 | EmpNo 06 | EmpNo 10 | EmpNo 14 |
|==========|==========|==========|==========|
| EmpNo 03 | EmpNo 07 | EmpNo 11 | EmpNo 15 |
|==========|==========|==========|==========|
| EmpNo 04 | EmpNo 08 | EmpNo 12 | EmpNo 16 |
|==========|==========|==========|==========|

しかし、たとえば、Emp_Max = 18 の場合、つまり mod !=0 の場合、これではなく上記と同じ出力が得られます。

|==========|==========|==========|==========|
|  Emp_No  |  Emp_No  |  Emp_No  |  Emp_No  |
|==========|==========|==========|==========|
| EmpNo 01 | EmpNo 06 | EmpNo 11 | EmpNo 15 |
|==========|==========|==========|==========|
| EmpNo 02 | EmpNo 07 | EmpNo 12 | EmpNo 16 |
|==========|==========|==========|==========|
| EmpNo 03 | EmpNo 08 | EmpNo 13 | EmpNo 17 |
|==========|==========|==========|==========|
| EmpNo 04 | EmpNo 09 | EmpNo 14 | EmpNo 18 |
|==========|==========|==========|==========|
| EmpNo 05 | EmpNo 10 |          |          |
|==========|==========|==========|==========|

ターゲット出力を取得するには、コードに何を追加または変更する必要がありますか? ティア。

4

1 に答える 1