#include <iostream>
using namespace std;
const int Max = 5;
int main()
{
using namespace std;
int golf[Max];
cout<<"골프 점수를 입력하십시오.\n";
cout<<"총"<<Max<<"라운드 점수를 입력해야 합니다.\n";
int i;
for(i=0; i<Max; i++){
cout<<"round #"<<i+1<<": ";
while(!(cin>>golf[i])){
cin.clear();
while(cin.get() != '\n')
continue;
cout<<"골프 점수를 입력하십시오 : ";
}
}
double total = 0.0;
for(i = 0; i<Max ; i++) total += golf[i];
cout<<"총"<<Max<<"라운드의 평균 점수 = "<<total/Max<<endl;
return 0;
}
여기서
이부분이 초기화 부분이다 .
cin.clear() 이부분은 cin 메서드의 리턴형이 bool형인데 int 형을 입력받아야 되는데 char형을 입력시
cin의 플래그 상태는 false 인데 이경우 더이상 입력 받을수 없다.
이경우 cin.clear();를 이용하여 플래그 상태를 없애고 버퍼에 담아 있는 내용을 다 읽어 드림으로서
초기화 시켜준다
여기서
while(!(cin>>golf[i])){
cin.clear();
while(cin.get() != '\n')
continue; 이부분이 초기화 부분이다 .
cin.clear() 이부분은 cin 메서드의 리턴형이 bool형인데 int 형을 입력받아야 되는데 char형을 입력시
cin의 플래그 상태는 false 인데 이경우 더이상 입력 받을수 없다.
이경우 cin.clear();를 이용하여 플래그 상태를 없애고 버퍼에 담아 있는 내용을 다 읽어 드림으로서
초기화 시켜준다
'Soft Ware > C++ 언어!!' 카테고리의 다른 글
Template 을 이용한 Swap (0) | 2011.10.22 |
---|---|
확률 계산 시 부동소수점 오버플로 (0) | 2011.10.21 |
cin 에 대해서 !!! (0) | 2011.10.19 |
삼항연산자!! (0) | 2011.10.19 |
생성자, 소멸자 , 복사 생성자 (0) | 2011.10.07 |