2016년 6월 8일 수요일

이것이 c언어다. 14장 지점별 실적관리

매장별 실적을 초기화 후 평균치를 구해 평균값순으로 정렬하여 출력.

#include <stdio.h>

void setAverage(int nABranch[][7]);
void printData(int nABranch[4][7],char szBranchName[4][10]);
void sortData(int nABranch[4][7],char szBranchName[4][10]);


int main(void)
{
    int nABranch[4][7] = {{70,45,100,92,150,81,0},
                          {88,92,77,30,52,55,0},
                          {50,90,88,75,77,49,0},
                          {120,92,80,150,130,105,0}
    }; // 4개 지점의 1~6월달까지 실적과 평균
    char szBranchName[4][10] = {"NIKE","ADIDAS","ABCMART","PUMA"};


    setAverage(nABranch);
    printf("Before sorting.\n");
    printData(nABranch, szBranchName);
    printf("After sorting\n");
    sortData(nABranch, szBranchName);

    return 0;
}
void setAverage(int nABranch[4][7])
{
    int i, k;
    int nTeampTotal = 0;
    for(i=0;i<4;i++)
    {
        for(k=0;k<6;k++)
        {
            nTeampTotal = nTeampTotal + nABranch[i][k];
        }
        nABranch[i][6] = (int)( (( nTeampTotal) / 6.0)+0.5 );
        nTeampTotal = 0; //요소들의  초기화
    }

}
void printData(int nABranch[][7], char szBranchName[][10])
{
    int i, k;
    for(i=0;i<4;i++)
    {
        printf("%s\t",szBranchName[i]);
        for(k=0;k<7;k++)
        {
            printf("%d\t",nABranch[i][k]);
        }
        printf("\n");
    }
    printf("\n");
    printf("\n");
}
void sortData(int nABranch[][7], char szBranchName[][10])
{
    int i, k;
    int *pnABranch[4];
    int *pTemp;
    char *pszBranchName[4];
    char *pTempName;

    for(i=0;i<4;i++) // 위치 초기화
    {
        pnABranch[i] = nABranch[i];
        pszBranchName[i] = szBranchName[i];
    }
    for(i=0;i<3;i++)
    {
        for(k = i+1;k<4;k++)
        {
            if(pnABranch[i][6] < pnABranch[k][6])
            {

                pTemp = pnABranch[i];
                pnABranch[i] = pnABranch[k];
                pnABranch[k] = pTemp;

                pTempName = pszBranchName[i];
                pszBranchName[i] = pszBranchName[k];
                pszBranchName[k] = pTempName;
            }
        }
    }
    for(i=0;i<4;i++)
    {
        printf("%s\t",pszBranchName[i]);
        for(k=0;k<7;k++)
        {
            printf("%d\t",pnABranch[i][k]);
        }
        printf("\n");
    }


}



댓글 없음:

댓글 쓰기