2011-03-24 4 views
1

입력 스트림 (cin)의 값을 배열에 저장하는 데 약간의 문제가 있습니다.배열에 값 저장

int count = 2; 
double *startValues = new double[count]; 
for(int i = 0; i < count; i++) { 
    double tmpVal; 
    cout << i + 1 << ". Startwert: "; cin >> tmpVal; 
    startValues[i] = tmpVal; 
} 

for 루프 다음에 첫 번째 값만 startValues ​​배열에 저장되지만 두 번째 값은 저장되지 않습니다. 여기서 뭐가 잘못 됐니?

+1

흠에서 두 번을 읽었다 있는지 확인해야합니다 ... 당신은'표준 : vector'를 사용해야 올바른 : – pajton

+0

보인다. – GManNickG

답변

2

오류 검사. 당신은 당신이 실제로 cin

int count = 2; 
double *startValues = new double[count]; 
int i = 0; 
while (i < count) { 
    double tmpVal; 
    cout << i + 1 << ". Startwert: "; 
    if (cin >> tmpVal) { 
     startValues[i] = tmpVal; 
     ++i; 
    } else { 
     cout << "\nIncorrect entry, try again\n"; 
    } 
} 
+0

버전을 구현 한 후 초기 오류가 발견되었습니다. double 값 (0.0)은 삽입하지 않았지만 int (0)은 삽입하지 않았습니다. 당신의 도움을 주셔서 감사합니다 ;) –