Синтаксическая ошибка switch

I have this switch statement to test the case of my Grounded integer variable but my Unity-Monodevelop says I have weird syntax errors within my code which I can’t find. I am hoping someone can tell me what is wrong with it.

private void JumpController () {
    if (Input.GetAxis("Jump")) { // if jump switch to action
        switch (Grounded) {
        0:  // On ground;
            Jump ();
            Grounded = 1;
            break;
        1:  // Jumped once;
            Jump ();
            Grounded = 2;
            break;
        2:  // Jumped twice;
            Debug.print ("Grounded = 2");
            break;
        default: break; 
        }
    }
}

An Image showing the errors

asked Sep 18, 2016 at 16:13

Louis van der meer's user avatar

2

I would recommend adding a case before your cases. This should fix the errors:

private void JumpController () {
    if (Input.GetAxis("Jump")) { // if jump switch to action
        switch (Grounded) {
        case 0:  // On ground;
            Jump ();
            Grounded = 1;
            break;
        case 1:  // Jumped once;
            Jump ();
            Grounded = 2;
            break;
        case 2:  // Jumped twice;
            Debug.print ("Grounded = 2");
            break;
        default: break; 
        }
    }
}

answered Sep 18, 2016 at 16:16

Light Drake's user avatar

Light DrakeLight Drake

1213 silver badges9 bronze badges

3

I get this error :
Parse error: syntax error, unexpected '', expecting endswitch (T_ENDSWITCH) or case (T_CASE) or default (T_DEFAULT) in /var/www/mel-suhaib/application/modules/default/views/scripts/user/user.phtml on line 244

<?php switch ($ext): ?>

                     line244++>     <?php case  "pdf": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "docx": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "zip": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "xlsx": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "pptx": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "rar": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "xls": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "jpg": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "ppt": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "doc": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case  "3gp": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "mp4": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php case "png": ?>
                                    <img class="timeline-img pull-left" src="../../assets/admin/pages/media/blog/2.jpg" alt="">
                                    <?php break; ?>
                                    <?php endswitch; ?>

Jai Chauhan's user avatar

Jai Chauhan

3,9553 gold badges35 silver badges61 bronze badges

asked Aug 10, 2016 at 11:49

Suhayb's user avatar

4

Solved I should instead say:

<?php switch ($ext): case "pdf": ?>

Rather than

<?php switch ($ext): ?> <?php case "pdf": ?>

atiruz's user avatar

atiruz

2,75826 silver badges36 bronze badges

answered Aug 10, 2016 at 12:09

Suhayb's user avatar

SuhaybSuhayb

3,1433 gold badges23 silver badges28 bronze badges

			Как новичок в JAVA, я редко использую оператор Switch. Я столкнулся с ошибкой, когда впервые использовал его сегодня. Ниже приведены коды ошибок:
	switch(c.get(c.DAY_OF_WEEK)-1) {  
	char week = 0 ;
		 случай 1: неделя = ' '; перерыв;
		 случай 2: неделя = 'два'; перерыв;
		 случай 3: неделя = 'три'; перерыв;
		 случай 4: неделя = «четыре»; перерыв;
		 случай 5: неделя = «пять»; перерыв;
		 случай 6: неделя = «шесть»; перерыв;
		 case 0: неделя = 'день'; перерыв;
	}
			 В результате в первой скобке была указана ошибка, и компилятор запросил: Синтаксическая ошибка для токена "{", SwitchLabels ожидается после этого токена.
	 После долгой отладки я наконец обнаружил, что предложение «char week = 0;» было помещено вне оператора switch, на этот раз оно было правильным.
			 Подводя итог: в Java, если вам нужна помощь с новой переменной в блоке оператора switch, по возможности поместите объявление переменной вне блока оператора switch.

Home »
C programs »
C common errors programs

Here, we will learn why an error: switch quantity not an integer occurs and how to fix it in C programming language?

Submitted by IncludeHelp, on September 02, 2018

The switch statement only works with integral type of values/variables, integral types like integer, character.

The error switch quantity not an integer occurs if the value/variables passed in the switch statement is not either integer or character.

In this example, consider the statement – switch(choice) – Here, choice is a float variable i.e. we have passed a float variable in switch statement, this is the cause of error switch quantity not an integer.

Example:

#include <stdio.h>

int main(void) {
	
	float  choice = 2.0f;
	
	switch(choice){
	    case 1:
	        printf("Case 1n");
	        break;
	    case 2:
	        printf("Case 2n");
	        break;
	    case 3:
	        printf("Case 3n");
	        break;
	    case 4:
	        printf("Case 4n");
	        break;
	    default:
	        printf("Case defaultn");
	}
	
	return 0;
}

Output

prog.c: In function ‘main’:
prog.c:7:9: error: switch quantity not an integer
  switch(choice){
         ^~~~~~
prog.c:5:9: warning: variable ‘choice’ set but not used [-Wunused-but-set-variable]
  float  choice = 2.0f;
         ^~~~~~

How to fix?

Use only integral variables/values with the switch statement. In this example, we changed type of choice variable from float to int.

Correct code:

#include <stdio.h>

int main(void) {
	
	int choice = 2;
	switch(choice){
	    case 1:
	        printf("Case 1n");
	        break;
	    case 2:
	        printf("Case 2n");
	        break;	    
	    case 3:
	        printf("Case 3n");
	        break;	    
	    case 4:
	        printf("Case 4n");
	        break;	    
	    default:
	        printf("Case defaultn");
	}
	
	return 0;
}

Output

Case 2

C Common Errors Programs »


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream> // подключение библиотеки ввода-вывода
using namespace std; // подключение стандартного пространства имен для использования библиотек
int main()
{
int sum, sum1, sum2, sum3, p, p1, p2, p3;
string Ivanov[15] = {"otsytstvoval", "protiv","vozdergalsya","vozdergalsya","za","za","za","protiv","protiv","protiv","za","za","otsytstvoval","protiv","za" };  // инициализация одномерного массива
string Petrov[15] = {"otsytstvoval","za","vozdergalsya","vozdergalsya","protiv","protiv","protiv","za","protiv","protiv","protiv","protiv","otsytstvoval","za","protiv"};
string Sidorov[15] = {"otsytstvoval","protiv","vozdergalsya","vozdergalsya","protiv","protiv","protiv","protiv","protiv","protiv","protiv","protiv","otsytstvoval","protiv","protiv"};
string Antonov[15] = {"otsytstvoval","protiv","vozdergalsya","protiv","protiv","protiv","protiv","za","protiv","za","protiv","protiv","otsytstvoval","protiv","protiv"};
sum=0; sum1=0; sum2=0; sum3=0;
cout<<"Rezyltaty golosovanian";
 
   for (int i=0; i<15; i++) //начало цикла подсчета голосов
   {
   cout<<"Ivanov["<<i<<"]: "<<Ivanov[i]<<endl; //вывод на экран индекса ячейки массива, а затем содержимого этой ячейки
   switch (Ivanov[i])
   {
   case ('za'): sum++; break; // подсчет голосов отданных «против» кандидата
    case ('protiv'): sum1++; break; // «за» кандидата
     case ('vozdergalsya'): sum2++; break; // «воздержались»
      case ('otsytstvoval'): sum3++; break; // отсутствовал
   }
   p=(sum*100)/30; // перевод голосов отданных «против» кандидата в проценты
   p1=(sum1*100)/30; // «за» в проценты
   p2=(sum2*100)/30; // «воздержались» в проценты
   p3=(sum3*100)/30; // отсутствовали
   }
 
cout<<"protiv progolosavalo: "<<p<<"% soveta"<<endl;
cout<<"za  progolosavalo: "<<p1<<"% soveta"<<endl;
cout<<"Vozdergalis: "<<p2<<"% soveta"<<endl;
cout<<"Dolya otsytstvyushix: "<<p3<<"%"<<endl;
}

Понравилась статья? Поделить с друзьями:
  • Синтаксическая ошибка sum
  • Синтаксическая ошибка robots
  • Синтаксическая ошибка rightbrace перед end of program
  • Синтаксическая ошибка public c
  • Синтаксическая ошибка private