Función printf() no se muestra después de un else en C
Publicado por Anderson (4 intervenciones) el 24/02/2020 04:32:31
Buenas, soy nuevo y apenas aprendo la programación en C. Estoy tratando de hacer una calculadora de una lista de productos de multiplicación (el código apenas está en construcción) y estoy testeando en dado caso se vayan a multiplicar solo dos 2 factores. El problema está en que en la segunda iteración del while más interno no muestra la salida del printf, justo cuando debería de mostrar Valor 2 = no lo hace sino que salta directamente a la función scanf a pedir el segundo valor.
Acá está el código completo (está en construcción, no está terminado):
Uso el CodeBlocks, alguien me puede decir por qué pasa eso?
Acá está el código completo (está en construcción, no está terminado):
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
#include <stdio.h>
#include <stdlib.h>
#define CIERTO 1
#define FALSO 2
main(){
int numero_conjuntos, numero_factores, cont_factores, cont, eleccion, calcular = CIERTO;
float num_1, num_2, multiplicacion_1, multiplicacion_2;
printf("Calculadora de productos en una lista\n\n");
while (calcular = CIERTO){
printf("\n1.- Empezar 2.- Fin\n");
scanf("%d", &eleccion);
switch (eleccion){
case 1:
while(calcular){
printf("\nCuantos conjuntos de datos? = ");
scanf("%d", &numero_conjuntos);
for (cont = 1; cont <= numero_conjuntos; ++cont){
printf("\nCantidad de factores del conjunto %d = ", cont);
scanf("%d", &numero_factores);
cont_factores = 1;
while (cont_factores <= numero_factores){
if ((numero_factores >= 0) || (numero_factores <= 2)){
if (cont_factores == 1){
printf("\nValor %d = ", cont_factores);
scanf("%f", &num_1);
multiplicacion_1 = num_1 * 1;
}
else
printf("\nValor %d = ", cont_factores);
scanf("%f", &num_2);
multiplicacion_2 = num_2 * multiplicacion_1;
printf("Resultado = %f\n", multiplicacion_2);
}
else
break;
}
}
}
}
}
}
Uso el CodeBlocks, alguien me puede decir por qué pasa eso?
Valora esta pregunta


0