PROGRAMA 5. DESCUENTOS POR COMPRAS APLICANDO ALEATORIEDAD (CON SWITCH PERO USANDO IF EN AQUELLAS PARTES DONDE ES IMPOSIBLE UTILIZAR SWITCH)
/*Este programa pide primeramente la cantidad total de compras de una persona. Si la cantidad es inferior a $100.00, el programa dirá que el cliente no aplica a la promoción. Pero si la persona ingresa una cantidad en compras igual o superior a $100.00, el programa genera de forma aleatoria un número entero del cero al cinco. Cada número corresponderá a un color diferente de cinco colores de bolas que hay para determinar el descuento que el cliente recibirá como premio. Si la bola aleatoria es color blanco, no hay descuento, pero si es uno de los otros cuatro colores, sí se aplicará un descuento determinado según la tabla que aparecerá, y ese descuento se aplicará sobre el total de la compra que introdujo inicialmente el usuario, de manera que el programa mostrará un nuevo valor a pagar luego de haber aplicado el descuento.*/
#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
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);
}
void 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;
}
}
}

PROGRAMA 6. FACTURA DEL TOTAL A PAGAR EN BASE A COMPRAS REALIZADAS (CON IF TOTALMENTE)
/*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);
}
void main()
{
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);
int salir,saliryesno;
salir=0;
while(salir==0){
clrscr();/*Llamando la funcion para limpiar pantalla.*/
printf("\n\tPROGRAMA 6. FACTURA DEL TOTAL A PAGAR EN BASE A COMPRAS REALIZADAS\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");
if (opt==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);
}
else if (opt==2){
printf("\t\tEL PRECIO ES: $15.00\n");
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);
}
else if (opt==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);
}
else if (opt==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);
}
else if (opt==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);
}
else if (opt==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);
}
else if (opt==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);
}
else if (opt==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);
}
else if (opt==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);
}
else if(opt==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);
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}

PROGRAMA 6. FACTURA DEL TOTAL A PAGAR EN BASE A COMPRAS REALIZADAS (CON SWITCH TOTALMENTE)
/*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);
}
void 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 6. FACTURA DEL TOTAL A PAGAR EN BASE A COMPRAS REALIZADAS\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;
}
}
}

PROGRAMA 7. PAGO A REALIZAR POR RENTA DE PELICULAS INCLUYENDO RECARGOS (CON IF TOTALMENTE)
/*Este programa muestra primero el listado de categoria de peliculas y pide al usuario que introduzca el codigo de la categoria de la pelicula y posterior a ello pide que el usuario introduzca el número de días de atraso en la devolución de la película. Lo que hace el programa es sumar el precio de la película más el valor del recargo multiplicado por el número de días de atraso, y así se muestra al final el total a pagar.*/
#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);
}
void main()
{
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);
int salir,saliryesno;
salir=0;
while(salir==0){
clrscr();/*Llamando la funcion para limpiar pantalla.*/
printf("\nPROGRAMA 7. PAGO A REALIZAR POR RENTA DE PELICULAS INCLUYENDO RECARGOS\n");
printf("======================================================================\n\n");
int cod_pel,a;
float dias,fav,nue,est,sest;
printf("\n");
printf("\t CATEGORIA\tPRECIO\t CODIGO\tRECARGO/DIA DE ATRASO\n\n");
printf("\tFAVORITOS\t$2.50\t\t1\t\t$0.50\n");
printf("\tNUEVOS\t\t$3.00\t\t2\t\t$0.75\n");
printf("\tESTRENOS\t$3.50\t\t3\t\t$1.00\n");
printf("\tSUPER ESTRENOS\t$4.00\t\t4\t\t$1.50\n\n");
printf("INTRODUZCA EL CODIGO DE LA CATEGORIA DE LA PELICULA: ");
scanf("%d",&cod_pel);
a=0;
while(a==0){
if(cod_pel<1 || cod_pel>4){
printf("INTRODUZCA EL CODIGO DE LA CATEGORIA DE LA PELICULA (ENTRE 1 Y 4): ");
scanf("%d",&cod_pel);
}
else{
a=1;
}
}
printf("INTRODUZCA EL NUMERO DE DIAS DE ATRASO EN LA DEVOLUCION: ");
scanf("%f",&dias);
a=0;
while(a==0){
if(dias<0){
printf("INTRODUZCA EL NUMERO DE DIAS DE ATRASO EN LA DEVOLUCION: ");
scanf("%f",&dias);
}
else{
a=1;
}
}
if(cod_pel==1){
fav=((dias*0.5)+2.5);
printf("\nEL TOTAL A PAGAR ES: $%.2f\n\n",fav);
}
else{
if(cod_pel==2){
nue=((dias*0.75)+3);
printf("\nEL TOTAL A PAGAR ES: $%.2f\n\n",nue);
}
else{
if(cod_pel==3){
est= ((dias*1.00)+3.5);
printf("\nEL TOTAL A PAGAR ES: $%.2f\n\n",est);
}
else{
if(cod_pel==4){
sest=((dias*1.5)+4.0);
printf("\nEL TOTAL A PAGAR ES: $%.2f dolares\n\n",sest);
}
}
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}

PROGRAMA 7. PAGO A REALIZAR POR RENTA DE PELICULAS INCLUYENDO RECARGOS (CON SWITCH PERO USANDO IF EN AQUELLAS PARTES DONDE ES IMPOSIBLE UTILIZAR SWITCH)
/*Este programa muestra primero el listado de categoria de peliculas y pide al usuario que introduzca el codigo de la categoria de la pelicula y posterior a ello pide que el usuario introduzca el número de días de atraso en la devolución de la película. Lo que hace el programa es sumar el precio de la película más el valor del recargo multiplicado por el número de días de atraso, y así se muestra al final el total a pagar.*/
#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);
}
void 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("\nPROGRAMA 7. PAGO A REALIZAR POR RENTA DE PELICULAS INCLUYENDO RECARGOS\n");
printf("======================================================================\n\n");
int cod_pel,a;
float dias,fav,nue,est,sest;
printf("\n");
printf("\t CATEGORIA\tPRECIO\t CODIGO\tRECARGO/DIA DE ATRASO\n\n");
printf("\tFAVORITOS\t$2.50\t\t1\t\t$0.50\n");
printf("\tNUEVOS\t\t$3.00\t\t2\t\t$0.75\n");
printf("\tESTRENOS\t$3.50\t\t3\t\t$1.00\n");
printf("\tSUPER ESTRENOS\t$4.00\t\t4\t\t$1.50\n\n");
printf("INTRODUZCA EL CODIGO DE LA CATEGORIA DE LA PELICULA: ");
scanf("%d",&cod_pel);
a=0;
while(a==0){
if(cod_pel<1 || cod_pel>4){
printf("INTRODUZCA EL CODIGO DE LA CATEGORIA DE LA PELICULA (ENTRE 1 Y 4): ");
scanf("%d",&cod_pel);
}
else{
a=1;
}
}
printf("INTRODUZCA EL NUMERO DE DIAS DE ATRASO EN LA DEVOLUCION: ");
scanf("%f",&dias);
a=0;
while(a==0){
if(dias<0){
printf("INTRODUZCA EL NUMERO DE DIAS DE ATRASO EN LA DEVOLUCION: ");
scanf("%f",&dias);
}
else{
a=1;
}
}
switch(cod_pel)
{
case 1:
fav=((dias*0.5)+2.5);
printf("\nEL TOTAL A PAGAR ES: $%.2f\n\n",fav);
break;
case 2:
nue=((dias*0.75)+3);
printf("\nEL TOTAL A PAGAR ES: $%.2f\n\n",nue);
break;
case 3:
est= ((dias*1.00)+3.5);
printf("\nEL TOTAL A PAGAR ES: $%.2f\n\n",est);
break;
case 4:
sest=((dias*1.5)+4.0);
printf("\nEL TOTAL A PAGAR ES: $%.2f dolares\n\n",sest);
break;
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}

PROGRAMA 8. MEDIANA O VALOR CENTRAL DE TRES NUMEROS INTRODUCIDOS (CON IF TOTALMENTE)
/*El usuario introduce tres números enteros y el programa se encargará de decir cuál de los tres es el central o el de en medio.*/
#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);
}
void main()
{
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);
int salir,saliryesno;
salir=0;
while(salir==0){
clrscr();/*Llamando la funcion para limpiar pantalla.*/
printf("\n\tPROGRAMA 8. MEDIANA O VALOR CENTRAL DE TRES NUMEROS INTRODUCIDOS\n");
printf("\t=================================================================\n\n");
int a,b,c;
printf("\nINTRODUZCA EL PRIMER NUMERO: ");
scanf("%d",&a);
printf("INTRODUZCA EL SEGUNDO NUMERO: ");
scanf("%d",&b);
printf("INTRODUZCA EL TERCER NUMERO: ");
scanf("%d",&c);
if (a>b){
if (b>c){
printf("\nEL NUMERO CENTRAL ES: %d\n\n",b);
}
else{
if (a>c){
printf("\nEL NUMERO CENTRAL ES: %d\n\n",c);
}
else{
printf("\nEL NUMERO CENTRAL ES: %d\n\n",a);
}
}
}
else{
if (a>c){
printf("\nEL NUMERO CENTRAL ES: %d\n\n",a);
}
else{
if (c>b){
printf("\nEL NUMERO CENTRAL ES: %d\n\n",b);
}
else{
printf("\nEL NUMERO CENTRAL ES: %d\n\n",c);
}
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}

PROGRAMA 8. MEDIANA O VALOR CENTRAL DE TRES NUMEROS INTRODUCIDOS (CON SWITCH PERO USANDO IF EN AQUELLAS PARTES DONDE ES IMPOSIBLE UTILIZAR SWITCH)
/*El usuario introduce tres números enteros y el programa se encargará de decir cuál de los tres es el central o el de en medio.*/
#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);
}
void 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 8. MEDIANA O VALOR CENTRAL DE TRES NUMEROS INTRODUCIDOS\n");
printf("\t=================================================================\n\n");
int a,b,c;
printf("\nINTRODUZCA EL PRIMER NUMERO: ");
scanf("%d",&a);
printf("INTRODUZCA EL SEGUNDO NUMERO: ");
scanf("%d",&b);
printf("INTRODUZCA EL TERCER NUMERO: ");
scanf("%d",&c);
if (a>b){
if (b>c){
printf("\nEL NUMERO CENTRAL ES: %d\n\n",b);
}
else{
if (a>c){
printf("\nEL NUMERO CENTRAL ES: %d\n\n",c);
}
else{
printf("\nEL NUMERO CENTRAL ES: %d\n\n",a);
}
}
}
else{
if (a>c){
printf("\nEL NUMERO CENTRAL ES: %d\n\n",a);
}
else{
if (c>b){
printf("\nEL NUMERO CENTRAL ES: %d\n\n",b);
}
else{
printf("\nEL NUMERO CENTRAL ES: %d\n\n",c);
}
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}

PROGRAMA 9. NUMEROS EN ORDEN ASCENDENTE Y EN ORDEN DESCENDENTE (CON IF TOTALMENTE)
/*El usuario introduce tres números enteros y el programa los ordenará en orden ascendente y a continuación en orden descendente, mostrando en la primer columna los números de menor a mayor y en la siguiente columna a continuación los números de mayor a menor.*/
#include "stdio.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);
}
void main()
{
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);
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 9. NUMEROS EN ORDEN ASCENDENTE Y EN ORDEN DESCENDENTE\n");
printf("\t==============================================================\n\n");
int a,b,c;
printf("\nINTRODUZCA EL PRIMER NUMERO: ");
scanf("%d",&a);
printf("INTRODUZCA EL SEGUNDO NUMERO: ");
scanf("%d",&b);
printf("INTRODUZCA EL TERCER NUMERO: ");
scanf("%d",&c);
if (a<b){
if (b<c){
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n\n",c);
}
else{
if (c<a){
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",c);
printf("%d\n",a);
printf("%d\n\n",b);
}
else{
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",a);
printf("%d\n",c);
printf("%d\n\n",b);
}
}
}
else{
if (a<c){
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",b);
printf("%d\n",a);
printf("%d\n\n",c);
}
else{
if (c<b){
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",c);
printf("%d\n",b);
printf("%d\n\n",a);
}
else{
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n\n",a);
}
}
}
/*A continuación se programa para ordenarlos de mayor a menor.*/
if (a>b){
if (b>c){
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n\n",c);
}
else{
if (c>a){
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",c);
printf("%d\n",a);
printf("%d\n\n",b);
}
else{
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",a);
printf("%d\n",c);
printf("%d\n\n",b);
}
}
}
else{
if (a>c){
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",b);
printf("%d\n",a);
printf("%d\n\n",c);
}
else{
if (c>b){
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",c);
printf("%d\n",b);
printf("%d\n\n",a);
}
else{
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n\n",a);
}
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}

PROGRAMA 9. NUMEROS EN ORDEN ASCENDENTE Y EN ORDEN DESCENDENTE (CON SWITCH PERO USANDO IF EN AQUELLAS PARTES DONDE ES IMPOSIBLE UTILIZAR SWITCH)
/*El usuario introduce tres números enteros y el programa los ordenará en orden ascendente y a continuación en orden descendente, mostrando en la primer columna los números de menor a mayor y en la siguiente columna a continuación los números de mayor a menor.*/
#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);
}
void main()
{
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);
int salir,saliryesno;
salir=0;
while(salir==0){
clrscr();/*Llamando la funcion para limpiar pantalla.*/
printf("\n\tPROGRAMA 9. NUMEROS EN ORDEN ASCENDENTE Y EN ORDEN DESCENDENTE\n");
printf("\t==============================================================\n\n");
int a,b,c;
printf("\nINTRODUZCA EL PRIMER NUMERO: ");
scanf("%d",&a);
printf("INTRODUZCA EL PRIMER NUMERO: ");
scanf("%d",&b);
printf("INTRODUZCA EL PRIMER NUMERO: ");
scanf("%d",&c);
if (a<b){
if (b<c){
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n\n",c);
}
else{
if (c<a){
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",c);
printf("%d\n",a);
printf("%d\n\n",b);
}
else{
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",a);
printf("%d\n",c);
printf("%d\n\n",b);
}
}
}
else{
if (a<c){
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",b);
printf("%d\n",a);
printf("%d\n\n",c);
}
else{
if (c<b){
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",c);
printf("%d\n",b);
printf("%d\n\n",a);
}
else{
printf("\nLOS NUMEROS ORDENADOS DE MENOR A MAYOR SON: \n\n");
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n\n",a);
}
}
}
/*A continuación se programa para ordenarlos de mayor a menor.*/
if (a>b){
if (b>c){
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n\n",c);
}
else{
if (c>a){
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",c);
printf("%d\n",a);
printf("%d\n\n",b);
}
else{
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",a);
printf("%d\n",c);
printf("%d\n\n",b);
}
}
}
else{
if (a>c){
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",b);
printf("%d\n",a);
printf("%d\n\n",c);
}
else{
if (c>b){
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",c);
printf("%d\n",b);
printf("%d\n\n",a);
}
else{
printf("\nLOS NUMEROS ORDENADOS DE MAYOR A MENOR SON: \n\n");
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n\n",a);
}
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}

PROGRAMA 10. PRECIO DE BOLETO EN FERROCARRIL (CON IF TOTALMENTE)
/*El programa determina el precio de un boleto de ida y vuelta en ferrocarril, conociendo la distancia a recorrer y sabiendo que si el número de días de estancia es mayor o igual a 7 y la distancia mayor o igual a 100 kilómetros, el boleto tiene una reducción del 50%.
El precio por kilómetro es de 1 dólar.*/
#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);
}
void main()
{
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);
int salir,saliryesno;
salir=0;
while(salir==0){
clrscr();/*Llamando la funcion para limpiar pantalla.*/
printf("\n\t\tPROGRAMA 10. PRECIO DE BOLETO EN FERROCARRIL\n");
printf("\t\t=============================================\n\n");
int distancia,dias;
float precio;
printf("\nPRECIO POR KILOMETRO............$1.00\n");
printf("DESCUENTO.......................50 POR CIENTO\n");
printf("CONDICION DE DESCUENTO..........DISTANCIA MAYOR O IGUAL A 100 KM \n\t\t\t\tY ESTANCIA MAYOR O IGUAL A 7 DIAS\n\n");
printf("INTRODUZCA LA DISTANCIA DEL VIAJE EN KILOMETROS: ");
scanf("%d",&distancia);
while(distancia<0){
printf("INTRODUZCA LA DISTANCIA DEL VIAJE EN KILOMETROS: ");
scanf("%d",&distancia);
}
printf("INTRODUZCA EL NUMERO DE DIAS DE ESTANCIA: ");
scanf("%d",&dias);
while(dias<0){
printf("INTRODUZCA EL NUMERO DE DIAS DE ESTANCIA: ");
scanf("%d",&dias);
}
precio=distancia*2*1;
if (dias>=7){
if (distancia>=100){
precio=precio* 0.5;
}
}
printf("\n\nEL PRECIO DEL BOLETO IDA Y VUELTA ES DE $%.2f\n\n",precio);
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}

PROGRAMA 10. PRECIO DE BOLETO EN FERROCARRIL (CON IF TOTALMENTE)
/*El programa determina el precio de un boleto de ida y vuelta en ferrocarril, conociendo la distancia a recorrer y sabiendo que si el número de días de estancia es mayor o igual a 7 y la distancia mayor o igual a 100 kilómetros, el boleto tiene una reducción del 50%.
El precio por kilómetro es de 1 dólar.*/
#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);
}
void main()
{
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);
int salir,saliryesno;
salir=0;
while(salir==0){
clrscr();/*Llamando la funcion para limpiar pantalla.*/
printf("\n\t\tPROGRAMA 10. PRECIO DE BOLETO EN FERROCARRIL\n");
printf("\t\t=============================================\n\n");
int distancia,dias;
float precio;
printf("\nPRECIO POR KILOMETRO............$1.00\n");
printf("DESCUENTO.......................50 POR CIENTO\n");
printf("CONDICION DE DESCUENTO..........DISTANCIA MAYOR O IGUAL A 100 KM \n\t\t\t\tY ESTANCIA MAYOR O IGUAL A 7 DIAS\n\n");
printf("INTRODUZCA LA DISTANCIA DEL VIAJE EN KILOMETROS: ");
scanf("%d",&distancia);
while(distancia<0){
printf("INTRODUZCA LA DISTANCIA DEL VIAJE EN KILOMETROS: ");
scanf("%d",&distancia);
}
printf("INTRODUZCA EL NUMERO DE DIAS DE ESTANCIA: ");
scanf("%d",&dias);
while(dias<0){
printf("INTRODUZCA EL NUMERO DE DIAS DE ESTANCIA: ");
scanf("%d",&dias);
}
precio=distancia*2*1;
if (dias>=7){
if (distancia>=100){
precio=precio* 0.5;
}
}
printf("\n\nEL PRECIO DEL BOLETO IDA Y VUELTA ES DE $%.2f\n\n",precio);
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}

Trabajos relacionados
Ver mas trabajos de Computacion |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.