Desarrollo de 30 programas en Microsoft visual C++ utilizando las sentencias
de Control if y Switch
- Programa 1. Signo zodiacal (con
if totalmente) - Programa 1. Idem (con switch
totalmente) - Programa 2. Cantidad de dinero
y transformacion a otra moneda (con if
totalmente) - Idem (con switch
totalmente) - Programa 3. Equivalente de
notas en el standard grading system (con if
totalmente) - Programa 3. Idem (con switch
pero usando if en aquellas partes donde es imposible utilizar
switch) - Programa 4. Pagos a un trabajador
evaluando horas extra (con if totalmente) - Programa 4. Idem (con switch
pero usando if en aquellas partes donde es imposible utilizar
switch - Programa 5. Descuentos por
compras aplicando aleatoriedad (con if
totalmente) - Programa 5. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa 6.
Factura del total a pagar en base a compras realizadas (con if
totalmente) - Programa 6. Idem
(con switch totalmente) - Programa
7. Pago a realizar por renta de peliculas incluyendo recargos
(con if totalmente) - Programa 7. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa 8.
Mediana o valor central de tres numeros introducidos (con if
totalmente) - Programa 8. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa 9.
Números en orden ascendente y en orden descendente (con
if totalmente) - Programa 9. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa 10. Precio
de boleto en ferrocarril (con if
totalmente) - Programa 10. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa
11. Datos de estudiante y analisis de sus resultados academicos
en programacion II (con if totalmente) - Programa 11. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa 12.
Duplicar capital a intereses (con if
totalmente) - Programa 12. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa 13.
Transformar metros, pulgadas, pies y yardas (con if
totalmente) - Programa 13. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa 14.
Programa de vectores (con if totalmente) - Programa 14. Idem
(con switch pero usando if en aquellas partes donde es
imposible utilizar switch) - Programa 15.
Analisis de posiciones y puntos de diferencia entre equipos
(con if totalmente) - Programa 15.
Idem (con switch pero usando if en aquellas partes donde es
imposible utilizar switch)
Acá se presentan 30 ejercicios completos
desarrollados en el lenguaje
Visual C++ de Microsoft. Muestran ejemplos interesantes y
útiles de la utilización de las estructuras de
control if y switch, que son
sentencias condicionales que se usan muchísimo en
cualquier lenguaje de
programación y que necesitamos conocerlas y manejarlas
de forma ágil y efectiva.
Los ejemplos son 100% originales, pues han sido
desarrollados en base a problemas
propuestos y luego encontrando formas de solucionarlos mediante
las herramientas
de la programación.
Lo que hace cada programa aparece
como comentario dentro de los programas, siempre al inicio del
código.
Estos ejemplos servirán mucho porque al ver la
estructura,
cualquier persona puede
copiar algunas partes y crear nuevos programas aplicados a
diferentes necesidades o nuevos problemas.
Se presenta también algo que a veces da problemas
a los programadores y es la manera de limpiar pantalla en
Microsoft Visual C++. Esto se resolverá creando una
función
y luego llamando dicha función.
También se trabajará con ciclos mientra se
cumpla una condición para que el usuario sea quien decida
si quiere continuar o si quiere salir cuando termine cada
ejecución de los programas.
Estos programas pueden ser de gran utilidad para los
programadores tanto principiantes como avanzados, proporcionando
herramientas útiles para aprender la forma fundamental de
programación en Visual C++ y así ser capaces
también de ir creando nuevos programas originales mediante
la visualización de los programas presentados
aquí.
Otro elemento interesante es que en realidad se han
hecho 15 ejercicios o problemas resueltos y esos mismos 15 se han
hecho tanto con if como con switch. Hay cosas que no nos es
posible hacer con switch porque no admite operadores relacionales
ni variables tipo
float, entonces se ha tenido que trabajar con if en esos casos.
Pero se verán los mismos ejercicios desarrollados tanto
con if como con switch.
Se ha agregado color a la letra,
que es algo que suele dar problemas a algunos programadores que
comienzan a trabajar con el lenguaje
Visual C++ en consola. Igualmente se ha hecho la
declaración de colores para dar
fondo o "background", pero hemos preferido dejar el color negro
por preferirlo para la presentación y estética de nuestros programas. Esto se
verá en las impresiones de pantalla de cada
programa.
A veces resulta dificil entender y visualizar un
código, por lo cual se presentan imágenes
que ejemplifican lo que hace el programa para que sea
fácil ver la imagen y
comprender de manera muy fácil y clara lo que el
código hace y la forma en la que funciona el programa.
Esto será de ayuda indispensable y fundamental para los
principiantes y para que si alguien no es capaz en un momento
específico de ejecutar el código en su propia
computadora,
que pueda visualizar lo que hace cada uno de los
programas.
PROGRAMA 1. SIGNO
ZODIACAL (CON IF TOTALMENTE)
/*Este programa muestra el signo
zodiacal de una persona. Para ello el usuario debe introducir
únicamente el día y el mes de nacimiento y el
programa determinará inmediatamente el signo zodiacal de
la persona.*/
//muestra el signo zodiacal
#include <STdio.h>
#include <math.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()
{
//—–Fijando color de consola:
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("ntttPROGRAMA 1. SIGNO
ZODIACALn");
printf("ttt==========================nn");
short unsigned int m,d = 0;
printf("Introduzca su mes de nacimiento: ");
scanf("%d",&m,"n");
while ((m > 12) || (m < 1)){
printf("Introduzca su mes de nacimiento(DE 1 A 12):
");
scanf("%d",&m,"n");
}
if (m==1){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) ){//!= esta sentencia es
diferente de{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=20) ? printf("nSu signo es
CAPRICORNIO.nn"):printf("nSu signo es
ACUARIO.nn");
}
else{
if(m==2){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>29) || (d != (d)) ){
printf("Introduzca dia(ENTRE 1 Y 29): ");
scanf("%d",&d,"n");
}
(d<=19) ? printf("nSu signo es
ACUARIO.nn"):printf("nSu signo es PISCIS.nn");
}
else{
if(m==3){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=20) ? printf("nSu signo es
PISCIS.nn"):printf("nSu signo es ARIES.nn");
}
else{
if(m==4){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>30) || (d!=(d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=20) ? printf("nSu signo es
ARIES.nn"):printf("nSu signo es TAURO.nn");
}
else{
if(m==5){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=21) ? printf("nSu signo es
TAURO.nn"):printf("nSu signo es GEMINIS.nn");
}
else{
if(m==6){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>30) || (d!=(d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=21) ? printf("nSu signo es
GEMINIS.nn"):printf("nSu signo es CANCER.nn");
}
else{
if(m==7){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=23) ? printf("nSu signo es
CANCER.nn"):printf("nSu signo es LEO.nn");
}
else{
if(m==8){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=23) ? printf("nSu signo es
LEO.nn"):printf("nSu signo es VIRGO.nn");
}
else{
if(m==9){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>30) || (d!=(d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=23) ? printf("nSu signo es
LEO.nn"):printf("nSu signo es LIBRA.nn");
}
else{
if(m==10){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=23) ? printf("nSu signo es LIBRA.nn") :
printf("nSu signo es ESCORPION.nn");
}
else{
if(m==11){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>30) || (d!=(d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=22) ? printf("nSu signo es
ESCORPION.nn"):printf("nSu signo es
SAGITARIO.nn");
}
else{
if(m==12){
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d !=(d)) ){
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=21) ? printf("nSu signo es
SAGITARIO.nn"):printf("nSu signo es
CAPRICORNIO.nn");
}
}
}
}
}
}
}
}
}
}
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}
PROGRAMA
1. SIGNO ZODIACAL (CON SWITCH TOTALMENTE)
/*Este programa muestra el signo zodiacal de una
persona. Para ello el usuario debe introducir únicamente
el día y el mes de nacimiento y el programa
determinará inmediatamente el signo zodiacal de la
persona.*/
//muestra el signo zodiacal
#include <STdio.h>
#include <math.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()
{
//—–Fijando color de consola:
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("ntttPROGRAMA 1. SIGNO
ZODIACALn");
printf("ttt==========================nn");
short unsigned int m,d = 0;
printf("Introduzca su mes de nacimiento: ");
scanf("%d",&m,"n");
while ((m > 12) || (m < 1))
{
printf("Introduzca su mes de nacimiento(DE 1 A 12):
");
scanf("%d",&m,"n");
}
switch (m)
{
case 1:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) )//!= esta sentencia es
diferente de
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=20) ? printf("nSu signo es
CAPRICORNIO.nn"):printf("nSu signo es
ACUARIO.nn");
break;
}
case 2:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>29) || (d != (d)) )
{
printf("Introduzca dia(ENTRE 1 Y 29): ");
scanf("%d",&d,"n");
}
(d<=19) ? printf("nSu signo es
ACUARIO.nn"):printf("nSu signo es PISCIS.nn");
break;
}
case 3:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=20) ? printf("nSu signo es
PISCIS.nn"):printf("nSu signo es ARIES.nn");
break;
}
case 4:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>30) || (d!=(d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=20) ? printf("nSu signo es
ARIES.nn"):printf("nSu signo es TAURO.nn");
break;
}
case 5:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=21) ? printf("nSu signo es
TAURO.nn"):printf("nSu signo es GEMINIS.nn");
break;
}
case 6:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>30) || (d!=(d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=21) ? printf("nSu signo es
GEMINIS.nn"):printf("nSu signo es CANCER.nn");
break;
}
case 7:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=23) ? printf("nSu signo es
CANCER.nn"):printf("nSu signo es LEO.nn");
break;
}
case 8:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=23) ? printf("nSu signo es
LEO.nn"):printf("nSu signo es VIRGO.nn");
break;
}
case 9:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>30) || (d!=(d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=23) ? printf("nSu signo es
LEO.nn"):printf("nSu signo es LIBRA.nn");
break;
}
case 10:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d != (d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=23) ? printf("nSu signo es LIBRA.nn") :
printf("nSu signo es ESCORPION.nn");
break;
}
case 11:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>30) || (d!=(d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=22) ? printf("nSu signo es
ESCORPION.nn"):printf("nSu signo es
SAGITARIO.nn");
break;
}
case 12:
{
printf("Introduzca su dia de nacimiento: ");
scanf("%d",&d,"n");
while ( (d>31) || (d !=(d)) )
{
printf("Introduzca dia(ENTRE 1 Y 31): ");
scanf("%d",&d,"n");
}
(d<=21) ? printf("nSu signo es
SAGITARIO.nn"):printf("nSu signo es
CAPRICORNIO.nn");
break;
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}
PROGRAMA 2.
CANTIDAD DE DINERO Y
TRANSFORMACION A OTRA MONEDA (CON IF
TOTALMENTE)
/*El programa irá preguntando por la cantidad de
billetes y monedas de cada valor que
tiene el usuario y luego determinará la suma de dinero que
hay en monedas y luego la suma de dinero que hay en billetes.
Luego el programa dirá la suma total de dinero que hay.
Finalmente el programa dará al usuario la posibilidad de
transformar la cantidad en dólares a la cantidad
equivalente en quetzales, lempiras o euros, según lo
decida el usuario.*/
#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()
{
//—–Fijando color de consola:
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("ntPROGRAMA 2. CANTIDAD DE DINERO Y
TRANSFORMACION A OTRA MONEDAn");
printf("t=============================================================nn");
int cambiarmoneda;
float
total_bill1,total_bill5,total_bill10,total_bill20,total_bill50,total_bill100,total_cent1,total_cent5,total_cent10,total_cent25,total_bill,total_cent,total_dinero,quetzal,lempira,euro;
printf("nCantidad de billetes de un dolar:
");
scanf("%f",&total_bill1);
while(total_bill1<0){
printf("nCantidad de billetes de un dolar:
");
scanf("%f",&total_bill1);
}
printf("Cantidad de billetes de cinco dolares:
");
scanf("%f",&total_bill5);
while(total_bill5<0){
printf("Cantidad de billetes de cinco dolares:
");
scanf("%f",&total_bill5);
}
printf("Cantidad de billetes de diez dolares:
");
scanf("%f",&total_bill10);
while(total_bill10<0){
printf("Cantidad de billetes de diez dolares:
");
scanf("%f",&total_bill10);
}
printf("Cantidad de billetes de veinte dolares:
");
scanf("%f",&total_bill20);
while(total_bill20<0){
printf("Cantidad de billetes de veinte dolares:
");
scanf("%f",&total_bill20);
}
printf("Cantidad de billetes de cincuenta dolares:
");
scanf("%f",&total_bill50);
while(total_bill50<0){
printf("Cantidad de billetes de cincuenta dolares:
");
scanf("%f",&total_bill50);
}
printf("Cantidad de billetes de cien dolares:
");
scanf("%f",&total_bill100);
while(total_bill100<0){
printf("Cantidad de billetes de cien dolares:
");
scanf("%f",&total_bill100);
}
total_bill=(total_bill1*(1)+total_bill5*(5)+total_bill10*(10)+total_bill20*(20)+total_bill50*(50)+total_bill100*(100));
printf("Cantidad de monedas de un centavo:
");
scanf("%f",&total_cent1);
while(total_cent1<0){
printf("Cantidad de monedas de un centavo:
");
scanf("%f",&total_cent1);
}
printf("Cantidad de monedas de cinco centavos:
");
scanf("%f",&total_cent5);
while(total_cent5<0){
printf("Cantidad de monedas de cinco centavos:
");
scanf("%f",&total_cent5);
}
printf("Cantidad de monedas de diez centavos:
");
scanf("%f",&total_cent10);
while(total_cent10<0){
printf("Cantidad de monedas de diez centavos:
");
scanf("%f",&total_cent10);
}
printf("Cantidad de monedas de veinticinco:
");
scanf("%f",&total_cent25);
while(total_cent25<0){
printf("Cantidad de monedas de veinticinco centavos:
");
scanf("%f",&total_cent25);
}
total_cent=(total_cent1*(0.01)+total_cent5*(0.05)+total_cent10*(0.10)+total_cent25*(0.25));
printf("nLA CANTIDAD DE DINERO QUE HAY EN BILLETES ES:
$%.2fn",total_bill);
printf("LA CANTIDAD DE DINERO QUE HAY EN MONEDAS ES:
$%.2fn",total_cent);
total_dinero=(total_bill+total_cent);
printf("LA CANTIDAD TOTAL DE DINERO QUE HAY ES:
$%.2fnn",total_dinero);
printf("ttMONEDAttCODIGOn");
printf("ttQuetzaltt 1n");
printf("ttLempiratt 2n");
printf("ttEurott 3nn");
printf("Introduzca el codigo de la
moneda a la que desea convertir los $%.2f:
",total_dinero);
scanf("%d",&cambiarmoneda);
while(cambiarmoneda<0 ||
cambiarmoneda>3){
printf("Introduzca el codigo de la moneda a la que desea
convertir los $%.2f: ",total_dinero);
scanf("%d",&cambiarmoneda);
}
quetzal=total_dinero*7.95270;
lempira=total_dinero*19.71674;
euro=total_dinero*0.82396;
if(cambiarmoneda==1){
printf("n$%.2f EQUIVALE A %.2f
QUETZALESnn",total_dinero,quetzal);
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
else{
if(cambiarmoneda==2){
printf("n$%.2f EQUIVALE A %.2f
LEMPIRASnn",total_dinero,lempira);
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
else{/*cambiarmoneda==3*/
printf("n$%.2f EQUIVALE A %.2f
EUROSnn",total_dinero,euro);
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}
}
}
PROGRAMA 2. CANTIDAD DE DINERO Y
TRANSFORMACION A OTRA MONEDA (CON SWITCH
TOTALMENTE)
/*El programa irá preguntando por la cantidad de
billetes y monedas de cada valor que tiene el usuario y luego
determinará la suma de dinero que hay en monedas y luego
la suma de dinero que hay en billetes. Luego el programa
dirá la suma total de dinero que hay. Finalmente el
programa dará al usuario la posibilidad de transformar la
cantidad en dólares a la cantidad equivalente en
quetzales, lempiras o euros, según lo decida el
usuario.*/
#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()
{
//—–Fijando color de consola:
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("ntPROGRAMA 2. CANTIDAD DE DINERO Y
TRANSFORMACION A OTRA MONEDAn");
printf("t=============================================================nn");
int cambiarmoneda;
float
total_bill1,total_bill5,total_bill10,total_bill20,total_bill50,total_bill100,total_cent1,total_cent5,total_cent10,total_cent25,total_bill,total_cent,total_dinero,quetzal,lempira,euro;
printf("nCantidad de billetes de un dolar:
");
scanf("%f",&total_bill1);
while(total_bill1<0){
printf("nCantidad de billetes de un dolar:
");
scanf("%f",&total_bill1);
}
printf("Cantidad de billetes de cinco dolares:
");
scanf("%f",&total_bill5);
while(total_bill5<0){
printf("Cantidad de billetes de cinco dolares:
");
scanf("%f",&total_bill5);
}
printf("Cantidad de billetes de diez dolares:
");
scanf("%f",&total_bill10);
while(total_bill10<0){
printf("Cantidad de billetes de diez dolares:
");
scanf("%f",&total_bill10);
}
printf("Cantidad de billetes de veinte dolares:
");
scanf("%f",&total_bill20);
while(total_bill20<0){
printf("Cantidad de billetes de veinte dolares:
");
scanf("%f",&total_bill20);
}
printf("Cantidad de billetes de cincuenta dolares:
");
scanf("%f",&total_bill50);
while(total_bill50<0){
printf("Cantidad de billetes de cincuenta dolares:
");
scanf("%f",&total_bill50);
}
printf("Cantidad de billetes de cien dolares:
");
scanf("%f",&total_bill100);
while(total_bill100<0){
printf("Cantidad de billetes de cien dolares:
");
scanf("%f",&total_bill100);
}
total_bill=(total_bill1*(1)+total_bill5*(5)+total_bill10*(10)+total_bill20*(20)+total_bill50*(50)+total_bill100*(100));
printf("Cantidad de monedas de un centavo:
");
scanf("%f",&total_cent1);
while(total_cent1<0){
printf("Cantidad de monedas de un centavo:
");
scanf("%f",&total_cent1);
}
printf("Cantidad de monedas de cinco centavos:
");
scanf("%f",&total_cent5);
while(total_cent5<0){
printf("Cantidad de monedas de cinco centavos:
");
scanf("%f",&total_cent5);
}
printf("Cantidad de monedas de diez centavos:
");
scanf("%f",&total_cent10);
while(total_cent10<0){
printf("Cantidad de monedas de diez centavos:
");
scanf("%f",&total_cent10);
}
printf("Cantidad de monedas de veinticinco:
");
scanf("%f",&total_cent25);
while(total_cent25<0){
printf("Cantidad de monedas de veinticinco centavos:
");
scanf("%f",&total_cent25);
}
total_cent=(total_cent1*(0.01)+total_cent5*(0.05)+total_cent10*(0.10)+total_cent25*(0.25));
printf("nLA CANTIDAD DE DINERO QUE HAY EN BILLETES ES:
$%.2fn",total_bill);
printf("LA CANTIDAD DE DINERO QUE HAY EN MONEDAS ES:
$%.2fn",total_cent);
total_dinero=(total_bill+total_cent);
printf("LA CANTIDAD TOTAL DE DINERO QUE HAY ES:
$%.2fnn",total_dinero);
printf("ttMONEDAttCODIGOn");
printf("ttQuetzaltt 1n");
printf("ttLempiratt 2n");
printf("ttEurott 3nn");
printf("Introduzca el codigo de la moneda a la que desea
convertir los $%.2f: ",total_dinero);
scanf("%d",&cambiarmoneda);
while(cambiarmoneda<0 ||
cambiarmoneda>3){
printf("Introduzca el codigo de la moneda a la que desea
convertir los $%.2f: ",total_dinero);
scanf("%d",&cambiarmoneda);
}
quetzal=total_dinero*7.95270;
lempira=total_dinero*19.71674;
euro=total_dinero*0.82396;
switch(cambiarmoneda){
case 1:
printf("n$%.2f EQUIVALE A %.2f
QUETZALESnn",total_dinero,quetzal);
break;
case 2:
printf("n$%.2f EQUIVALE A %.2f
LEMPIRASnn",total_dinero,lempira);
break;
case 3:
printf("n$%.2f EQUIVALE A %.2f
EUROSnn",total_dinero,euro);
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}
PROGRAMA 3.
EQUIVALENTE DE NOTAS EN EL STANDARD GRADING SYSTEM (CON IF
TOTALMENTE)
/*El programa muestra primero una tabla de notas con sus
equivalentes en el Standard Grading System o el sistema utilizado
en los Estados Unidos
que va desde la A hasta la F. El programa preguntará al
usuario su nota y transformará ese resultado al
equivalente en el Standard Grading System. También el
programa dará una pequeña pero valiosa
recomendación al usuario respecto a su nivel de estudio y
calidad como
estudiante.*/
#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.*/
//—–Fijando color de consola:
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("ntPROGRAMA 3. EQUIVALENTE DE NOTAS EN EL
STANDARD GRADING SYSTEMn");
printf("t===============================================================nn");
int a;
float nota;
printf("ntttNOTASttEQUIVALENTEn");
printf("tt 9.0 – 10.0tt An");
printf("tt 8.5 – 8.9tt B+n");
printf("tt 8.0 – 8.4tt Bn");
printf("tt 7.5 – 7.9tt C+n");
printf("tt 7.0 – 7.4tt Cn");
printf("tt 6.0 – 6.9tt Dn");
printf("tt 0.0 – 6.0tt Fn");
a=0;
while(a==0){
printf("nIntroduzca su nota en Programacion II:
");
scanf("%f",¬a);
if(nota<0 || nota>10){
/*a sigue valiendo cero y no se sale del
ciclo*/
}
else{
a=1;
}
}
if(nota>=9){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
An");
printf("RECOMENDACIONES: Excelente, si continua asi
usted es un genio.nn");
}
else{
if(nota>=8.5){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
B+n");
printf("RECOMENDACIONES: Muy bien, su nivel es
impresionante.nn");
}
else{
if(nota>=8){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
Bn");
printf("RECOMENDACIONES: Bien, su nivel es muy
bueno.nn");
}
else{
if(nota>=7.5){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
C+n");
printf("RECOMENDACIONES: Usted esta dentro del promedio,
trate de no bajar.nn");
}
else{
if(nota>=7){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
Cn");
printf("RECOMENDACIONES: Usted la va pasando, pero trate
elevar su promedio.nn");
}
else{
if(nota>=6){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
Dn");
printf("RECOMENDACIONES: Usted esta en la cuerda floja,
un pequeno descuido nlo pone en problemas.nn");
}
else{/*nota mayor que cero pero menor que
6.*/
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
Fn");
printf("RECOMENDACIONES: Su nota sinceramente es mala,
busque nuevas ntecnicas de estudio.nn");
}
}
}
}
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}
PROGRAMA 3.
EQUIVALENTE DE NOTAS EN EL STANDARD GRADING SYSTEM (CON SWITCH
PERO USANDO IF EN AQUELLAS PARTES DONDE ES IMPOSIBLE UTILIZAR
SWITCH)
/*El programa muestra primero una tabla de notas con sus
equivalentes en el Standard Grading System o el sistema utilizado
en los Estados Unidos que va desde la A hasta la F. El programa
preguntará al usuario su nota y transformará ese
resultado al equivalente en el Standard Grading System.
También el programa dará una pequeña pero
valiosa recomendación al usuario respecto a su nivel de
estudio y calidad como estudiante.*/
#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("ntPROGRAMA 3. EQUIVALENTE DE NOTAS EN EL
STANDARD GRADING SYSTEMn");
printf("t===============================================================nn");
int a;
float nota;
printf("ntttNOTASttEQUIVALENTEn");
printf("tt 9.0 – 10.0tt An");
printf("tt 8.5 – 8.9tt B+n");
printf("tt 8.0 – 8.4tt Bn");
printf("tt 7.5 – 7.9tt C+n");
printf("tt 7.0 – 7.4tt Cn");
printf("tt 6.0 – 6.9tt Dn");
printf("tt 0.0 – 6.0tt Fn");
a=0;
while(a==0){
printf("nIntroduzca su nota en Programacion II:
");
scanf("%f",¬a);
if(nota<0 || nota>10){
/*a sigue valiendo cero y no se sale del
ciclo*/
}
else{
a=1;
}
}
if(nota>=9){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
An");
printf("RECOMENDACIONES: Excelente, si continua asi
usted es un genio.nn");
}
else{
if(nota>=8.5){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
B+n");
printf("RECOMENDACIONES: Muy bien, su nivel es
impresionante.nn");
}
else{
if(nota>=8){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
Bn");
printf("RECOMENDACIONES: Bien, su nivel es muy
bueno.nn");
}
else{
if(nota>=7.5){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
C+n");
printf("RECOMENDACIONES: Usted esta dentro del promedio,
trate de no bajar.nn");
}
else{
if(nota>=7){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
Cn");
printf("RECOMENDACIONES: Usted la va pasando, pero trate
elevar su promedio.nn");
}
else{
if(nota>=6){
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
Dn");
printf("RECOMENDACIONES: Usted esta en la cuerda floja,
un pequeno descuido nlo pone en problemas.nn");
}
else{/*nota mayor que cero pero menor que
6.*/
printf("nNOTA EQUIVALENTE EN STANDARD GRADING SYSTEM:
Fn");
printf("RECOMENDACIONES: Su nota sinceramente es mala,
busque nuevas ntecnicas de estudio.nn");
}
}
}
}
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}
PROGRAMA 4. PAGOS A
UN TRABAJADOR EVALUANDO HORAS EXTRA (CON IF
TOTALMENTE)
/*Este programa muestra los pagos que recibirá un
trabajador por cada hora laboral en base a
la hora del día en que trabaja. El usuario deberá
escribir el número de horas trabajadas en cada uno de los
horarios y el programa determinará el total de dinero a
recibir por el trabajador y también dirá si
ganó más dinero por horas extras que por horas de
oficina
trabajadas o viceversa, o si el trabajador ganó
exáctamente lo mismo por horas extras que por horas de
oficina.*/
#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("ntPROGRAMA 4. PAGOS A UN TRABAJADOR EVALUANDO
HORAS EXTRAn");
printf("t========================================================nn");
printf("nttHORARIOttt PAGO nn");
printf("t 8:00 AM – 4:00 PMttPAGO
BASEn");
printf("t 4:00 PM – 8:00 PMt 25 POR CIENTO
EXTRAn");
printf("t 8:00 PM – 12:00 AMt 50 POR CIENTO
EXTRAn");
printf("t 12:00 AM – 8:00 AMttPAGO
DOBLEnn");
int
horas_trab,horas_trab25,horas_trab50,horas_doble;
float
pago_base,pago_extra25,pago_extra50,pago_doble,suma_extra,suma_base,pago,sueldo_total,pago_extra;
printf("SUELDO BASE POR HORA TRABAJADA: ");
scanf("%f",&pago);
while(pago<0){
printf("SUELDO BASE POR HORA TRABAJADA: ");
scanf("%f",&pago);
}
printf("nNumero de horas trabajadas de 8:00 am a 4:00
pm: ");
scanf("%d",&horas_trab);
while(horas_trab<0){
printf("nNumero de horas trabajadas de 8:00 am a 4:00
pm: ");
scanf("%d",&horas_trab);
}
pago_base=(horas_trab*pago);
printf("Numero de horas trabajadas de 4:00 pm a 8:00 pm:
");
scanf("%d",&horas_trab25);
while(horas_trab25<0){
printf("Numero de horas trabajadas de 4:00 pm a 8:00 pm:
");
scanf("%d",&horas_trab25);
}
pago_extra25=(horas_trab25*(1.25)*pago);
printf("Numero de horas trabajadas de 8:00 pm a 12:00
am: ");
scanf("%d",&horas_trab50);
while(horas_trab50<0){
printf("Numero de horas trabajadas de 8:00 pm a 12:00
am: ");
scanf("%d",&horas_trab50);
}
pago_extra50=(horas_trab50*(1.50)*pago);
printf("Numero de horas trabajadas de 12:00 am a 8:00am:
");
scanf("%d",&horas_doble);
while(horas_doble<0){
printf("Numero de horas trabajadas de 12:00 am a 8:00am:
");
scanf("%d",&horas_doble);
}
pago_doble=(horas_doble*(2.0)*pago);
suma_base=pago*horas_trab;
suma_extra=(pago_extra25+pago_extra50+pago_doble);
sueldo_total= suma_extra+pago_base;
printf("nEL PAGO TOTAL QUE RECIBIRA EL TRABAJADOR ES:
$%.2fnn",sueldo_total);
printf("EL SALARIO DEL
TRABAJADOR POR HORAS DE OFICINA ES:
$%.2fn",suma_base);
printf("EL SALARIO DEL TRABAJADOR POR HORAS EXTRAS ES:
$%.2fn",suma_extra);
if (suma_extra>suma_base){
printf("nEL TRABAJADOR GANO MAS DINERO POR HORAS EXTRAS
QUE POR HORAS DE OFICINAnn");
}
else{
if(suma_extra==suma_base){
printf("EL TRABAJADOR GANO EL MISMO SALARIO POR HORAS
EXTRAS QUE POR HORAS DE OFICINAnn");
}
else{/*pago_base es mayor que suma_extra*/
printf("EL TRABAJADOR GANO MAS DINERO POR HORAS DE
OFICINA QUE POR HORAS EXTRAnn");
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}
PROGRAMA 4.
PAGOS A UN TRABAJADOR EVALUANDO HORAS EXTRA (CON SWITCH PERO
USANDO IF EN AQUELLAS PARTES DONDE ES IMPOSIBLE UTILIZAR
SWITCH
/*Este programa muestra los pagos que recibirá un
trabajador por cada hora laboral en base a la hora del día
en que trabaja. El usuario deberá escribir el
número de horas trabajadas en cada uno de los horarios y
el programa determinará el total de dinero a recibir por
el trabajador y también dirá si ganó
más dinero por horas extras que por horas de oficina
trabajadas o viceversa, o si el trabajador ganó
exáctamente lo mismo por horas extras que por horas de
oficina.*/
#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("ntPROGRAMA 4. PAGOS A UN TRABAJADOR EVALUANDO
HORAS EXTRAn");
printf("t========================================================nn");
printf("nttHORARIOttt PAGO nn");
printf("t 8:00 AM – 4:00 PMttPAGO
BASEn");
printf("t 4:00 PM – 8:00 PMt 25 POR CIENTO
EXTRAn");
printf("t 8:00 PM – 12:00 AMt 50 POR CIENTO
EXTRAn");
printf("t 12:00 AM – 8:00 AMttPAGO
DOBLEnn");
int
horas_trab,horas_trab25,horas_trab50,horas_doble;
float
pago_base,pago_extra25,pago_extra50,pago_doble,suma_extra,suma_base,pago,sueldo_total,pago_extra;
printf("SUELDO BASE POR HORA TRABAJADA: ");
scanf("%f",&pago);
while(pago<0){
printf("SUELDO BASE POR HORA TRABAJADA: ");
scanf("%f",&pago);
}
printf("nNumero de horas trabajadas de 8:00 am a 4:00
pm: ");
scanf("%d",&horas_trab);
while(horas_trab<0){
printf("nNumero de horas trabajadas de 8:00 am a 4:00
pm: ");
scanf("%d",&horas_trab);
}
pago_base=(horas_trab*pago);
printf("Numero de horas trabajadas de 4:00 pm a 8:00 pm:
");
scanf("%d",&horas_trab25);
while(horas_trab25<0){
printf("Numero de horas trabajadas de 4:00 pm a 8:00 pm:
");
scanf("%d",&horas_trab25);
}
pago_extra25=(horas_trab25*(1.25)*pago);
printf("Numero de horas trabajadas de 8:00 pm a 12:00
am: ");
scanf("%d",&horas_trab50);
while(horas_trab50<0){
printf("Numero de horas trabajadas de 8:00 pm a 12:00
am: ");
scanf("%d",&horas_trab50);
}
pago_extra50=(horas_trab50*(1.50)*pago);
printf("Numero de horas trabajadas de 12:00 am a 8:00am:
");
scanf("%d",&horas_doble);
while(horas_doble<0){
printf("Numero de horas trabajadas de 12:00 am a 8:00am:
");
scanf("%d",&horas_doble);
}
pago_doble=(horas_doble*(2.0)*pago);
suma_base=pago*horas_trab;
suma_extra=(pago_extra25+pago_extra50+pago_doble);
sueldo_total= suma_extra+pago_base;
printf("nEL PAGO TOTAL QUE RECIBIRA EL TRABAJADOR ES:
$%.2fnn",sueldo_total);
printf("EL SALARIO DEL TRABAJADOR POR HORAS DE OFICINA
ES: $%.2fn",suma_base);
printf("EL SALARIO DEL TRABAJADOR POR HORAS EXTRAS ES:
$%.2fn",suma_extra);
if (suma_extra>suma_base){
printf("nEL TRABAJADOR GANO MAS DINERO POR HORAS EXTRAS
QUE POR HORAS DE OFICINAnn");
}
else{
if(suma_extra==suma_base){
printf("EL TRABAJADOR GANO EL MISMO SALARIO POR HORAS
EXTRAS QUE POR HORAS DE OFICINAnn");
}
else{/*pago_base es mayor que suma_extra*/
printf("EL TRABAJADOR GANO MAS DINERO POR HORAS DE
OFICINA QUE POR HORAS EXTRAnn");
}
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
switch(saliryesno){
case 1:
salir=1;
}
}
}
PROGRAMA 5.
DESCUENTOS POR COMPRAS APLICANDO
ALEATORIEDAD (CON IF TOTALMENTE)
/*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()
{
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("ntPROGRAMA 5. DESCUENTOS POR COMPRAS APLICANDO
ALEATORIEDADn");
printf("t==========================================================nn");
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("ntt COLORtt DESCUENTOnn");
printf("ttBOLA BLANCAtt NO TIENEn");
printf("ttBOLA ROJAtt10 POR CIENTOn");
printf("ttBOLA AZULtt20 POR CIENTOn");
printf("ttBOLA VERDEtt25 POR CIENTOn");
printf("ttBOLA AMARILLAtt50 POR
CIENTOnn");
srand(time(NULL));/*Inicializa el generador
random*/
random=rand()%5;/*Genera los números
random*/
if(random==0){
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA
BLANCAnn");
printf("LO SENTIMOS, NO HA GANADO NINGUN
DESCUENTO.");
printf(" EL TOTAL A PAGAR ES DE
$%.2fnn",gasto);
}
else{
if(random==1){
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA
ROJAnn");
printf("FELIDADES, HA GANADO UN 10 POR CIENTO DE
DESCUENTO nn");
ncargo=gasto-(gasto*0.1);
printf("SU NUEVO TOTAL A PAGAR ES: $%.2fnn",
ncargo,"nn");
}
else{
if(random==2){
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA
AZULnn");
printf("FELIDADES, HA GANADO UN 20 POR CIENTO DE
DESCUENTO nn");
ncargo=gasto-(gasto*0.2);
printf("SU NUEVO TOTAL A PAGAR ES: $%.2fnn",
ncargo,"nn");
}
else{
if(random==3){
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA
VERDEnn");
printf("FELIDADES, HA GANADO UN 25 POR CIENTO DE
DESCUENTO nn");
ncargo=gasto-(gasto*0.25);
printf("SU NUEVO TOTAL A PAGAR ES: $%.2fnn",
ncargo,"nn");
}
else{
if(random==4){
printf("ALEATORIAMENTE USTED OBTUVO UNA BOLA
AMARILLAnn");
printf("FELIDADES, HA GANADO UN 50 POR CIENTO DE
DESCUENTO nn");
ncargo=gasto-(gasto*0.5);
printf("SU NUEVO TOTAL A PAGAR ES: $%.2fnn",
ncargo,"nn");
}
}
}
}
}
}
else{/*El gasto es menor a $100.00*/
printf("nnLO SENTIMOS, SU GASTO ES MENOR A CIEN
DOLARES Y NO APLICA A LA PROMOCION.nn");
}
printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO
PRESIONE OTRO NUMERO: ");
scanf("%d",&saliryesno);
if(saliryesno==1){
salir=1;
}
}
}
Página siguiente |