Created
November 23, 2015 02:44
-
-
Save h3ct0rjs/47eede305b22588d6e2b to your computer and use it in GitHub Desktop.
Trabajo Final de Programacion.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <conio.h> | |
#include <math.h> | |
#include <stdlib.h> | |
#include <ctype.h> | |
//Una funcion por cada programa, no se necesita argumentos. | |
void salario(); | |
void calculoareas(); | |
void Operaciones(); | |
void promsuma(); | |
void sumapareseimpares(); | |
void mediana(); | |
#define MENSAJE printf("\n\n<<<<PRESIONE UNA TECLA PARA VOLVER A MENU");getch(); | |
#define SI printf("\n\n<<<<SI...ENTONCES PULSA [S]"); | |
#define NO printf("\n\n<<<<NO...ENTONCES PULSA UNA TECLA PARA VOLVER AL MENU"); | |
/* | |
20) Encontrar la media de n números positivos leídos por teclado, la media se expresa como: | |
*/ | |
/*FUNCION MENU: MUESTRA UN MENU EN PANTALLA*/ | |
char menu() | |
{ //4,5,9,10,11,20 | |
printf("\t:::::Johny Flor Camacho:::::\n"); | |
printf("\tTrabajo Final de Programacion"); | |
printf("\n********************************************"); | |
printf("\n\t\tMENU DE OPCIONES"); | |
printf("\n********************************************"); | |
printf("\n\t1-Salario Neto de un Empleado"); | |
printf("\n\t2-Operaciones, Mayor, Menor, Promedio"); | |
printf("\n\t3-Calculo de Areas"); | |
printf("\n\t4-Suma y Promedio, Repetitivas"); | |
printf("\n\t5-Suma de Pares e Impares"); | |
printf("\n\t6-Media"); | |
printf("\n\t7-SALIR"); | |
printf("\n********************************************\n"); | |
printf("\nINGRESE UNA OPCION: "); | |
} | |
main() | |
{ | |
system("COLOR 0e"); /*system pertenece a la libreria stdlib*/ | |
float a,b; /*declaracion de variables globales*/ | |
int n; | |
char c,resp; | |
do | |
{ /*primer ciclo do while para salir o continuar*/ | |
do | |
{ /*segundo ciclo do while para el switch*/ | |
system("CLS()"); /*limpia pantalla*/ | |
menu(); | |
c=getche(); | |
getch(); | |
switch(c) | |
{ | |
case '1':system("CLS"); /*limpia pantalla*/ | |
salario(); //Llamado de Funcion | |
MENSAJE; | |
break; | |
case '2':system("CLS"); /*limpia pantalla*/ | |
Operaciones(); | |
MENSAJE; | |
break; | |
case '3':system("CLS"); /*limpia pantalla*/ | |
calculoareas(); //Llamado de Funcion de Areas | |
MENSAJE; | |
break; | |
case '4':system("CLS"); /*limpia pantalla*/ | |
promsuma(); | |
MENSAJE; | |
break; | |
case '5':system("CLS"); /*limpia pantalla*/ | |
sumapareseimpares(); | |
MENSAJE; | |
break; | |
case '6':system("CLS"); /*limpia pantalla*/ | |
mediana(); | |
MENSAJE; | |
break; | |
case '7':system("CLS"); /*limpia pantalla*/ | |
default:printf("\n\n\n\n\tERROR<<<<<DEBES ELEGIR UNA OPCION VALIDA"); | |
break; | |
} | |
} while(c!='7'); /*fin del segundo ciclo do while para el switch*/ | |
printf("\n\nQUIERES SALIR DEL PROGRAMA?"); | |
SI; | |
NO; | |
resp=toupper(getch()); /*INSTRUCCION QUE CONVIERTE A | |
MAYUSCULA [s->S]*/ | |
/*toupper pertenece a la libreria ctype*/ | |
} while(resp!='S'); /*fin del primer ciclo do while para salir o | |
continuar*/ | |
return 0; | |
} /*FIN DEL PROGRAMA PRINCIPAL*/ | |
/*SUBPROGRAMAS DEL PROGRAMA PRINCIPAL*/ | |
void Operaciones(){ | |
int num,n1,n2,n3; | |
int parc=0,imparc=0; //Contadores para cantidad de impares y pares | |
printf("\n\t\tOperacion de Tres Numeros\n\n"); | |
printf("\n[!!]Ingrese Tres Numeros n1,n2,n3 Enteros:\t"); //Se debe especificar que los numoers son enteros. | |
scanf("%d%d%d",&n1,&n2,&n3); //Leemos los tres numeros enteros | |
system("cls"); | |
printf("\n**Menu de Opciones**\n"); | |
printf("\n[1]Calcular el promedio"); | |
printf("\n[2]Hallar el mayor"); | |
printf("\n[3]Hallar el menor"); | |
printf("\n[4]cuantos pares e impares hay"); | |
printf("**INGRESE OPCION**"); | |
scanf("%d",&num); //Leemos la opcion elegida por el usuario. | |
if (num==1){ //Si la eleccion del usuario es ejecutar el programa 1, | |
printf("\n[1]Calculo del promedio"); | |
printf("\nSu Promedio es %d",((n1+n2+n3)/3)); | |
} | |
else if (num==2){ | |
printf("\n[2]Hallando el mayor de tres"); | |
if((n1>n2) &&(n1>n3)) | |
printf("\nEl mayor es %d",n1); | |
else if((n2>n1) &&(n2>n3)) | |
printf("\nEl mayor es %d",n2); | |
else if((n3>n1) &&(n3>n2)) | |
printf("\nEl mayor es %d",n3); | |
} | |
else if (num==3){ | |
printf("\n[3]Hallar el menor de tres"); | |
if((n1<n2) &&(n1<n3)) | |
printf("\nEl menor es %d",n1); | |
else if((n2<n1) &&(n2<n3)) | |
printf("\nEl menor es %d",n2); | |
else if((n3<n1) &&(n3<n2)) | |
printf("\nEl menor es %d",n3); | |
} | |
else if (num==4){ | |
printf("\n[4]Cantidad de PARES E IMPARES\n"); | |
if((n1%2)==0){parc=parc+1;} | |
else{imparc=imparc+1;} | |
if((n2%2)==0){parc=parc+1;} | |
else{imparc=imparc+1;} | |
if((n3%2)==0){parc=parc+1;} | |
else{imparc=imparc+1;} | |
printf("La cantidad de Pares es: %d \n Impares son :%d",parc,imparc); | |
parc=0; imparc=0; //Limpia Contadores, solo para que en caso de que se vuelva a correr | |
} | |
else{ | |
printf("Error Opcion Invalida"); | |
} | |
} | |
void salario(){ //Ejercicio 4, Calculo del salario basado en | |
/* | |
4) Determinar el salario neto de un empleado de una compañía con base en el salario básico, bonificación, descuento y categoría. | |
Considere la siguiente tabla: | |
categoría bonificación descuento | |
1 15% 4% | |
2 13% 3% | |
3 12% 2% | |
4 9.5% 0% | |
Utilizando la estructura if-then-else | |
*/ | |
int categoria; | |
float salario,salarioganado,salarioneto,descuento; | |
printf("\n\t1-:::::Salario Neto de un Empleado:::::\n"); | |
printf("Ingrese el Salario Ganado :\t"); | |
scanf("%f",&salario); | |
printf("\nIngrese Categoria :\t"); | |
scanf("%d",&categoria); | |
if (categoria == 1){ | |
salarioganado=(salario*0.15)+salario; | |
descuento=salario*0.04; | |
salarioneto=salarioganado-descuento; | |
printf("Detalles de Salario:\n"); | |
printf("Su bonificacion de mes fue de:$%.0f",salario*0.15); | |
printf("\nSu descuento fue de :$%.0f",descuento); | |
printf("\nSu salario neto es:$%.0f",salarioneto); | |
} | |
else if(categoria == 2){ | |
salarioganado=(salario*0.13)+salario; | |
descuento=salario*0.03; | |
salarioneto=salarioganado-descuento; | |
printf("Detalles de Salario:\n"); | |
printf("Su bonificacion de mes fue de:$%.0f",salario*0.13); | |
printf("\nSu descuento fue de :$%.0f",descuento); | |
printf("\nSu salario neto es:$%.0f",salarioneto); | |
} | |
else if(categoria == 3){ | |
salarioganado=(salario*0.12)+salario; | |
descuento=salario*0.02; | |
salarioneto=salarioganado-descuento; | |
printf("Detalles de Salario:\n"); | |
printf("Su bonificacion de mes fue de:$%.0f",salario*0.12); | |
printf("\nSu descuento fue de :$%.0f",descuento); | |
printf("\nSu salario neto es:$%.0f",salarioneto); | |
} | |
else if(categoria == 4){ | |
salarioganado=(salario*0.095)+salario; | |
descuento=salario; | |
salarioneto=salarioganado-descuento; | |
printf("Detalles de Salario:\n"); | |
printf("Su bonificacion de mes fue de:$%.0f",salario*0.095); | |
printf("\nSu descuento fue de :$%.0f",descuento); | |
printf("\nSu salario neto es:$%.0f",salarioneto); | |
} | |
else { | |
printf("Categoria Invalida, Adios"); | |
} | |
} | |
void calculoareas(){ | |
int a,b,h,B; //Variables para almacenar datos.lados, Altura, Base mayor, Base menor | |
char opcion; | |
printf("\n::::Calculo de Areas::::"); | |
printf("\na.el Area de un rectangulo"); | |
printf("\nb.Area de un triangulo rectangulo"); | |
printf("\nc.Area de un trapecio"); | |
printf("\nINGRESE OPCION [a,b,c] : "); | |
opcion=getch(); | |
switch(opcion) { | |
case 'a': | |
printf("\n\n------------------------------------"); | |
printf("\nCalculo de Area Retangulo"); | |
printf("\n------------------------------------"); | |
printf("\nIngrese lado a:\t"); | |
scanf("%d",&a); | |
printf("\nIngrese lado b:\t"); | |
scanf("%d",&b); | |
printf("\nEl area total es:%d m^2\n",a*b); | |
//axb | |
break; | |
case 'b': | |
printf("\n\n------------------------------------"); | |
printf("\nCalculo de Area Triangulo Retangulo"); | |
printf("\n------------------------------------"); | |
printf("\nIngrese base:\t"); | |
scanf("%d",&b); | |
printf("\nIngrese altura:\t"); | |
scanf("%d",&h); | |
printf("\nEl area total es:%d m^2",(h*b/2)); | |
break; | |
case 'c': | |
printf("\n\n------------------------------------"); | |
printf("\nCalculo de Area Trapecio"); | |
printf("\n------------------------------------"); | |
printf("\nIngrese base Mayor:\t"); | |
scanf("%d",&B); | |
printf("\nIngrese base Menor:\t"); | |
scanf("%d",&b); | |
printf("\nIngrese Altura:\t"); | |
scanf("%d",&h); | |
printf("\nEl area total es:%d m^2",(B+b/2)*h); | |
break; | |
default: | |
printf("Opcion Invalida, Retornando"); | |
break; | |
}//Fin Switch | |
} //Fin Main | |
void promsuma(){ | |
//10) Hallar la suma y el promedio de los 20 primeros números enteros mayores que cero, utilizando la sentencia while | |
float n=0,sumtotal=0,pro; | |
while (n<=20){ | |
sumtotal=sumtotal+n; | |
n++; | |
} | |
pro=sumtotal/20; | |
printf("\n La suma de los primeros 20 numeros enteros es %.2f",sumtotal); | |
printf("\n el promedio de primeros 20 numeros enteros es %.2f",pro); | |
getch(); | |
} | |
void sumapareseimpares(){ | |
//Hallar la suma total, suma de pares e impares entre 1 y n, donde n entra por teclado, utilizando la sentencia for | |
int n; | |
int pares=0, impares=0; | |
printf("\n\n---------------------------------------------"); | |
printf("\n suma total, De Pares e Impares entre 1 y n "); | |
printf("\n-----------------------------------------------"); | |
printf("\nIngrese el limite n:\t"); | |
scanf("%d",&n); | |
for(int i=0;i<=n;i++){ | |
if((i%2)==0) | |
pares=pares+i; | |
else if((i%2)==1) | |
impares=impares+i; | |
} | |
printf("La Suma Total de Pares es:%d\n",pares); | |
printf("La Suma Total de Pares es:%d",impares); | |
} | |
void mediana(){ | |
//20) Encontrar la media de n números positivos leídos por teclado, la media se expresa como: | |
int lim; | |
int suma=0; | |
printf("\n\n---------------------------------------------"); | |
printf("\n Media entre 1 y n "); | |
printf("\n-----------------------------------------------"); | |
printf("\nIngrese el limite n:\t"); | |
scanf("%d",&lim); | |
for(int i=0;i<=lim;i++){ | |
suma=suma+i; | |
} | |
printf("La media hallada es %d\n",(suma/lim)); | |
} | |
/* | |
Problemas Resueltos Parcial. | |
4) Determinar el salario neto de un empleado de una compañía con base en el salario básico, bonificación, descuento y categoría. Considere la siguiente tabla: | |
categoría bonificación descuento | |
1 15% 4% | |
2 13% 3% | |
3 12% 2% | |
4 9.5% 0% | |
Utilizando la estructura if-then-else | |
5) Realizar un programa con el cual se puedan hacer las siguientes operaciones con 3 números. Utilizando la estructura if-then-else | |
" Calcular el promedio | |
" Hallar el mayor | |
" Hallar el menor | |
" Identificar cuántos pares e impares hay | |
9) Diseñar un programa que calcule: | |
" el área de un rectángulo | |
" área de un triángulo rectángulo | |
" área de un trapecio | |
10) Hallar la suma y el promedio de los 20 primeros números enteros mayores que cero, utilizando la sentencia while | |
11) Hallar la suma total, suma de pares e impares entre 1 y n, donde n entra por teclado, utilizando la sentencia for | |
20) Encontrar la media de n números positivos leídos por teclado, la media se expresa como: | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment