2016-07-19 6 views
-1

switch 문을 사용하면 8로 나눌 때 나머지 (0, 1, 2, 3 등)를 출력하는 코드를 만듭니다. 사용자 입력 20부터 0까지의 정수 20입니다. 각 나머지에는 총 개수가 표시되어야합니다.switch 문

예 : 출력 결과입니다.

#include <iostream> 
using namespace std; 
int main() 
{ 
int i, x[20]; 
cout << "Enter 20 integer numbers from 0 to 99: " <<endl; 
for (i=1;i<=20;i++) 
{ 
    cout << "Input " << i <<":"; 
    cin >> x[i]; // above this code, its working. 
} 
int remainder ; // From here im not sure how i should do it 
switch (remainder) 
{ 
case x[i] % 8 == 0 : 
cout << "Total number with remainder zero is " << endl ; 
break; 

case x[i] % 8 == 1 : 
cout << "Total number with remainder one is " << endl ;  
break; 

case x[i] % 8 == 2 : 
cout << "Total number with remainder two is " << endl ;  
break; 

case x[i] % 8 == 3 : 
cout << "Total number with remainder three is " << endl ; 
break; 

default :  
cout << "Total of others is " << endl ; 
} 
return 0 ; 
} 

Total number with remainder 0 is 4. 
Total number with remainder 1 is 6. 
Total number with remainder 2 is 5. 
Total number with remainder 3 is 3. 
Total number of other remainder is 2. 

/

나는 스위치 문장의 일반적인 생각을 가지고있다. 저는 C++과이 웹 사이트를 처음 접했습니다. 오류 사이에 사례 부분입니다. 그것은 x [i]를 사용할 수 없다고 말합니다. 그래서 난 그냥 x 또는 다른 정수를 사용해야합니까? 각 경우의 총 수를 계산하는 방법을 모르겠다. count ++를 사용해야합니까?

+0

'switch (변수) {경우 somevalue; 케이스 othervalue'. 'case'는 표현식이 아닌 값이어야합니다. 그들은'if' 문이 아닙니다. –

+1

제 경우에는 case 0이 될 것이고 case 1이 될 것입니다 ... –

+1

'switch (x [i] % 8) {case 0 : ... case 1 : ... ... case 7 : ...}'. 또한 switch 문 주위에'for' 루프가 필요합니다. – GreatAndPowerfulOz

답변

0

스위치 문에는 테스트를 거친 후 결과를 기반으로 명령을 실행하는 조건이 있어야합니다. 여기서 문제는 값이없는 변수를 테스트한다는 것입니다. 괄호는 테스트중인 데이터를 포함합니다. 케이스는 결과 값을 기반으로 주어진 명령을 실행하는 것입니다. 여기에서 테스트중인 것은 x[i] % 8입니다. 이것은 괄호 안에 들어가야합니다. 케이스에 가치가 붙어 있어야합니다. 괄호 취해진 동작의 결과 값 할당 (예를 들어, 0, 1, 2, 3, 또는 디폴트)와 동일하고, 할당 명령을 실행할지 여부

switch (x[i] % 8) { 
    case 0: //... 
    case 1: //... 
    case 2: //... 
    case 3: //... 
    default: //... 
} 

case 테스트한다.