|
//---------------------------------------------------------------------------
#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);
: }
: }
:
:
: 제대로 한거 같은데...왜 안되는지 모르겠네여...가르쳐주세여.. 왜 틀린건지?
:
:
|