Dev - C++ - No ejecuta switch correctamente

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

No ejecuta switch correctamente

Publicado por daniel (4 intervenciones) el 10/03/2018 03:13:55
Hola amigos, soy yo de nuevo, quisiera que me ayudaran a encontrar en que parte de mi programa estoy fallando por que no me ejecuta los casos de switch como se debe:
Me compila y todo perp el problema de esto es que al realizar la operacion no me manda el resultado que espero... Quiero creer que es un error de sintaxis en mi programa pero como soy principante no soy muy bueno identificandolos...
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include<stdio.h>
int leer ();
float call (int, int);
 
int main(){
	float total;
	int time, opc;
	printf("Ingrese el numero de la region\nAmerica del norte=10\nAmerica Central=12\nAmerica del sur=13\nEuropa=15\nAsia=18\nAfrica=23\nOceania=27\n");
	opc=leer();
	printf("Cuantos minutos estuviste llamando?");
	time=leer();
	total=call(opc,time);
 
return 0;
}
float call(int opc,int time){
	float r;
	switch(opc){
		case 10:
			r=time*2.2; //esta parte al ser ejecutada me devuelve un numero grande que no va con el resultado que espero
			printf("El total que pagaras es de:%i pesos",r);//aqui me devuelve un 0
		break;
		case 12:
			r=time*2.5;
			printf("El total que pagaras es de:%i pesos",r);//aqui me devuelve un 0
		break;
		case 13:
			r=time*4.3;
			printf("El total que pagaras es de:%i pesos",r);//aqui me devuelve un 0
		break;
		case 15:
			r=time*3.5;
			printf("El total que pagaras es de:%i pesos",r);//aqui me devuelve un 0
		break;
		case 18:
			r=time*7.00;
			printf("El total que pagaras es de:%i pesos",r);//aqui me devuelve un 0
		break;
		case 23:
			r=time*7.00;
			printf("El total que pagaras es de:%i pesos",r);//aqui me devuelve un 0
		break;
		case 27:
			r=time*5.00;
			printf("El total que pagaras es de:%i",r);//aqui me devuelve un numero negativo similar al del primer caso
		break;
		default:
			printf("Opcion no valida");
	}
	return r;
}
int leer(){
    int n=0;
    scanf("%i",&n);
    return n;
}
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
sin imagen de perfil
Val: 160
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

No ejecuta switch correctamente

Publicado por Andrés (53 intervenciones) el 10/03/2018 04:09:56
Cambia:
1
printf("El total que pagaras es de:%i pesos", r);
por
1
printf("El total que pagaras es de:%f pesos", r);

mmm por cierto ese línea estaría mejor fuera de la función
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar