문제
총 5개의 정수를 입력받아서 그 합을 출력하는 프로그램을 작성해 보자.
단, 0보다 큰 정수만을 입력받아야 한다.
0보다 작은 수는 무시한다.
(숫자는 5개를 입력받아서 그 합을 구한다.
만약 음의 값을 입력하였을 경우 양의 값을 입력 받을 때까지
계속 입력을 요청하도록 프로그램하세요)
(입력 값: 10, 21, -30, 10, 5, 45)
결과물

해설
소스에 적은 주석으로 하겠습니다.
소스
/*
만든이 : NoSyu
만든 날짜 : 2008-09-12
*/
#include <iostream> // iostream include
// using standard input/ouput
using std::cout;
using std::cin;
using std::endl;
// main function
int main(void)
{
int i; // for문용 integer variable
int sum = 0; // 총합
int val; // input을 받는 변수
// 총 다섯개의 정수를 받는다.
for(i = 0 ; i < 5 ;)
{
cout << "숫자를 하나를 입력해주세요. : "; // print
cin >> val; // 입력 받기
// val이 0보다 크거나 같다면 총합에 더한다.
if(val >= 0)
{
sum += val; // 총합 더하기
i++; // 0보다 큰 값을 받았기에 i를 증가시킨다.
}
/* 정수가 아닐 때 출력을 넣고 싶지만, 넣지 못했습니다.
찾아보니 ctype.h에 isdigit가 들어온 값이 정수임을 확인하는 듯싶습니다.
또한, 정수가 아닌 값을 입력하니 무한루프를 돌아갑니다.
이는 우리가 수업시간에 배우지 않았기에 간단히 하였습니다.
후에 프로그램을 만들 때 쓰고자 여기에 주석과 출처를 적습니다.
http://www.cplusplus.com/reference/clibrary/cctype/
else if(val < 0)
{
cout << "0보다 작은 수는 무시합니다.";
}
else
{
cout << "정수를 입력해주세요.";
}
*/
cout << endl; // newline
}
cout << "총합 : " << sum << endl; // 총합 출력
return 0; // 종료~
}
- 2008년 2학기 컴퓨터공학실습2 - Exercise 01_04 (0)2008/09/16
- 2008년 2학기 컴퓨터공학실습2 - Exercise 01_03 (0)2008/09/16
- 2008년 2학기 컴퓨터공학실습2 - Exercise 01_02 (0)2008/09/16
- 2008년 2학기 컴퓨터공학실습2 - Exercise 01_01 (0)2008/09/16
- 2008년 1학기 기호논리학 - 양화논리 (6)2008/07/07
- 2008년 1학기 데이터통신 - Checksum (0)2008/06/21
- 2008년 1학기 공학컴퓨터프로그래밍 - MATLAB why... (0)2008/06/21
글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.







댓글을 달아 주세요