2016-07-19 11 views
-1

Mit der Anweisung switch erstellen Sie einen Code, der Restwerte (0, 1, 2, 3 und andere) ausgibt, wenn er durch 8 geteilt wird. Benutzereingaben 20 ganze Zahlen von 0 bis 99. Jeder Rest sollte seine Gesamtanzahl anzeigen.Switch-Anweisung

ZB: So sollte der Ausgang sein.

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. 

/

#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 ; 
} 

Ich habe den Überblick über die Switch-Anweisungen. Ich bin neu in C++ und auch auf dieser Website. Zwischen den Fehlern gibt es einen Teil. Es sagt, dass ich x [i] nicht verwenden kann. Also sollte ich einfach x oder eine andere Ganzzahl verwenden? Ich bin nicht sicher, wie man die Gesamtanzahl für jeden Fall zählt. Soll ich count ++ benutzen?

+0

'wechseln (variabel) {case somevalue; Fall anderer Wert ". "case" sollte Werte und keine Ausdrücke sein. Sie sind keine 'if' Aussage. –

+1

Also in meinem Fall wird es Fall 0, Fall 1 und so weiter ich nehme an ... –

+1

Versuchen Sie 'Schalter (x [i]% 8) {Fall 0: ... Fall 1: ... ... Fall 7: ...} '. Sie brauchen auch eine 'for'-Schleife um die switch-Anweisung herum. – GreatAndPowerfulOz

Antwort

0

Switch-Anweisungen müssen eine Bedingung zum Testen und Ausführen von Befehlen basierend auf den Ergebnissen haben. Das Problem hier ist, dass Sie eine Variable testen, die keinen Wert hat. Die Klammern enthalten die zu testenden Daten. Die Fälle sollen gegebene Befehle basierend auf dem resultierenden Wert ausführen. Die Sache, die Sie hier testen, ist x[i] % 8. Dies sollte zwischen den Klammern stehen. Der Fall sollte nur den Wert haben.

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

case wird testen, ob das Ergebnis der durchgeführten Maßnahmen in den Klammern gleich ihren zugewiesenen Wert (z.B. 0, 1, 2, 3 oder Standard) und den zugeordneten Befehl ausführen.