프로그램 짜는데요 질문이요
가든
c를 사용하여 ktx 예매 프로그램을 짜고있습니다
ktx 구간별 요금입니다
서울 - 천안 - 대전 - 대구 - 부산
80150 270 402 키로
배열로 할당했는데요
출발지 서울(0) 도착지 천안(1)을 입력하면 (천안 에서 서울 역방향 포함)
거리 80키로에 요금 거리 * 100해서 8000원이 나오는 프로그램입니다
근데 제가 좀 초보라 배열을 저렇게 길게 바께 못잡아서요
이거보다 좀 더 간단하게 하는방법좀 알켜주세요 다른방식도 괜찮습니다
그리고 티켓 판매 결과 예를 들어 서울 - 천안 1장 , 부산 - 서울 (1장) 대전 - 대구 (0장)
총 티켓 판매개수 2 장 판매요금 50000만
이런식으로 하려면 어케하나요?
알려주시면 정말 감사하겠습니다 #includestdio.h
#includectype.h
main()
{
int i,j,sum=0,habge=0,ch;
int train[5][5];
train[0][0] = 0;
train[0][1] = 80; //서울 - 천안
train[0][2] = 150; //서울 - 대전
train[0][3] = 270;
train[0][4] = 420; //서울 - 부산
train[1][0] = 80;
train[1][1] = 0;
train[1][2] = 70; //천안 - 대전
train[1][3] = 190;
train[1][4] = 340;
train[2][0] = 150;
train[2][1] = 70;
train[2][2] = 0;
train[2][3] = 120; //대전 - 대구
train[2][4] = 270;
train[3][0] = 270;
train[3][1] = 190;
train[3][2] = 120;
train[3][3] = 0;
train[3][4] = 150;
train[4][0] = 420;
train[4][1] = 340;
train[4][2] = 270;
train[4][3] = 150;
train[4][4] = 0;
printf(----서울역[0]----천안역[1]----대전역[2]----대구역[3]----부산역[4]----\n\n);
printf(출발역을 숫자로 입력하십시오. : );
scanf(%d,&i);
printf(도착역을 숫자로 입력하십시오. : );
scanf(%d,&j);
printf(출발역%d, 도착역%d, 출력 : 거리%dkm, 구간요금%d원\n,i,j,train[i][j],train[i][j]*100);
sum=sum+1;
habge=habge+train[i][j]*100; // 총판매금액
printf(전체 판매 티켓 : %d장, 전체 판매 금액 : %d원\n,sum,habge);
printf(표를 계속 사시겠습니까? 1=계속, 0=종료 :\n);
scanf(%d,&ch);
if(ch=1)
if(ch=0)
return 0;
}
-
시윤
저 배열을 구조체로 하면 줄어드나요??
-
잎새
티켓 한 장의 판매는
int train[4] = { 80, 150, 270, 402 }; // 1차원 배열로 잡고, 각각 0구간, 1구간, 2구간, 3구간이라면
from에서 to까지 이동한다면 (서울 0, ... , 부산 4, fromto가 되도록 만들면)
for(i=from; ito; i++)
거리 += train[i]*100;
금액 = 거리*100;
입니다.
여러 장의 표에 대한 판매내용을 기록하는 변수가 있어야 하는데
동적할당을 사용하지