Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] problema al poner else dentro de if?

Estas en el tema de problema al poner else dentro de if? en el foro de C/C++ en Foros del Web. Hola a todos, miren necesito hacer un programa que es como para supermercado, tengo que ingresar cantidad de articulos, precio unitario, nombre etc... es el ...
  #1 (permalink)  
Antiguo 25/10/2014, 21:52
 
Fecha de Ingreso: diciembre-2012
Ubicación: Jardim Alegre
Mensajes: 25
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta problema al poner else dentro de if?

Hola a todos, miren necesito hacer un programa que es como para supermercado, tengo que ingresar cantidad de articulos, precio unitario, nombre etc... es el mismo articulo siempre por lo tanto mismo precio, el problema es que me atoro en una parte que es esta:

Al momento de capturar articulo deberá de preguntar si es cliente frecuente
-Caso 1: en caso de serlo se deberá de hacer un descuento del 15% en cada articulo.
-Caso 2:en caso de no serlo se deberá de hacer una rebaja de $10.00 por artículo, sin son más de 5 artículos el descuento será de $15.00 por cada uno.

la parte en negrilla es la que no me queda, cuando pongo una cantidad igual o menor a 5 si hace bien el calculo, pero en caso contrario de ser mayor a 5 usando el else, el resultado siempre me da 0, e intentado cambiar ese segundo else por otro if algo asi como if(can>=5) pero aun asi me sigue dando 0 en el caso de ser mas de 5 articulos, alguna idea?

Les dejo esa parte del codigo:

Código:
int can, cost, cf, to, re, des, rec, re2, rec2;

printf("Presione 1 si es cliente frecuente, de lo contrario presione cualquier otra tecla: ");
scanf("%d", &cf);

if(cf==1){
des=cost*can*0.15+to;
printf("Su total es: %d", des );
}

else{
if(can<5){
rec=cost-10;
re=rec*can;
printf("Su total es: %d", re );
}

else {

rec2=cost-15;
re2=rec*can;
printf("Su total es: %d", re2 );
}

}

return ;

}

lo que hace es que si pongo una cantidad de articulos mayor a 5 el resultado siempre me da 0, en caso contrario no, creo que tiene que ver con el else.

Les dejo el codigo completo (ignoren la modulacion, esa la usare mas adeltante)
Código:
#include <stdio.h>
void caja(void)

{
	char cod(5), nom(25);
	int can, cost, cf, to, re, des, rec, re2, rec2;
	
printf("Ingrese cantidad de articulo: ");
scanf("%d", &can);
printf("Ingrese codigo del articulo: ");
scanf("%s", &cod);
printf("Ingrese nombre del articulo: ");
scanf("%s", &nom);
printf("Ingrese costo unitario del articulo: ");
scanf("%d", &cost);
to=cost*can;
printf("parcial: %d\n", to);
printf("Presione 1 si es cliente frecuente, de lo contrario presione 2: ");
scanf("%d", &cf);
if(cf==1){

des=cost*can*0.15+to;
printf("Su total es: %d\n", des );
}
else{
if(can<5){
rec=cost-10;
re=rec*can;
printf("Su total es: %d\n", re );
}

else {

rec2=cost-15;
re2=rec*can;
printf("Su total es: %d\n", re2 );
}

}

return ;

}

 	int main (void)
{
	
	caja(); 
	return 0; 
	
}
GRACIAS DE ANTEMANO

Última edición por AORV; 25/10/2014 a las 22:12
  #2 (permalink)  
Antiguo 25/10/2014, 22:13
 
Fecha de Ingreso: diciembre-2012
Ubicación: Jardim Alegre
Mensajes: 25
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: problema al poner else dentro de if?

JAJA Ya olvidenlo, el tonto de mi puso mal una variable del segundo else, puse re2=rec*can; en lugar de re2=rec2*can;
saludos y creo que tendre mas dudas.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:58.