<div><br></div> <div>제목 대로 숫자를 입력받아서 +1 증가시켜 내뱉어야 하는 함수를 짜야합니다.</div> <div><br></div> <div>1->2, 2->3 .....998->999</div> <div>여기까진 정상적입니다. 그런데.</div> <div><br></div> <div>999->A01, A01->A02.... A99 -> B01.... </div> <div><br></div> <div>어떤 형태인지 보이시죠?</div> <div><br></div> <div>이에 대한 논리를 소스로 짜야되서 우선적으로 생각 된게 이런 형태입니다.</div> <div><br></div> <div>if 입력값 <= 1 and 입력값 >= 998 <span class="Apple-tab-span" style="white-space:pre;"> </span>//입력값이 1~998인경우</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>RETURN<span class="Apple-tab-span" style="white-space:pre;"> </span>입력값=입력값+1</div> <div><br></div> <div>else if 입력값 == 999 <span class="Apple-tab-span" style="white-space:pre;"> </span>//입력값이 999인경우</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>RETURN 입력값 = A01</div> <div>else <span class="Apple-tab-span" style="white-space:pre;"> </span>//나머지 경우 A01,A02...B01,B02....</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>strFnum 선언 <span class="Apple-tab-span" style="white-space:pre;"> </span>//입력되는 3자리숫자중 앞에 첫번째 자리 문자 ex) A01에서 A에 해당</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>strBnum 선언 <span class="Apple-tab-span" style="white-space:pre;"> </span>//입력되는 3자리숫자중 두 번째, 세 번째 자리 문자 ex) A01에서 01에 해당</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>strFnum=입력값.left(0)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>strBum=입력값.right(1)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if strBnum == 99 <span class="Apple-tab-span" style="white-space:pre;"> </span>//A99,B99,C99.....</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>strFnum= Asc(strFnum+1) <span class="Apple-tab-span" style="white-space:pre;"> </span>// 아스키코드 값을 증가시켜 가르키는 알파벳 값을 올려줍니다.</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>strBnum=01</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else <span class="Apple-tab-span" style="white-space:pre;"> </span>//A01,A02....A98, B01,B02....B98....</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>strBnum=strBum + 1 <span class="Apple-tab-span" style="white-space:pre;"> </span>//01->02, 02->03...</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>end if</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>RETURN 입력값 = strFnum & strBum </div> <div>end if</div> <div><br></div> <div>뭐 이런 형태로 구현을 하였습니다.(수도코드 형태라 문법이 짬뽕된 느낌일겁니다).</div> <div><br></div> <div>즉 값을 입력받아서 1~998이냐 999이냐 그외의 것이냐 판별하여 값을 +1증가하여 되돌려 주는 형태로 구현하였는데요.</div> <div><br></div> <div>이상태로도 사용하는데는 지장이 없지만 뭔가 이중 if문을 사용한 형태다 보니 깔끔하지가 않은거 같습니다.</div> <div><br></div> <div>소스를 짜달라는게 아니라 좀더 좋은 논리가 없을 까 싶어서 이렇게 질문글 올립니다.</div> <div><br></div> <div>참고로 언어는 VB와 c#이기때문에 포인터는 사용하지 않았습니다.</div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.