일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- C++
- 안드로이드 앱 개발
- 네트워크 프로그래밍
- 파이썬
- 실습으로 다지는 c#
- 알고리즘
- 동영상 강의
- 산책하기 좋은 곳
- Windows Forms
- 표준 입출력
- 무료 동영상 강의
- 유튜브 동영상 강의
- 클래스 다이어그램
- 언제나 휴일
- 졸업 작품 소재
- 동영상
- c#
- 원격 제어 프로그램
- 독립기념관
- 소스 코드
- 언제나휴일
- c언어
- 추천
- 실습
- 표준 라이브러리 함수
- 캡슐화
- 프로젝트
- 충남 천안
- 강의
- 소켓 통신
- Today
- Total
프로그래밍 언어 및 기술 [언제나휴일]
[실습으로 다지는 C#] 두 개의 정수를 입력받아 큰 수를 출력 본문
이번 강의부터 제어문에 관한 실습을 진행할 거예요.
제어문 중에서도 이번 실습에서는 조건문 if else에 관한 실습입니다. 그리고 첫 번째 주제는 두 개의 정수를 입력받아 큰 수를 출력하는 실습입니다.
프로그래밍을 할 때 해야 할 작업을 바로 코드로 작성하는 것은 초반에 조급함을 달래줄 수는 있을 거예요. 하지만 실제 작업을 완료하려면 많은 시행 착오로 비용이 많이 들어갈 수 있어요.
가급적이면 해야 할 작업을 의사코드(psuedo code)나 다이어그램 등을 이용하여 논리를 전개해 본 후에 타당하다면 코드로 옮기는 습관을 가져보세요. 이와 같이 작업하면 초반에 작업이 더딘 느낌이 들 거예요. 하지만 실제 작업을 완료하기 위해 들어가는 비용은 줄어들 것이라 생각합니다.
먼저 의사 코드를 작성해 봅시다. 여러분께서 먼저 작성한 후에 비교해 보면 좋을 것 같아요.
input := 정수를 입력 받는다.
조건(정수로 변환(input,out num1)이 실패)
오류를 출력 후 알고리즘 종료
input := 정수를 입력 받는다.
조건(정수로 변환(input,out num2)이 실패)
오류를 출력 후 알고리즘 종료
조건(num1>num2)
num1이 크다고 출력
else 조건(num1 == num2)
두 수가 같다고 출력
else
num2가 크다고 출력
다음은 플로우 챠트로 도식화한 것입니다. 필요에 의해 원하는 형태의 다이어그램으로 작성할 수 있을 거예요. 실제 제가 작업할 때는 의사 코드나 다이어그램은 선택적으로 작성하며 같은 내용을 두 개로 작성하지는 않습니다.
이와 같은 작업을 수행하였으면 이를 개발도구에 주석으로 달아보세요. 참고로 제가 주석을 달 때는 조건문이나 반복문에서 블록을 주석과 함께 먼저 입력하는 습관을 갖고 있습니다. 여러분들이 주석으로 옮기고 난 후에 비교해 보세요.
//http://ehpub.co.kr
//실습으로 다지는 C#
//4. 조건문(if else) 실습1 - 두 개의 정수를 입력받아 큰 수를 출력
using System;
namespace _004_조건문_실습1_두_개의_정수를_입력받아_큰_수를_출력
{
class Program
{
static void Main(string[] args)
{
//input:= 정수를 입력 받는다.
//조건(정수로 변환(input, out num1)이 실패)
{
//오류를 출력 후 알고리즘 종료
}
//input := 정수를 입력 받는다.
//조건(정수로 변환(input, out num2)이 실패)
{
//오류를 출력 후 알고리즘 종료
}
//조건(num1 > num2)
{
//num1이 크다고 출력
}
//else 조건(num1 == num2)
{
//두 수가 같다고 출력
}
//else
{
//num2가 크다고 출력
}
}
}
}
이제 주석을 코드로 변환해야겠죠.
첫 번째 정수를 입력받는 부분을 작성하세요.
Console.WriteLine("첫 번째 정수를 입력하세요.");
string input = Console.ReadLine();//input:= 정수를 입력 받는다.
입력받은 정수가 오류가 있는지 판별하는 부분을 작성합시다.
int num1;
if(int.TryParse(input,out num1)==false)//조건(정수로 변환(input, out num1)이 실패)
{
Console.WriteLine("정수를 입력하지 않았습니다.");//오류를 출력 후 알고리즘 종료
return;
}
두 번째 정수를 입력받고 오류가 있는지 판별하는 부분까지 작성하세요.
Console.WriteLine("두 번째 정수를 입력하세요.");
input = Console.ReadLine();//input := 정수를 입력 받는다.
int num2;
if(int.TryParse(input,out num2)==false)//조건(정수로 변환(input, out num2)이 실패)
{
Console.WriteLine("정수를 입력하지 않았습니다.");//오류를 출력 후 알고리즘 종료
return;
}
이제 두 개의 정수를 크기를 비교하여 큰 수를 출력하는 나머지 부분을 작성해 봅시다.
if(num1>num2)//조건(num1 > num2)
{
Console.WriteLine("{0}이 {1}보다 큽니다.", num1, num2);//num1이 크다고 출력
}
else if(num1== num2)//else 조건(num1 == num2)
{
Console.WriteLine("두 수는 모두 {0}입니다.", num1);//두 수가 같다고 출력
}
else//else
{
Console.WriteLine("{0}이 {1}보다 큽니다.", num2, num1);//num2가 크다고 출력
}
이처럼 코드를 편집하였다면 작성한 코드가 정상적으로 동작하는지 테스트를 해야겠죠. 테스트를 할 때도 시나리오가 필요합니다.
여기에서는 두 개의 정수를 정상적으로 입력할 때와 그렇지 않을 때로 크게 구분할 수 있어요. 그리고 정상적으로 입력할 때에도 첫 번째 정수가 클 때, 두 수가 같을 때, 두 번째 정수가 클 때로 나눌 수가 있겠죠.
=테스트 case1 실행 결과=
첫 번째 정수를 입력하세요.
5
두 번째 정수를 입력하세요.
2
5이 2보다 큽니다.
=테스트 case2 실행 결과=
첫 번째 정수를 입력하세요.
5
두 번째 정수를 입력하세요.
5
두 수는 모두 5입니다.
=테스트 case3 실행 결과=
첫 번째 정수를 입력하세요.
2
두 번째 정수를 입력하세요.
5
5이 2보다 큽니다.
=테스트 case4 실행 결과=
첫 번째 정수를 입력하세요.
5
두 번째 정수를 입력하세요.
이
정수를 입력하지 않았습니다.
=테스트 case5 실행 결과=
첫 번째 정수를 입력하세요.
이
정수를 입력하지 않았습니다.
다음은 이번 실습에 작성한 전체 소스 코드입니다.
//http://ehpub.co.kr
//실습으로 다지는 C#
//4. 조건문(if else) 실습1 - 두 개의 정수를 입력받아 큰 수를 출력
using System;
namespace _004_조건문_실습1_두_개의_정수를_입력받아_큰_수를_출력
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("첫 번째 정수를 입력하세요.");
string input = Console.ReadLine();//input:= 정수를 입력 받는다.
int num1;
if(int.TryParse(input,out num1)==false)//조건(정수로 변환(input, out num1)이 실패)
{
Console.WriteLine("정수를 입력하지 않았습니다.");//오류를 출력 후 알고리즘 종료
return;
}
Console.WriteLine("두 번째 정수를 입력하세요.");
input = Console.ReadLine();//input := 정수를 입력 받는다.
int num2;
if(int.TryParse(input,out num2)==false)//조건(정수로 변환(input, out num2)이 실패)
{
Console.WriteLine("정수를 입력하지 않았습니다.");//오류를 출력 후 알고리즘 종료
return;
}
if(num1>num2)//조건(num1 > num2)
{
Console.WriteLine("{0}이 {1}보다 큽니다.", num1, num2);//num1이 크다고 출력
}
else if(num1== num2)//else 조건(num1 == num2)
{
Console.WriteLine("두 수는 모두 {0}입니다.", num1);//두 수가 같다고 출력
}
else//else
{
Console.WriteLine("{0}이 {1}보다 큽니다.", num2, num1);//num2가 크다고 출력
}
}
}
}
언제나휴일 여행 및 산책
'C# > 실습으로 다지는 C#' 카테고리의 다른 글
[실습으로 다지는 C#] 캡슐화 실습 – 학생 클래스 정의하기 (0) | 2025.01.05 |
---|---|
[실습으로 다지는 C#] 랜덤 값 맞추기 (0) | 2025.01.05 |
[실습으로 다지는 C#] 암스트롱의 수 (0) | 2025.01.05 |
[실습으로 다지는 C#] 두 개의 정수 사이의 합계 구하기 (0) | 2025.01.05 |
[실습으로 다지는 C#] 두 개의 정수를 입력받아 작은 수가 큰 수의 약수인지 판별 (0) | 2025.01.05 |
[실습으로 다지는 C#] 정수와 소수점 이하 자릿수 결정하기 (1) | 2025.01.05 |
[실습으로 다지는 C#] 숫자 출력 – 형식 지정자 이용하기 (0) | 2025.01.05 |
[실습으로 다지는 C#] 문자열 출력 포멧 (0) | 2025.01.05 |