안녕하세요!
오늘도 게임개발자가 되기위해 공부하고 있는 구구입니다.
오늘은 어제처럼 C#으로 문제를 풀어보도록 하겠습니다.
문제 풀이는 제가 문제를 풀때 생각했던 순서의 흐름데로 정리를 해보았습니다.
제가 틀릴 수도 있고 완전한 정답은 없기 때문에 해보실 분들은 해보면서
자신이 원하는 답을 먼저 머리속으로 생각해 보시고 코딩한 뒤 자신이 원하는대로
동작을 하는가에 중점을 두고 코딩을 해보시면 좋을것 같습니다.
- 문제
- 두 수를 입력받아 더하기 연산을 10번까지 저장가능한 프로그램
- 연산을 저장할 때 배열 사용하기
- 연산을 끝내고 나갈때 기존의 연산자료 한번에 출력
이번 문제는 어제보다는 쉬울꺼 같다는 생각을 처음에 했습니다.
우선 두 수를 입력받아야 하고 계산의 최고횟수는 10이라는 점을 보고 const를 사용하고 각각의 받는 숫자들은 배열을 이용하면 될것같다는 생각을 했습니다. 그리고 최고횟수 10까지 카운트하기 위해서 count라는 숫자를 사용하기로 했습니다. while문을 이용해서 계속 루프를 돌리지만 count가 10보다 작을때만 돌아갈 예정입니다.(count == 0)
일단 여기까지 했다면 이제는 숫자를 입력받아야하고 그 숫자를 계산결과와 함께 출력해야하며 원한다면 결과를 출력해야합니다. 우선 숫자를 입력받는 함수를 만들었습니다.
static void InputNumber(int count, int[] InputA, int[] InputB)
위 함수는 count를 index로 쓰기위해 우선 count를 추가했고(count를 index로 쓰기위해서 count시작을 0으로 설정)
InputA와 InputB는 각각 배열인데 마지막에 지금까지 했던 계산결과를 출력하기 위해 배열로 숫자를 받기로 했습니다.
그 다음은 받은 수를 가지고 출력하는 함수를 만들었습니다.
static void PrintResult(int count, int[] InputA, int[] InputB)
마지막으로 끝낼껀지 확인하는 함수를 만들었습니다.
static bool CheckEnd()
bool값을 반환하는 함수입니다. 만약 추가로 계산할꺼면 1을, 그만할꺼면 0을 입력받을 예정이고 만약 계속하면 false를 그만한다면 true를 반환할 예정입니다.
이제는 메인함수의 while문 안을 정리하는 일만 남았습니다.
InputNumber함수와 PrintResult함수를 쓰고 만약 CheckEnd()함수가 true거나(즉, 그만두고싶거나), count가 9일때(총 10번의 계산을 완료했을때) 지금까지 계산한 연산을 전부 출력하기위해 for문과 PrintResult함수를 이용해서 count만큼 결과를 출력하고 while문을 빠져나갑니다(break사용).
이렇게해서 코딩은 완료되고 실제로 구동해 보도록 하겠습니다.
첫번째 결과는 계산을 10번이나 해버려서 계산을 마무리한 케이스 입니다.
두번째 결과는 3번만 연산을 하고 연산을 그만하고 싶다고 했을때 계산을 마무리한 모습입니다.
어제부터 지금까지 배운 내용들로 문제를 풀어보았는데 지금 제가 보아도 미숙한점이 많은것 같습니다.
변수선언이라던가 뭔가 깔끔하지 않은 부분들이 많이 보입니다.
앞으로 공부하면서 이러한 부분들을 줄여나가는게 중요할것 같습니다.
오늘은 여기까지 하도록 하겠습니다.
댓글