Código:
/*De la galería de productos, el usuario introducirá el código y el número de unidades
del producto que desea comprar. El programa determinará el total a pagar, como una
factura.*/
#include <Stdio.h>
#include <windows.h>
#include <windows.h>
#include <string>
//Colores para fondos
#define BG_BLACK (0) //0
#define BG_NAVY (16) //BACKGROUND_BLUE
#define BG_GREEN (32) //BACKGROUND_GREEN
#define BG_TEAL (48) //BACKGROUND_BLUE | BACKGROUND_GREEN
#define BG_MAROON (64) //BACKGROUND_RED
#define BG_PURPLE (80) //BACKGROUND_BLUE | BACKGROUND_RED
#define BG_OLIVE (96) //BACKGROUND_GREEN | BACKGROUND_RED
#define BG_SILVER (112) //BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED
#define BG_GRAY (128) //BACKGROUND_INTENSITY
#define BG_BLUE (144) //BACKGROUND_BLUE | BACKGROUND_INTENSITY
#define BG_LIME (160) //BACKGROUND_GREEN | BACKGROUND_INTENSITY
#define BG_CYAN (176) //BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_INTENSITY
#define BG_RED (192) //BACKGROUND_RED | BACKGROUND_INTENSITY
#define BG_MAGENTA (208) //BACKGROUND_BLUE | BACKGROUND_RED | BACKGROUND_INTENSITY
#define BG_YELLOW (224) //BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY
#define BG_WHITE (240) //BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY
//Colores para letras
#define FG_BLACK (0) //0
#define FG_NAVY (1) //FOREGROUND_BLUE
#define FG_GREEN (2) //FOREGROUND_GREEN
#define FG_TEAL (3) //FOREGROUND_BLUE | FOREGROUND_GREEN
#define FG_MAROON (4) //FOREGROUND_RED
#define FG_PURPLE (5) //FOREGROUND_BLUE | FOREGROUND_RED
#define FG_OLIVE (6) //FOREGROUND_GREEN | FOREGROUND_RED
#define FG_SILVER (7) //FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED
#define FG_GRAY (8) //FOREGROUND_INTENSITY
#define FG_BLUE (9) //FOREGROUND_BLUE | FOREGROUND_INTENSITY
#define FG_LIME (10) //FOREGROUND_GREEN | FOREGROUND_INTENSITY
#define FG_CYAN (11) //FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY
#define FG_RED (12) //FOREGROUND_RED | FOREGROUND_INTENSITY
#define FG_MAGENTA (13) //FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_INTENSITY
#define FG_YELLOW (14) //FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY
#define FG_WHITE (15) //FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY
void clrscr()/*Creando funcion para limpiar pantalla.*/
{
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord = {0, 0};
DWORD count;
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hStdOut, &csbi);
FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
SetConsoleCursorPosition(hStdOut, coord);
}
int main()
{
int salir,saliryesno;
salir=0;
while(salir==0){
clrscr();/*Llamando la funcion para limpiar pantalla.*/
HANDLE hStdInput = INVALID_HANDLE_VALUE,
hStdOutput = INVALID_HANDLE_VALUE;
hStdInput = GetStdHandle(STD_INPUT_HANDLE);
hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdOutput,BG_BLACK | FG_YELLOW);
printf("\n\t BIENVENIDOS A LA BODEGA DE DON PEPITO\n");
printf("\t==================================================================\n\n");
int opt,uni,total;
printf("\t\tELIJA EL PRODUCTO DESEADO:\n\n");
printf("\t\tPRODUCTO\t\t\tCODIGO\n\n");
printf("\t\tCAMISA........................... 1\n");
printf("\t\tCINTURON......................... 2\n");
printf("\t\tZAPATOS.......................... 3\n");
printf("\t\tPANTALON......................... 4\n");
printf("\t\tCALCETINES....................... 5\n");
printf("\t\tFALDAS........................... 6\n");
printf("\t\tGORRAS........................... 7\n");
printf("\t\tSUETER........................... 8\n");
printf("\t\tCORBATA.......................... 9\n");
printf("\t\tCHAQUETA......................... 10\n\n");
printf("\t\tINTRODUZCA CODIGO: ");
scanf("%d",&opt,"\n");
while ((opt<1)||(opt>10))
{
printf(" CODIGO INCORRECTO. INTRODUZCA NUEVO CODIGO: ");
scanf("%d",&opt,"\r");
}
printf("\n");
switch(opt){
case 1:
printf("\t\tEL PRECIO ES: $20.00\n");
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=20*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
case 2:
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=15*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
case 3:
printf("\t\tEL PRECIO ES: $60.00 \n");
printf("INTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=60*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
case 4:
printf("\t\tEL PRECIO ES: $30.00 \n");
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=30*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
case 5:
printf("\t\tEL PRECIO ES: $7.00 \n");
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=7*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00 \n\n",total);
break;
case 6:
printf("\t\tEL PRECIO ES: $25.00 \n");
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=25*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
case 7:
printf("\t\tEL PRECIO ES: $12.00 \n");
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=12*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
case 8:
printf("\t\tEL PRECIO ES: $35.00 \n");
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=35*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
case 9:
printf("\t\tEL PRECIO ES: $22.00 \n");
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=22*uni;
printf("\n\t\tEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
case 10:
printf("\t\tEL PRECIO ES: $90.00 \n");
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
while(uni<0){
printf("\t\tINTRODUZCA NUMERO DE UNIDADES: ");
scanf("%d",&uni);
}
total=90*uni;
printf("\nEL TOTAL A PAGAR ES $%d.00\n\n",total);
break;
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}
y bueno tbm me piden en el ejercico si la compra supera los 300 abra descuento x lo cual yo eh creado otro proyect que me saka el descuento pero a la hora k le puse random no siempre agarra descuento apartir de 300 trate de arreglarlo y no c puede quisiera ponerlo en un proyect junto los dos y no c puede si me dan ideas seria genial muxas gracias aki mi otro codigo de los descuentos
Código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#include <windows.h>
#include <string>
//Colores para fondos
#define BG_BLACK (0) //0
#define BG_NAVY (16) //BACKGROUND_BLUE
#define BG_GREEN (32) //BACKGROUND_GREEN
#define BG_TEAL (48) //BACKGROUND_BLUE | BACKGROUND_GREEN
#define BG_MAROON (64) //BACKGROUND_RED
#define BG_PURPLE (80) //BACKGROUND_BLUE | BACKGROUND_RED
#define BG_OLIVE (96) //BACKGROUND_GREEN | BACKGROUND_RED
#define BG_SILVER (112) //BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED
#define BG_GRAY (128) //BACKGROUND_INTENSITY
#define BG_BLUE (144) //BACKGROUND_BLUE | BACKGROUND_INTENSITY
#define BG_LIME (160) //BACKGROUND_GREEN | BACKGROUND_INTENSITY
#define BG_CYAN (176) //BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_INTENSITY
#define BG_RED (192) //BACKGROUND_RED | BACKGROUND_INTENSITY
#define BG_MAGENTA (208) //BACKGROUND_BLUE | BACKGROUND_RED | BACKGROUND_INTENSITY
#define BG_YELLOW (224) //BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY
#define BG_WHITE (240) //BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY
//Colores para letras
#define FG_BLACK (0) //0
#define FG_NAVY (1) //FOREGROUND_BLUE
#define FG_GREEN (2) //FOREGROUND_GREEN
#define FG_TEAL (3) //FOREGROUND_BLUE | FOREGROUND_GREEN
#define FG_MAROON (4) //FOREGROUND_RED
#define FG_PURPLE (5) //FOREGROUND_BLUE | FOREGROUND_RED
#define FG_OLIVE (6) //FOREGROUND_GREEN | FOREGROUND_RED
#define FG_SILVER (7) //FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED
#define FG_GRAY (8) //FOREGROUND_INTENSITY
#define FG_BLUE (9) //FOREGROUND_BLUE | FOREGROUND_INTENSITY
#define FG_LIME (10) //FOREGROUND_GREEN | FOREGROUND_INTENSITY
#define FG_CYAN (11) //FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY
#define FG_RED (12) //FOREGROUND_RED | FOREGROUND_INTENSITY
#define FG_MAGENTA (13) //FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_INTENSITY
#define FG_YELLOW (14) //FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY
#define FG_WHITE (15) //FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY
int clrscr()/*Creando funcion para limpiar pantalla.*/
{
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord = {0, 0};
DWORD count;
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hStdOut, &csbi);
FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
SetConsoleCursorPosition(hStdOut, coord);
}
int main()
{
int salir,saliryesno;
salir=0;
while(salir==0){
clrscr();/*Llamando la funcion para limpiar pantalla.*/
HANDLE hStdInput = INVALID_HANDLE_VALUE,
hStdOutput = INVALID_HANDLE_VALUE;
hStdInput = GetStdHandle(STD_INPUT_HANDLE);
hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdOutput,BG_BLACK | FG_YELLOW);
printf("\n\tPROGRAMA 5. DESCUENTOS POR COMPRAS APLICANDO ALEATORIEDAD\n");
printf("\t==========================================================\n\n");
int random;
float gasto, ncargo;
printf("\nINTRODUZCA LA CANTIDAD TOTAL DE LA COMPRA: ");
scanf("%f",&gasto,"\n");
while (gasto < 0)
{
printf("NO EXISTEN CARGOS NEGATIVOS INTRODUZCA NUEVO GASTO: ");
scanf("%f",&gasto,"\n");
}
if (gasto >= 100){
printf("\nSU GASTO IGUALA O SUPERA LOS $100.00 Y POR TANTO PARTICIPA EN LA PROMOCION.\n");
printf("\n\t\t COLOR\t\t DESCUENTO\n\n");
printf("\t\tBOLA BLANCA\t\t NO TIENE\n");
printf("\t\tBOLA ROJA\t\t10 POR CIENTO\n");
printf("\t\tBOLA AZUL\t\t20 POR CIENTO\n");
printf("\t\tBOLA VERDE\t\t25 POR CIENTO\n");
printf("\t\tBOLA AMARILLA\t\t50 POR CIENTO\n\n");
srand(time(NULL));/*Inicializa el generador random*/
random=rand()%5;/*Genera los números random*/
switch(random){
case 1:
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA BLANCA\n\n");
printf("LO SENTIMOS, NO HA GANADO NINGUN DESCUENTO. ");
printf("EL TOTAL A PAGAR ES DE $%.2f\n\n",gasto);
break;
case 2:
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA AZUL\n\n");
printf("FELIDADES, HA GANADO UN 20 POR CIENTO DE DESCUENTO \n\n");
ncargo=gasto-(gasto*0.2);
printf("SU NUEVO TOTAL A PAGAR ES: $%.2f\n\n", ncargo,"\n\n");
break;
case 3:
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA VERDE\n\n");
printf("FELIDADES, HA GANADO UN 25 POR CIENTO DE DESCUENTO \n\n");
ncargo=gasto-(gasto*0.25);
printf("SU NUEVO TOTAL A PAGAR ES: $%.2f\n\n", ncargo,"\n\n");
break;
case 4:
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA AMARILLA\n\n");
printf("FELIDADES, HA GANADO UN 50 POR CIENTO DE DESCUENTO \n\n");
ncargo=gasto-(gasto*0.5);
printf("SU NUEVO TOTAL A PAGAR ES: $%.2f\n\n", ncargo,"\n\n");
break;
}
}
else{/*El gasto es menor a $100.00*/
printf("\n\nLO SENTIMOS, SU GASTO ES MENOR A CIEN DOLARES Y NO APLICA A LA PROMOCION.\n\n");
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}