C/Visual C - Ejecuta mal el switch

 
Vista:
Imágen de perfil de Mauricio
Val: 3
Ha disminuido su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ejecuta mal el switch

Publicado por Mauricio (2 intervenciones) el 06/03/2019 04:33:47
Soy nuevo en esto , recien estoy aprendiendo programación en C con el tutorial de ATS en Youtube. En uno de sus ejercicios de practica con switch, cuando elijo una de las opciones del switch.. es como si no las leyera y me tira directamente al default. Quisiera que me digan que estoy haciendo mal ya que lo revise varias veces, si pueden probenlo ustedes.

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<stdio.h>
#include<math.h>
int main(){
 
	int n,cubo,opcion;
 
	 printf("\t Seleccione una de las siguientes operaciones \n");
	 printf("1. El cubo del numero. \n");
	 printf("2. Verificar si el numero es par o impar \n");
	 printf("3. Salir \n");
	 scanf("&i",&opcion);
	 printf("Ha seleccionado la opcion %i \n",opcion);
  fflush(stdin);
	 switch(opcion){
	 	case 1: printf("Digite un numero \n");
	 	          scanf("%i",&n);
	 	          cubo=pow(n,3);
	 	          printf("%i",cubo);
	 	break;
		case 2: printf("Digite un numero  \n");
		           scanf("%i",&n);
		          if(n%2==1){
		          	printf("El numero es impar \n");
		          }
		          else{
				  printf("El número es par \n");
		          }
		break;
		case 3: break;
		default:printf("Error de tecla.");
	 }
	return 0;
	}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejecuta mal el switch

Publicado por Nacho (76 intervenciones) el 06/03/2019 21:52:15
Tenéis que aprender a debuggear un programa. Es imposible hacer nada sin saber. Debuggeando verías en seguida que has puesto scanf("&i",&opcion).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio
Val: 3
Ha disminuido su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ejecuta mal el switch

Publicado por Mauricio (2 intervenciones) el 07/03/2019 00:11:52
Gracias, la verdad que no me me habia dado cuenta de eso, tendré que estar mas atento. Con respecto a debuggear, cuando pongo esa opcion en el Dev C++ no sucede nada. Pero trataré de averiguar mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 44 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ejecuta mal el switch

Publicado por Juan (3 intervenciones) el 31/03/2019 18:07:03
Creo que deberias repasar los tipos de parametros que usa la función scanf() antes de continuar con la lógica "ensayo error" que comunment usamos al iniciarnos en la programación.

"format − This is the C string that contains one or more of the following items −

Whitespace character, Non-whitespace character and Format specifiers. A format specifier will be like [=%[*][width][modifiers]type=] as explained below −...."

El resto lo puedes revisar en https://www.tutorialspoint.com/c_standard_library/c_function_scanf.htm

Salu2
Juan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar