이소스을 조건에 맞게 수정해주세요..
수련
이소스을 조건에 맞게 수정해주세요..일단 그냥 소스를 만들었는데 도통 이해가 가지 않는것들이 많아서 질문드렸습니다.질문 내용 :
단원이 포인터에 관련된 것이고
문제가 포인터를 이용하여 물품판매연황을 출력하는 프로그램
실습목표
기억공간을 동적으로 할당하고 매크로를 사용하여 최대 데이터의 개수를 지정하고, 포인터를 사용하여 물품명, 단가를 관리하는 것을 실습하여본다.
문제의요구사항이
물품의 수만큼 기억공간을 동적으로 할당한다.
물품명은 2중 포인터를 사용하여 여러 개의 문자열을 나타낼 수 있도록 한다.
각 물품의 물품명, 단가, 수량, 금액을 출력한다.
금액에대한 총계를 출력한다.
힌트
문자형포인터 배열과 정수형 포인터를 이용할 것
매크로 상수를 사용하며 품목의 개수를 지정할것
일단 짜본 소스입니다.
#includestdio.h
#includeconio.h
int main()
{
long int a=357000,b=129900,c=442500,d=234300,f=167400; //각각 카메라,mp3,휴대폰,tv,dvd에 대한 단가
long long int g,h,i,j,k,t; // 곱한 결과값을 집어넣기 위한 변수(t는 총계변수)
int o,p,q,r,s; //물품수를넣기위한 변수
printf(***********가전 제품 판매 보고서**************\n);
printf(\n각 가전제품에 대한 수량을 이력하고 엔터\n);
printf(디지털 카메라: 수량 );
scanf(%d,&o);
printf(mp3 플레이어: 수량 );
scanf(%d,&p);
printf(휴대폰: 수량 );
scanf(%d,&q);
printf(tv: 수량 );
scanf(%d,&r);
printf(dvd 플레이어: 수량 );
scanf(%d,&s);
g=a*o;
h=b*p;
i=c*q;
j=d*r;
k=f*s;
t=g+h+i+j+k;
printf(\n물품판매현황\n);
printf(물품 단가 수량 금액\n);
printf(디지털카메라 %2d\t %2d\t %2d 원\n,a,o,g);
printf(mp3 플레이어 %2d\t %2d\t %2d 원\n,b,p,h);
printf(휴대폰 %2d\t %2d\t %2d 원\n,c,q,i);
printf(tv %2d\t %2d\t %2d 원\n,d,r,j);
printf(dvd 플레이어 %2d\t %2d\t %2d 원\n,f,s,k);
printf(총계 %2d 원,t);
getch();
}
지적할것을 지적하시고 수정해주시고 설명도 해주시면 감사하겟습니다.
출력결과의 총계가 3442800인데 문제에싀 결과화면에서는 2367460으로 나온던데 잘 모르겠습니다.
(카메라 2,엠피3 3,휴대폰 4, 티비 1 , dvd 2로 입력했습니다.)
결과화면이 잘못나온것인지.... 아무튼 답변부탁드립니다