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:
GRACIAS DE ANTEMANO #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; }