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