Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2014/속도위반/0502: Difference between revisions

From ZeroWiki
imported>miura0806
No edit summary
(Table transclusion repair v1)
 
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__TOC__
= 진행사항 =
= 진행사항 =
* 참여자
* 참여자
Line 9: Line 10:
| 튜티
| 튜티
| [[유재범]]
| [[유재범]]
|  
| 참석
|-
|-
|  
|  
| [[오영은]]
| [[오영은]]
|  
| 참석
|-
|-
|  
|  
| [[장우진]]
| [[장우진]]
|  
| 참석
|-
|-
|  
|  
| [[문태현]]
| 문태현
|  
| 참석
|}
|}
* 메모리 구조 간단 설명
* 메모리 구조 간단 설명
Line 28: Line 29:
** 할당에 대한 간단한 이야기
** 할당에 대한 간단한 이야기
* Call-by-Value / Call-by-Reference
* Call-by-Value / Call-by-Reference
    <span style="color:white">
<!-- MONIWIKI HTML BLOCK START -->
  ☆ 수업 PPT 파일 : https://drive.google.com/file/d/0By2npLlzwRQAZmp6T05FUDhldW8/edit?usp=sharing
    <span style="color:white">
&lt;/span&gt;
☆ 수업 PPT 파일 : https://drive.google.com/file/d/0By2npLlzwRQAZmp6T05FUDhldW8/edit?usp=sharing
   
</span>
* 다음 수업 : 5월 9일 금요일 오후 6시
 
<!-- MONIWIKI HTML BLOCK END -->
* 다음 수업 : 5월 16일 금요일 오후 6시


= 과제 =
= 과제 =
* 없음 ^ㅅ^
* 초간단☆ 지하철 노선도 만들기
** 3호선과 9호선만 만들면 됨
** 노선도 출력은 필요하지 않음.
** 출발역과 도착역을 입력받아 걸리는 시간을 계산한다.
** 이 때, 3호선의 역간거리는 4분, 9호선의 역간거리는 2분으로 통일한다.
** 환승을 할 경우, 환승여부를 알려주어야 하며 환승에 걸리는 시간은 3분이다.
 
* 배열에 대한 질문은 일단 구글링을 해 본 후, 막막하면 튜터에게 개인적으로 물어보세요.
 
== 유재범 ==
#include &lt;stdio.h&gt;
#pragma warning(disable : 4996)
#include &lt;math.h&gt;
#include &lt;string.h&gt;
int main(void)
{
char * linethree&#91;42&#93; = {"대화", "주엽", "정발산", "마두", "백석", "대곡", "화정", "원당", "삼송", "지축", "구파발", "연신내", "불광", "녹번", "홍제", "무악재", "독립문",  "경복궁", "안국", "종로3가", "을지로3가", "동대입구역", "약수", "금호", "옥수", "압구정", "신사", "잠원", "고속터미널", "교대", "남부터미널", "양재", "매봉", "도곡", "대치", "학여울", "대청", "일원", "수서", "가락시장", "경찰병원", "오금"};
char * linenine&#91;24&#93; = {"개화", "김포공항", "공항시장", "신방화", "양천향교", "가양", "증미", "등촌", "염창", "신목동", "선유도", "당산", "국회의사당", "여의도", "샛강", "노량진", "노들", "흑석", "동작", "구반포", "신반포", "고속터미널", "사평", "신논현"};
char start&#91;20&#93; = {0,};
char finish&#91;20&#93; = {0, };
int termnine=0, termthree=0, linecheck1=0, linecheck2=0, searchcount1=0, searchcount2=0, searchnum1=10, searchnum2=10, casee=0;
//linethree&#91;&#93; : 3호선 노선도
//linenine&#91;&#93; : 9호선 노선도
//start&#91;&#93; : 출발역 입력
//finish&#91;&#93; : 도착역 입력
//termnine : 9호선 이동 역 수
//termthree : 3호선 이동 역 수
//linecheck1 : 출발역 지하철 노선 확인
//linecheck2 : 도착역 지하철 노선 확인
//searchcount1, searchcount2 : 출발역, 도착역 검색 확인
//searchnum1, searchnum2 : 출발역, 도착역 비교 검색
printf("출발 역을 입력하시오 : ");
scanf("%s", start);
printf("도착 역을 입력하시오 : ");
scanf("%s", finish);
while(searchnum1 !=0)//출발역 3호선인지 검사
{
searchnum1 = strcmp(linethree&#91;searchcount1&#93;, start);
searchcount1 ++;
if(searchnum1 == 0)
linecheck1=3;
if (searchcount1==41)
break;
}
if (searchcount1==41)//출발역 9호선인지 검사
{
searchcount1 = 0;
while(searchnum1 !=0)
{
searchnum1 = strcmp(linenine&#91;searchcount1&#93;, start);
searchcount1 ++;
if(searchnum1 == 0)
linecheck1=9;
}
}
while(searchnum2 !=0)//도착역 3호선인지 검사
{
searchnum2 = strcmp(linethree&#91;searchcount2&#93;, finish);
linecheck2=3;
searchcount2 ++;
if(searchcount2 == 41)
break;
}
if(searchcount2==41)//도착역 9호선인지 검사
{
searchcount2 = 0;
while(searchnum2 !=0)
{
searchnum2 = strcmp(linenine&#91;searchcount2&#93;, finish);
linecheck2=9;
searchcount2 ++;
}
}
if((linecheck1 == linecheck2) &amp;&amp; (linecheck1==3))//출발역 도착역 3호선 위치
{
termthree = abs((&amp;linethree&#91;searchcount1&#93;) - (&amp;linethree&#91;searchcount2&#93;));
printf("출발역 : %s\n도착역 : %s\n걸리는 시간 : %d시간 %d분\n", linethree&#91;(searchcount1)-1&#93;, linethree&#91;(searchcount2-1)&#93;, (termthree/15), ((4*termthree)%60));
}
else if((linecheck1 == linecheck2) &amp;&amp; (linecheck1==9))//출발역 도착역 9호선 위치
{
termnine = abs((&amp;linenine&#91;searchcount1&#93;) - (&amp;linenine&#91;searchcount2&#93;));
printf("출발역 : %s\n도착역 : %s\n걸리는 시간 : %d시간 %d분\n", linenine&#91;(searchcount1 - 1)&#93;, linenine&#91;(searchcount2 - 1)&#93;, (2*termnine/60), ((2*termnine)%60));
}
else if((linecheck1 != linecheck2) &amp;&amp; (linecheck1==3))//출발역 3호선, 도착역 9호선 위치
{
termthree = abs((&amp;linethree&#91;searchcount1&#93;) - (&amp;linethree&#91;28&#93;)-1);
termnine = abs((&amp;linenine&#91;21&#93;) - (&amp;linenine&#91;searchcount2&#93;)-1);
printf("출발역 : %s\n환승역 : %s\n도착역 : %s\n걸리는 시간 : %d시간 %d분\n", linethree&#91;(searchcount1 - 1)&#93;, linethree&#91;28&#93;, linenine&#91;(searchcount2 - 1)&#93;, (((4*termthree)+(2*termnine)+3)/60), (((4*termthree)+(2*termnine)+3)%60));
}
else if((linecheck1 != linecheck2) &amp;&amp; (linecheck1==9))//출발역 9호선, 도착역 3호선 위치
{
termnine = abs((&amp;linenine&#91;searchcount1&#93;) - (&amp;linenine&#91;21&#93;)-1);
termthree = abs((&amp;linethree&#91;28&#93;) - (&amp;linethree&#91;searchcount2&#93;)-1);
printf("출발역 : %s\n환승역 : %s\n도착역 : %s\n걸리는 시간 : %d시간 %d분\n", linenine&#91;(searchcount1 - 1)&#93;, linenine&#91;21&#93;, linethree&#91;(searchcount2 - 1)&#93;, (((4*termthree)+(2*termnine)+3)/60), (((4*termthree)+(2*termnine)+3)%60));
}
return 0;
}


미친듯한 3호선과 9호선 배열
함수 따위 쓰지 않는 屛身같은 코드.
왠지 모르겠지만 중간에 오차가 가끔 발생한다.(정말이지 왜 그런지 모르겠습니다. 고터 다음 배열부분이 출발 지역일 때 오차가 납니다.
== 오영은 ==
#include&lt;stdio.h&gt;
#include&lt;string.h&gt;
char * line3&#91;42&#93; = {"대화", "주엽", "정발산", "마두", "백석", "대곡", "화정", "원당", "삼송", "지축", "구파발", "연신내", "불광", "녹번", "홍제", "무악재", "독립문",  "경복궁", "안국", "종로3가", "을지로3가", "동대입구역", "약수", "금호", "옥수", "압구정", "신사", "잠원", "고속터미널", "교대", "남부터미널", "양재", "매봉", "도곡", "대치", "학여울", "대청", "일원", "수서", "가락시장", "경찰병원", "오금"};
char * line9&#91;24&#93; = {"개화", "김포공항", "공항시장", "신방화", "양천향교", "가양", "증미", "등촌", "염창", "신목동", "선유도", "당산", "국회의사당", "여의도", "샛강", "노량진", "노들", "흑석", "동작", "구반포", "신반포", "고속터미널", "사평", "신논현"};
char start&#91;10&#93;, finish&#91;10&#93;;
int three_s=0, nine_s=0, three_f=0, nine_f=0, threeloop_s=1, nineloop_s=1, threeloop_f=1, nineloop_f=1, totaltime=0;
int woojinbabo();
int jaebumbabo();
int main()
{
printf("출발역을 입력해주세요 : ");
scanf("%s", &amp;start);
printf("도착역을 입력해주세요 : ");
scanf("%s", &amp;finish);
while(three_s&lt;42)
{
threeloop_s=strcmp(line3&#91;three_s&#93;, start);
            three_s++;
if(threeloop_s==0)
{
break;
}
      }
while(nine_s&lt;24)
{
    nineloop_s=strcmp(line9&#91;nine_s&#93;, start);
nine_s++;
if(nineloop_s==0)
{
break;
}
    }
while(three_f&lt;42)
{
threeloop_f=strcmp(line3&#91;three_f&#93;, finish);
            three_f++;
if(threeloop_f==0)
{
break;
}
      }
while(nine_f&lt;24)
{
    nineloop_f=strcmp(line9&#91;nine_f&#93;, finish);
nine_f++;
if(nineloop_f==0)
{
break;
}
    }
if(threeloop_s==0 &amp;&amp; nineloop_s!=0 &amp;&amp; threeloop_f==0 &amp;&amp; nineloop_f!=0)
{
    totaltime=abs(three_s-three_f)*2;
jaebumbabo();
}
if(threeloop_s==0 &amp;&amp; nineloop_s!=0 &amp;&amp; threeloop_f!=0 &amp;&amp; nineloop_f==0)
{
    totaltime=abs(29-three_s)*2+3+abs(22-nine_f)*2;
woojinbabo();
}
if(threeloop_s!=0 &amp;&amp; nineloop_s==0 &amp;&amp; threeloop_f==0 &amp;&amp; nineloop_f!=0)
{
    totaltime=abs(22-nine_s)*2+3+abs(29-three_f)*2;
woojinbabo();
}
if(threeloop_s!=0 &amp;&amp; nineloop_s==0 &amp;&amp; threeloop_f!=0 &amp;&amp; nineloop_f==0)
{
    totaltime=abs(nine_s-nine_f)*2;
jaebumbabo();
}
if(threeloop_s==0 &amp;&amp; nineloop_s==0 &amp;&amp; threeloop_f==0 &amp;&amp; nineloop_f==0)
{
    totaltime=abs(three_s-three_f)*2;
jaebumbabo();
}
if(threeloop_s==0 &amp;&amp; nineloop_s==0 &amp;&amp; threeloop_f!=0 &amp;&amp; nineloop_f==0)
{
    totaltime=abs(three_s-three_f)*2;
jaebumbabo();
}
if(threeloop_s==0 &amp;&amp; nineloop_s==0 &amp;&amp; threeloop_f==0 &amp;&amp; nineloop_f!=0)
{
    totaltime=abs(three_s-three_f)*2;
jaebumbabo();
}
if(threeloop_s!=0 &amp;&amp; nineloop_s==0 &amp;&amp; threeloop_f==0 &amp;&amp; nineloop_f==0)
{
    totaltime=abs(three_s-three_f)*2;
jaebumbabo();
}
if(threeloop_s==0 &amp;&amp; nineloop_s!=0 &amp;&amp; threeloop_f==0 &amp;&amp; nineloop_f==0)
{
    totaltime=abs(three_s-three_f)*2;
jaebumbabo();
}
return 0;
}
int woojinbabo()
{
printf("\n출발역 : %s\t도착역 : %s\n", start, finish);
printf("총 소요 시간 : %d분\n", abs(totaltime));
printf("환승역 : 고속터미널\n");
}
int jaebumbabo()
{
printf("\n출발역 : %s\t도착역 : %s\n", start, finish);
printf("총 소요 시간 : %d분\n", abs(totaltime));
}
좀더 꾸미고 싶은데 귀찮아서 안할래요... 맨처음 지하철역 쓰기도 귀찮아서 재범이가 써놓은거 긁어왔습니다. 재범찡 감사.
p.s.함수 이름에 신경쓰면 지는 겁니다. 아. 숨쉬기도 귀찮다.
== 장우진 ==
#include&lt;stdio.h&gt;
#include&lt;string.h&gt;
#include&lt;math.h&gt;
#include&lt;windows.h&gt;
int main()
{
char * subway3&#91;42&#93; = {"대화", "주엽", "정발산", "마두", "백석", "대곡", "화정", "원당", "삼송", "지축", "구파발", "연신내", "불광", "녹번", "홍제", "무악재", "독립문",  "경복궁", "안국", "종로3가", "을지로3가", "동대입구역", "약수", "금호", "옥수", "압구정", "신사", "잠원", "고속터미널", "교대", "남부터미널", "양재", "매봉", "도곡", "대치", "학여울", "대청", "일원", "수서", "가락시장", "경찰병원", "오금"};
char * subway9&#91;24&#93; = {"개화", "김포공항", "공항시장", "신방화", "양천향교", "가양", "증미", "등촌", "염창", "신목동", "선유도", "당산", "국회의사당", "여의도", "샛강", "노량진", "노들", "흑석", "동작", "구반포", "신반포", "고속터미널", "사평", "신논현"};
char start&#91;20&#93;,end&#91;20&#93;;
int check=1,i=0,j=0,m=0,n=0;
int time=0;
printf("출발하실 역을 입력해주세요 : ");
scanf("%s",&amp;start);
printf("도착하실 역을 입력해주세요 : ");
scanf("%s",&amp;end);
for(i=0;check!=0;i++)//출발역 3or9호선
{
check=strcmp(start,subway3&#91;i&#93;);
if(i&gt;=41)
{
i+=5;
for(j=0;check!=0;j++)
{
check=strcmp(start,subway9&#91;j&#93;);
}
}
}
i--;
j--;
check=1;
for(m=0;check!=0;m++)//출발역 3or9호선
{
check=strcmp(end,subway3&#91;m&#93;);
if(m&gt;=41)
{
m+=5;
for(n=0;check!=0;n++)
{
check=strcmp(end,subway9&#91;n&#93;);
}
}
}
n--;
m--;
if((i&lt;=42&amp;&amp;m&lt;=42)&amp;&amp;(i!=28&amp;&amp;m!=28))
{
time=abs(i-m)*4;
}
else if((i&gt;42&amp;&amp;m&lt;=42)&amp;&amp;(i!=28&amp;&amp;m!=28))
{
time=(abs(j-21)*4+abs(28-m)*2)+3;
printf("환승입니다.\n");
}
else if((i&lt;=42&amp;&amp;m&gt;42)&amp;&amp;(i!=28&amp;&amp;m!=28))
{
time=(abs(i-28)*4+abs(n-21)*2)+3;
printf("환승입니다.\n");
}
else if((i&gt;42&amp;&amp;m&gt;42)&amp;&amp;(i!=28&amp;&amp;m!=28))
{
time=abs(n-j)*2;
}
else if(i==28&amp;&amp;m&lt;=42)
time=abs(28-m)*4;
else if(i==28&amp;&amp;m&gt;42)
time=abs(21-n)*2;
else if(i&lt;=42&amp;&amp;m==28)
time=abs(28-i)*4;
else
time=abs(21-j)*2;
printf("총 소요 시간은 %d분입니다.\n",time);
return 0;
}
== 문태현 ==
= 후기 =
= 후기 =


-----
-----
[[:새싹교실/2014/속도위반 속도위반]]
:새싹교실/2014/속도위반 속도위반
 

Latest revision as of 12:46, 27 March 2026

진행사항

  • 참여자
튜터 최다인 참석
튜티 유재범 참석
오영은 참석
장우진 참석
문태현 참석
  • 메모리 구조 간단 설명
  • 포인터와 배열
    • 주소값
    • 할당에 대한 간단한 이야기
  • Call-by-Value / Call-by-Reference
   
☆ 수업 PPT 파일 : https://drive.google.com/file/d/0By2npLlzwRQAZmp6T05FUDhldW8/edit?usp=sharing

  • 다음 수업 : 5월 16일 금요일 오후 6시

과제

  • 초간단☆ 지하철 노선도 만들기
    • 3호선과 9호선만 만들면 됨
    • 노선도 출력은 필요하지 않음.
    • 출발역과 도착역을 입력받아 걸리는 시간을 계산한다.
    • 이 때, 3호선의 역간거리는 4분, 9호선의 역간거리는 2분으로 통일한다.
    • 환승을 할 경우, 환승여부를 알려주어야 하며 환승에 걸리는 시간은 3분이다.
  • 배열에 대한 질문은 일단 구글링을 해 본 후, 막막하면 튜터에게 개인적으로 물어보세요.

유재범

#include <stdio.h>
#pragma warning(disable : 4996)
#include <math.h>
#include <string.h>

int main(void)
{
	char * linethree[42] = {"대화", "주엽", "정발산", "마두", "백석", "대곡", "화정", "원당", "삼송", "지축", "구파발", "연신내", "불광", "녹번", "홍제", "무악재", "독립문",  "경복궁", "안국", "종로3가", "을지로3가", "동대입구역", "약수", "금호", "옥수", "압구정", "신사", "잠원", "고속터미널", "교대", "남부터미널", "양재", "매봉", "도곡", "대치", "학여울", "대청", "일원", "수서", "가락시장", "경찰병원", "오금"};
	char * linenine[24] = {"개화", "김포공항", "공항시장", "신방화", "양천향교", "가양", "증미", "등촌", "염창", "신목동", "선유도", "당산", "국회의사당", "여의도", "샛강", "노량진", "노들", "흑석", "동작", "구반포", "신반포", "고속터미널", "사평", "신논현"};
	char start[20] = {0,};
	char finish[20] = {0, };
	int termnine=0, termthree=0, linecheck1=0, linecheck2=0, searchcount1=0, searchcount2=0, searchnum1=10, searchnum2=10, casee=0;
	
	//linethree[] : 3호선 노선도
	//linenine[] : 9호선 노선도
	//start[] : 출발역 입력
	//finish[] : 도착역 입력
	//termnine : 9호선 이동 역 수
	//termthree : 3호선 이동 역 수
	//linecheck1 : 출발역 지하철 노선 확인
	//linecheck2 : 도착역 지하철 노선 확인
	//searchcount1, searchcount2 : 출발역, 도착역 검색 확인
	//searchnum1, searchnum2 : 출발역, 도착역 비교 검색

	printf("출발 역을 입력하시오 : ");
	scanf("%s", start);
	printf("도착 역을 입력하시오 : ");
	scanf("%s", finish);

	
	while(searchnum1 !=0)//출발역 3호선인지 검사
	{
		searchnum1 = strcmp(linethree[searchcount1], start);
		searchcount1 ++;
		if(searchnum1 == 0)
			linecheck1=3;
		if (searchcount1==41)
			break;
	}
	if (searchcount1==41)//출발역 9호선인지 검사
	{
		searchcount1 = 0;
		while(searchnum1 !=0)
		{
			searchnum1 = strcmp(linenine[searchcount1], start);
			searchcount1 ++;
			if(searchnum1 == 0)
				linecheck1=9;
		}
	}

	while(searchnum2 !=0)//도착역 3호선인지 검사
	{
		searchnum2 = strcmp(linethree[searchcount2], finish);
		linecheck2=3;
		searchcount2 ++;
		if(searchcount2 == 41)
			break;
	}
	if(searchcount2==41)//도착역 9호선인지 검사
	{
		searchcount2 = 0;
		while(searchnum2 !=0)
		{
			searchnum2 = strcmp(linenine[searchcount2], finish);
			linecheck2=9;
			searchcount2 ++;
		}
	}

	if((linecheck1 == linecheck2) && (linecheck1==3))//출발역 도착역 3호선 위치
	{
		termthree = abs((&linethree[searchcount1]) - (&linethree[searchcount2]));
		printf("출발역 : %s\n도착역 : %s\n걸리는 시간 : %d시간 %d분\n", linethree[(searchcount1)-1], linethree[(searchcount2-1)], (termthree/15), ((4*termthree)%60));
	}

	else if((linecheck1 == linecheck2) && (linecheck1==9))//출발역 도착역 9호선 위치
	{
		termnine = abs((&linenine[searchcount1]) - (&linenine[searchcount2]));
		printf("출발역 : %s\n도착역 : %s\n걸리는 시간 : %d시간 %d분\n", linenine[(searchcount1 - 1)], linenine[(searchcount2 - 1)], (2*termnine/60), ((2*termnine)%60));
	}

	else if((linecheck1 != linecheck2) && (linecheck1==3))//출발역 3호선, 도착역 9호선 위치
	{
		termthree = abs((&linethree[searchcount1]) - (&linethree[28])-1);
		termnine = abs((&linenine[21]) - (&linenine[searchcount2])-1);
		printf("출발역 : %s\n환승역 : %s\n도착역 : %s\n걸리는 시간 : %d시간 %d분\n", linethree[(searchcount1 - 1)], linethree[28], linenine[(searchcount2 - 1)], (((4*termthree)+(2*termnine)+3)/60), (((4*termthree)+(2*termnine)+3)%60));
	}

	else if((linecheck1 != linecheck2) && (linecheck1==9))//출발역 9호선, 도착역 3호선 위치
	{
		termnine = abs((&linenine[searchcount1]) - (&linenine[21])-1);
		termthree = abs((&linethree[28]) - (&linethree[searchcount2])-1);
		printf("출발역 : %s\n환승역 : %s\n도착역 : %s\n걸리는 시간 : %d시간 %d분\n", linenine[(searchcount1 - 1)], linenine[21], linethree[(searchcount2 - 1)], (((4*termthree)+(2*termnine)+3)/60), (((4*termthree)+(2*termnine)+3)%60));
	}	
	return 0;
}

미친듯한 3호선과 9호선 배열

함수 따위 쓰지 않는 屛身같은 코드.

왠지 모르겠지만 중간에 오차가 가끔 발생한다.(정말이지 왜 그런지 모르겠습니다. 고터 다음 배열부분이 출발 지역일 때 오차가 납니다.

오영은

#include<stdio.h>
#include<string.h>

char * line3[42] = {"대화", "주엽", "정발산", "마두", "백석", "대곡", "화정", "원당", "삼송", "지축", "구파발", "연신내", "불광", "녹번", "홍제", "무악재", "독립문",  "경복궁", "안국", "종로3가", "을지로3가", "동대입구역", "약수", "금호", "옥수", "압구정", "신사", "잠원", "고속터미널", "교대", "남부터미널", "양재", "매봉", "도곡", "대치", "학여울", "대청", "일원", "수서", "가락시장", "경찰병원", "오금"};
	char * line9[24] = {"개화", "김포공항", "공항시장", "신방화", "양천향교", "가양", "증미", "등촌", "염창", "신목동", "선유도", "당산", "국회의사당", "여의도", "샛강", "노량진", "노들", "흑석", "동작", "구반포", "신반포", "고속터미널", "사평", "신논현"};

	char start[10], finish[10];
	int three_s=0, nine_s=0, three_f=0, nine_f=0, threeloop_s=1, nineloop_s=1, threeloop_f=1, nineloop_f=1, totaltime=0;

	int woojinbabo();
	int jaebumbabo();

int main()
{
	
	printf("출발역을 입력해주세요 : ");
	scanf("%s", &start);
	printf("도착역을 입력해주세요 : ");
	scanf("%s", &finish);

	
	while(three_s<42)
		{
			threeloop_s=strcmp(line3[three_s], start);
            three_s++;
			if(threeloop_s==0)
			{
			break;
			}
     	}
	while(nine_s<24)
		{
		    nineloop_s=strcmp(line9[nine_s], start);
			nine_s++;
			if(nineloop_s==0)
			{
			break;
			}
	    }

	while(three_f<42)
		{
			threeloop_f=strcmp(line3[three_f], finish);
            three_f++;
			if(threeloop_f==0)
			{
			break;
			}
     	}
	while(nine_f<24)
		{
		    nineloop_f=strcmp(line9[nine_f], finish);
			nine_f++;
			if(nineloop_f==0)
			{
			break;
			}
	    }

	if(threeloop_s==0 && nineloop_s!=0 && threeloop_f==0 && nineloop_f!=0)
	{
	    totaltime=abs(three_s-three_f)*2;
		jaebumbabo();
	}

	if(threeloop_s==0 && nineloop_s!=0 && threeloop_f!=0 && nineloop_f==0)
	{
	    totaltime=abs(29-three_s)*2+3+abs(22-nine_f)*2;
		woojinbabo();
	}

	if(threeloop_s!=0 && nineloop_s==0 && threeloop_f==0 && nineloop_f!=0)
	{
	    totaltime=abs(22-nine_s)*2+3+abs(29-three_f)*2;
		woojinbabo();
	}

	if(threeloop_s!=0 && nineloop_s==0 && threeloop_f!=0 && nineloop_f==0)
	{
	    totaltime=abs(nine_s-nine_f)*2;
		jaebumbabo();
	}

	if(threeloop_s==0 && nineloop_s==0 && threeloop_f==0 && nineloop_f==0)
	{
	    totaltime=abs(three_s-three_f)*2;
		jaebumbabo();
	}

	if(threeloop_s==0 && nineloop_s==0 && threeloop_f!=0 && nineloop_f==0)
	{
	    totaltime=abs(three_s-three_f)*2;
		jaebumbabo();
	}

	if(threeloop_s==0 && nineloop_s==0 && threeloop_f==0 && nineloop_f!=0)
	{
	    totaltime=abs(three_s-three_f)*2;
		jaebumbabo();
	}

	if(threeloop_s!=0 && nineloop_s==0 && threeloop_f==0 && nineloop_f==0)
	{
	    totaltime=abs(three_s-three_f)*2;
		jaebumbabo();
	}

	if(threeloop_s==0 && nineloop_s!=0 && threeloop_f==0 && nineloop_f==0)
	{
	    totaltime=abs(three_s-three_f)*2;
		jaebumbabo();
	}



	
return 0;
}


int woojinbabo()
{
	printf("\n출발역 : %s\t도착역 : %s\n", start, finish);
	printf("총 소요 시간 : %d분\n", abs(totaltime));
	printf("환승역 : 고속터미널\n");
}
int jaebumbabo()
{
	printf("\n출발역 : %s\t도착역 : %s\n", start, finish);
	printf("총 소요 시간 : %d분\n", abs(totaltime));
}

좀더 꾸미고 싶은데 귀찮아서 안할래요... 맨처음 지하철역 쓰기도 귀찮아서 재범이가 써놓은거 긁어왔습니다. 재범찡 감사. p.s.함수 이름에 신경쓰면 지는 겁니다. 아. 숨쉬기도 귀찮다.


장우진

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<windows.h>

int main()
{
	char * subway3[42] = {"대화", "주엽", "정발산", "마두", "백석", "대곡", "화정", "원당", "삼송", "지축", "구파발", "연신내", "불광", "녹번", "홍제", "무악재", "독립문",  "경복궁", "안국", "종로3가", "을지로3가", "동대입구역", "약수", "금호", "옥수", "압구정", "신사", "잠원", "고속터미널", "교대", "남부터미널", "양재", "매봉", "도곡", "대치", "학여울", "대청", "일원", "수서", "가락시장", "경찰병원", "오금"};
	char * subway9[24] = {"개화", "김포공항", "공항시장", "신방화", "양천향교", "가양", "증미", "등촌", "염창", "신목동", "선유도", "당산", "국회의사당", "여의도", "샛강", "노량진", "노들", "흑석", "동작", "구반포", "신반포", "고속터미널", "사평", "신논현"};
	char start[20],end[20];
	int check=1,i=0,j=0,m=0,n=0;
	int time=0;
	printf("출발하실 역을 입력해주세요 : ");
	scanf("%s",&start);
	printf("도착하실 역을 입력해주세요 : ");
	scanf("%s",&end);
	for(i=0;check!=0;i++)//출발역 3or9호선
	{
		check=strcmp(start,subway3[i]);
		if(i>=41)
		{
			i+=5;
			for(j=0;check!=0;j++)
			{
				check=strcmp(start,subway9[j]);
			}
		}
			
	}
	i--;
	j--;
	check=1;
	for(m=0;check!=0;m++)//출발역 3or9호선
	{
		check=strcmp(end,subway3[m]);
		if(m>=41)
		{
			m+=5;
			for(n=0;check!=0;n++)
			{
				check=strcmp(end,subway9[n]);
			}
		}
			
	}
	n--;
	m--;
	if((i<=42&&m<=42)&&(i!=28&&m!=28))
	{
		time=abs(i-m)*4;
	}
	else if((i>42&&m<=42)&&(i!=28&&m!=28))
	{
		time=(abs(j-21)*4+abs(28-m)*2)+3;
		printf("환승입니다.\n");
	}
	else if((i<=42&&m>42)&&(i!=28&&m!=28))
	{
		time=(abs(i-28)*4+abs(n-21)*2)+3;
		printf("환승입니다.\n");
	}
	else if((i>42&&m>42)&&(i!=28&&m!=28))
	{
		time=abs(n-j)*2;
	}
	
	else if(i==28&&m<=42) 
		time=abs(28-m)*4;
	else if(i==28&&m>42)
		time=abs(21-n)*2;
	else if(i<=42&&m==28)
		time=abs(28-i)*4;
	else
		time=abs(21-j)*2;

	printf("총 소요 시간은 %d분입니다.\n",time);
	return 0;
}

문태현

후기


새싹교실/2014/속도위반 속도위반