C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[25881] Re:틀린부분좀 갈켜주세여..
숙제맨 [] 500 읽음    2003-06-11 13:12
//---------------------------------------------------------------------------
#include <stdio.h>   // 수정해야됨 . 풀 다 말았음.
#include <string.h>
//---------------------------------------------------------------------------
const int INWON=5; 

struct Tag
{
  int num, pronum, prowon, income;
  int total, dis ;
  char addcode[3],procode[3],add[10];
  float ratewon;
};

void input(struct Tag mar[],int);
void addcode(struct Tag mar[],int);
void procode(struct Tag mar[],int);
void total(struct Tag mar[],int);
void rate(struct Tag mar[],int);
void dis(struct Tag mar[],int);
void sort(struct Tag mar[],int);
void print(struct Tag mar[],int);

int main()
{
    Tag mar[10];
    input(mar, INWON);
    addcode(mar, INWON);
    procode(mar, INWON);

    total(mar, INWON);
    rate(mar, INWON);
    dis(mar, INWON);

    sort(mar, INWON);
    print(mar, INWON);
    return 0;
}
//---------------------------------------------------------------------------

void input(Tag mar[],int n)
{
    for (int k=0;k<n;k++)
    {   printf("%d\n",k+1);

        printf("고객번호:");
        scanf("%d",&mar[k].num);
        printf("거주지코드:");
        scanf("%s",mar[k].addcode);
        printf("물품코드:");
        scanf("%s",mar[k].procode);
                printf("판매수량:");
        scanf("%d",&mar[k].pronum);
    }


void addcode(Tag mar[],int n) 
{
    for (int k=0;k<n;k++)
    {
        if (*mar[k].addcode=='A')
            strcpy(mar[k].add,"대구");
        else if (*mar[k].addcode=='B')
            strcpy(mar[k].add,"인천");
        else if (*mar[k].addcode=='C')
            strcpy(mar[k].add,"서울");
        else if (*mar[k].addcode=='D')
            strcpy(mar[k].add,"부산");
        else if (*mar[k].addcode=='E')
            strcpy(mar[k].add,"대전");
        else if (*mar[k].addcode=='F')
            strcpy(mar[k].add,"울산");
        else if (*mar[k].addcode=='G')
            strcpy(mar[k].add,"광주");
    }


void procode(Tag mar[], int n) 
{
    for (int k=0;k<n;k++)
    {
        if (*mar[k].procode=='AA')
            mar[k].prowon=80;
        else if (*mar[k].procode=='BB')
                mar[k].prowon=60;
        else if (*mar[k].procode=='CC')
                mar[k].prowon=90;
        else if (*mar[k].procode=='DD')
                mar[k].prowon=50;
        else if (*mar[k].procode=='EE')
                mar[k].prowon=70;
    }
}

void total(Tag mar[],int n)
{
    for (int k=0;k<n;k++)
         mar[k].total=*mar[k].procode*mar[k].pronum;
}

void rate(Tag mar[], int n)
{
    for (int k=0;k<n;k++)
    {
        if (mar[k].total < 3500 )
            mar[k].ratewon=0.3;
        else if (mar[k].total>=3500 || mar[k].total<=4499)
            mar[k].ratewon=0.4;
        else if (mar[k].total>=4500 || mar[k].total<=5499)
            mar[k].ratewon=0.5;
        else if (mar[k].total>=5500)
            mar[k].ratewon=0.6;
    }


void dis(Tag mar[], int n)
{
    for (int k=0;k<n;k++)
    {
        mar[k].dis=mar[k].total*mar[k].ratewon;
        mar[k].income=mar[k].total-mar[k].dis;
    }


void sort(Tag mar[],int n) 
{
    Tag temp;
    for (int k=0;k<n-1;k++)
    {
        for (int h=k+1;h<n;h++)
        {
            if (mar[k].num<mar[h].num)
            {
                temp=mar[k];
                mar[k]=mar[h];
                mar[h]=temp;
            }
        }
    }
}

void print(Tag mar[], int n)
{
    printf("고객번호  거주지명  매출액  할인액  순매출액\n");
    for (int k=0;k<n;k++)
    {
        printf("%6d %10s %5d %5d %5d \n",mar[k].num, mar[k].add, mar[k].total, mar[k].dis, mar[k].income);
    }


//================================================================

학생 님이 쓰신 글 :
: #include <stdio.h>   // 수정해야됨 . 풀 다 말았음.
: #include <string.h>
: const int INWON=5;
:
: struct Tag
: { int num, pronum, prowon;
:   long int total, dis ;
:   char addcode[3],procode[3],add[10];
:   float ratewon;
: };
:
: void input(struct Tag mar[],int);
: void addcode(struct Tag mar[],int);
: void procode(struct Tag mar[],int);
: void total(struct Tag mar[],int);
: void rate(struct Tag mar[],int);
: void dis(struct Tag mar[],int);
: void sort(struct Tag mar[],int);
: void print(struct Tag mar[],int);
:
: void main()
: {   struct Tag mar[];
:         input(mar, INWON);
:         addcode(mar, INWON);
:         procode(mar, INWON);
:
:         total(mar, INWON);
:         rate(mar, INWON);
:         dis(mar, INWON);
:     
:         sort(mar, INWON);
:         print(mar, INWON);
: }
:
: void input(Tag mar[],int n)
: {   for (int k=0;k<n;k++)
:         {   printf("%d\n",k+1);
:           
:             printf("고객번호:");
:         scanf("%d",&mar[k].num);
:         printf("거주지코드:");
:         scanf("%s",mar[k].addcode);
:         printf("물품코드:");
:         scanf("%s",mar[k].procode);
:                 printf("판매수량:");
:         scanf("%d",&mar[k].pronum);
:         }
: }
:
: void addcode(Tag mar[],int n)
: {   for (int k=0;k<n;k++)
:         {   if (mar[k].addcode=='A')
:                         strcpy(mar[k].add,"대구");
:
:         else if (mar[k].addcode=='B')
:                           strcpy(mar[k].add,"인천");
:
:         else if (mar[k].addcode=='C')
:                           strcpy(mar[k].add,"서울");
:
:         else if (mar[k].addcode=='D')
:                           strcpy(mar[k].add,"부산");
:
:         else if (mar[k].addcode=='E')
:                           strcpy(mar[k].add,"대전");
:
:                 else if (mar[k].addcode=='F')
:                           strcpy(mar[k].add,"울산");
:
:         else if (mar[k].addcode=='G')
:                           strcpy(mar[k].add,"광주");
:         }
: }
:
: void procode(Tag mar[], int n)
: {   for (int k=0;k<n;k++)
:         {   if (mar[k].procode=='AA')
:                         mar[k].prowon=80;
:                 else if (mar[k].procode=='BB')
:                         mar[k].prowon=60;
:                 else if (mar[k].procode=='CC')
:                         mar[k].prowon=90;
:                 else if (mar[k].procode=='DD')
:                         mar[k].prowon=50;
:                 else if (mar[k].procode=='EE')
:                         mar[k].prowon=70;
:         }
: }
:
: void total(Tag mar[],int n)
: {   for (long int k=0;k<n;k++)
:          mar[k].total=mar[k].procode*mar[k].pronum;
: }
:
: void rate(Tag mar[], int n)
: {   for (int k=0;k<n;k++)
:         {   if (mar[k].total < 3500 )
:                         mar[k].ratewon=0.3;
:                 else if (mar[k].total>=3500 || mar[k].total<=4499)
:                         mar[k].ratewon=0.4;
:                 else if (mar[k].total>=4500 || mar[k].total<=5499)
:                         mar[k].ratewon=0.5;
:                 else if (mar[k].total>=5500)
:                         mar[k].ratewon=0.6;
:         }
: }
:
: void dis(Tag mar[], int n)
: {   for (long int k=0;k<n;k++)
:     mar[k].dis=mar[k].total*mar[k].ratewon;
:         mar[k].income=mar[k].total-mar[k].dis;
: }
:
: void sort(Tag mar[],int n)
: {   struct Tag temp;
:         for (int k=0;k<n-1;k++)
:     for (int h=k+1;h<n;h++)
:         if (mar[k].num<mar[h].num)
:             {   temp=mar[k];
:                 mar[k]=mar[h];
:             mar[h]=temp;
:                 }
: }
:
: void print(Tag mar[], int n)
: {  printf("고객번호  거주지명  매출액  할인액  순매출액\n");
:    for (int k=0;k<n;k++)
:    {   printf("%6d %10s %5d %5d %5d \n",mar[k].num, mar[k].add, mar[k].total, mar[k].dis, mar[k].income);
:    }
: }
:
:
: 제대로 한거 같은데...왜 안되는지 모르겠네여...가르쳐주세여.. 왜 틀린건지?
:
:

+ -

관련 글 리스트
25876 틀린부분좀 갈켜주세여.. 학생 528 2003/06/11
25881     Re:틀린부분좀 갈켜주세여.. 숙제맨 500 2003/06/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.