diff --git a/NullPointer/ADA4/Ex33-do.c b/NullPointer/ADA4/Ex33-do.c new file mode 100644 index 0000000..b4f1dc6 --- /dev/null +++ b/NullPointer/ADA4/Ex33-do.c @@ -0,0 +1,24 @@ +#include + +int main() +{ +//declaración de variable num, y contador cont1// + int num,cont1; + //iniciación del contador// + cont1=0; + //proceso// + do + { + printf("Introduce un numero\n"); + scanf("%d",&num); + fflush(stdin); + //Si cumple la condicion, imprime el valor// + if(num>100){ + printf("%d es mayor a 100\n\n",num); + } + //suma de +1 al contador// + cont1++; + //condición del do-while// + } while(cont1<10); + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA4/Ex34-do.c b/NullPointer/ADA4/Ex34-do.c new file mode 100644 index 0000000..622d244 --- /dev/null +++ b/NullPointer/ADA4/Ex34-do.c @@ -0,0 +1,23 @@ +#include + +int main() +{ +//declaración de la variable num y contador cont1// + int num,cont1; + //iniciación del contador// + cont1=0; + //procesos// + do + { + //solicitud del numero y lectura// + printf("Introduce un numero\n"); + scanf("%d",&num); + fflush(stdin); + //impresión del numero leído// + printf("El numero que puso es %d\n\n",num); + //suma de +1 al contador// + cont1++; + //condicion del do-while// + } while(cont1<100); + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA4/Ex35-do.c b/NullPointer/ADA4/Ex35-do.c new file mode 100644 index 0000000..26758a3 --- /dev/null +++ b/NullPointer/ADA4/Ex35-do.c @@ -0,0 +1,27 @@ +#include + +int main() +{ +//declaración de la variable num y contador cont1// + int num,cont1; + //iniciación del contador// + cont1=0; + //procesos// + do + { + //petición y lectura de la variable// + printf("Introduce un numero\n"); + scanf("%d",&num); + fflush(stdin); + //si es igual a 0, entonces imprime, de lo contrario imprime otro cosa// + if(num==0){ + printf("El numero que puso es %d, es igual a 0\n\n",num); + } else{ + printf("El numero que puso es %d, no es igual a 0\n\n",num); +} + //suma de +1 al contador// + cont1++; + //condicion del do-while// + } while(cont1<25); + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA4/Ex36-do.c b/NullPointer/ADA4/Ex36-do.c new file mode 100644 index 0000000..15b1257 --- /dev/null +++ b/NullPointer/ADA4/Ex36-do.c @@ -0,0 +1,28 @@ +#include + +int main() +{ +//declaración de la variable num y los contadores cont1 y contneg// + int num,cont1,contneg; + //iniciación de los contadores// + contneg=0; + cont1=0; + //procesos// + do + { + //petición y lectura de la variable// + printf("Introduce un numero\n"); + scanf("%d",&num); + fflush(stdin); + //si el numero es menor a 0, el contador de negativos suma +1// + if(num<0){ + contneg++; + } + //suma de +1 al contador// + cont1++; + //condicion del do-while// + } while(cont1<50); + //impresión de la cantidad de números negativos// + printf("Introdujo %d numero(s) negativo(s)",contneg); + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA4/Ex37-do.c b/NullPointer/ADA4/Ex37-do.c new file mode 100644 index 0000000..5e58452 --- /dev/null +++ b/NullPointer/ADA4/Ex37-do.c @@ -0,0 +1,28 @@ +#include + +int main() +{ +//declaración de la variable num y contadores cont1 y contpos// + int num,cont1,contpos; + //iniciación de los contadores// + contpos=0; + cont1=0; + //procesos// + do + { + //petición y lectura de la variable// + printf("Introduce un numero\n"); + scanf("%d",&num); + fflush(stdin); + //si el numero es mayor a 0 se le suma +1 al contpos// + if(num>0){ + contpos++; + } + //suma de +1 al contador// + cont1++; + //condicion del do-while// + } while(cont1<100); + //impresión de la cantidad de números positivos// + printf("Introdujo %d numero(s) negativo(s)",contpos); + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA4/Ex38-do.c b/NullPointer/ADA4/Ex38-do.c new file mode 100644 index 0000000..ede13a2 --- /dev/null +++ b/NullPointer/ADA4/Ex38-do.c @@ -0,0 +1,38 @@ +#include +#include +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 09feb2020 + * Problema 38 + */ +int main() { + + int contador = 0; + char nombre[20]; + float sueldo = 0; + int numeroDeHijos = 0; + + setlocale(LC_ALL, "spanish"); + SetConsoleCP(1252); // Cambiar STDIN - Para máquinas Windows + SetConsoleOutputCP(1252); // Cambiar STDOUT - Para máquinas Windows + printf("La tlapalería “El Sapo Verde”!\n"); + do{ + fflush(stdin); + printf("Nombre:\n"); + scanf(" %s", &nombre); + printf("Sueldo:\n"); + scanf(" %f", &sueldo); + printf("Numero de hijos:\n"); + scanf(" %d", &numeroDeHijos); + if(sueldo>1000 && numeroDeHijos >= 3 && numeroDeHijos <= 7){ + printf("Nombre: %s Sueldo: %f Numero De Hijos: %d\n", nombre, sueldo, numeroDeHijos); + } + fflush(stdin); + contador++; + }while(contador<=20); + return 0; +} diff --git a/NullPointer/ADA4/Ex39-while.c b/NullPointer/ADA4/Ex39-while.c new file mode 100644 index 0000000..a47622e --- /dev/null +++ b/NullPointer/ADA4/Ex39-while.c @@ -0,0 +1,24 @@ +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 09feb2020 + * Problema 39 + */ +int main() { + int contadorTiendas = 1; + float utilidad; + int cantidadTiendasMayorUtilidad = 0; + while(contadorTiendas<=5){ + printf("Introduzca la utilidad de la tienda %d : \n", contadorTiendas); + scanf("%f", &utilidad); + if(utilidad>2000000){ + cantidadTiendasMayorUtilidad++; + } + contadorTiendas++; + } + printf("%d tiendas tuvieron utilidad mayor que $2000000\n", cantidadTiendasMayorUtilidad); + return 0; +} diff --git a/NullPointer/ADA4/Ex40-while.c b/NullPointer/ADA4/Ex40-while.c new file mode 100644 index 0000000..f304e68 --- /dev/null +++ b/NullPointer/ADA4/Ex40-while.c @@ -0,0 +1,41 @@ +#include + +int main() +{ +/*declaración de las variables utilidades y conatos, de los contadores +contadores cont1,cont2,conttie y de un acumulador acumuti*/ + int conttie,cont1,cont2,utilidades,costos,acumuti; + //iniciación del cont1 que regula el numero de la tienda// + cont1=1; +//procesos// +//condicion de la condicion del while-do// + while(cont1<6) { + printf("Tienda %d\n",cont1); + //iniciación y reinicio del cont2, regula los meses,y el acumulador// + cont2=1; + acumuti=0; + while(cont2<13) { + //petición y lectura de las variables utilidades y costos// + printf("Utilidades del mes %d\n",cont2); + scanf("%d",&utilidades); + fflush(stdin); + printf("Costos del mes %d\n",cont2); + scanf("%d",&costos); + fflush(stdin); + //acumulado de los ingresos de las tiendas// + acumuti+=utilidades-costos; + //suma de +1 al contador de meses// + cont2++; + } + /*después de salir del bucle de meses, si cumple la condicion + se suma +1 al contador de la cantidad de tiendas mayores a 2M*/ + if(acumuti>2000000) { + conttie++; + } +//suma de +1 al contador de tiendas// + cont1++; + } +//impresión de la cantidad de tiendas mayores a 2M// + printf("Hay %d con utlidades mayores a $2,000,000",conttie); + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA4/Ex41-while.c b/NullPointer/ADA4/Ex41-while.c new file mode 100644 index 0000000..8324977 --- /dev/null +++ b/NullPointer/ADA4/Ex41-while.c @@ -0,0 +1,33 @@ +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 09feb2020 + * Problema 41 + */ +int main() { + int contador = 1; + int sumadorCalificaciones = 0; + int calificacion; + int totalAlumnos; + float promedioGrupal; + + printf("Cantidad de Alumnos:\n"); + scanf("%d", &totalAlumnos); + while(contador<=totalAlumnos){ + fflush(stdin); + printf("Calificacion del primer parcial Alumno %d:(0-10)\n", contador); + scanf("%d", &calificacion); + if(calificacion<0 || calificacion>10){ + printf("Numero introducido invalido.\n"); + continue;//Saltar lineas de bajo y regresar al inicio del bucle + } + sumadorCalificaciones+=calificacion; + contador++; + } + promedioGrupal = sumadorCalificaciones/totalAlumnos; + printf("El promedio grupal es de %f\n", promedioGrupal); + return 0; +} diff --git a/NullPointer/ADA4/Ex42-while.c b/NullPointer/ADA4/Ex42-while.c new file mode 100644 index 0000000..9111b75 --- /dev/null +++ b/NullPointer/ADA4/Ex42-while.c @@ -0,0 +1,33 @@ +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 09feb2020 + * Problema 42 + */ +int main() { + int contador = 1; + int sumadorAlumnos = 0; + int calificacion; + int totalAlumnos; + + printf("Cantidad de Alumnos:\n"); + scanf("%d", &totalAlumnos); + while(contador<=totalAlumnos){ + fflush(stdin); + printf("Calificacion del primer parcial Alumno %d:(0-10)\n", contador); + scanf("%d", &calificacion); + if(calificacion<0 || calificacion>100){ + printf("Numero introducido invalido.\n"); + continue;//Saltar lineas de bajo y regresar al inicio del bucle + } + if(calificacion>80){ + sumadorAlumnos++; + } + contador++; + } + printf("%d de alumnos sacaron mayor a 80\n", sumadorAlumnos); + return 0; +} diff --git a/NullPointer/ADA4/Ex43-while.c b/NullPointer/ADA4/Ex43-while.c new file mode 100644 index 0000000..a9a1d22 --- /dev/null +++ b/NullPointer/ADA4/Ex43-while.c @@ -0,0 +1,28 @@ +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 09feb2020 + * Problema 43 + */ +int main() { + int contador = 1; + int num; + int positivos = 0, negativos = 0; + while(contador<=250){ + fflush(stdin); + printf("Introduzca un numero entero:\n"); + scanf("%d", &num); + if(num>0){ + positivos++; + }else if(num<0){ + negativos++; + } + contador++; + } + printf("Cantidad de numeros postivos: %d\n", positivos); + printf("Cantidad de numeros negativos: %d\n", negativos); + return 0; +} diff --git a/NullPointer/ADA4/Ex44-while.c b/NullPointer/ADA4/Ex44-while.c new file mode 100644 index 0000000..65e63d3 --- /dev/null +++ b/NullPointer/ADA4/Ex44-while.c @@ -0,0 +1,39 @@ +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 09feb2020 + * Problema 44 + */ +int main() { + int contador = 1; + int respuestas; + while(contador<=50){ + fflush(stdin); + printf("Introduzca el numero de respuestas correctas para el alumno %d:\n", contador); + scanf("%d", &respuestas); + if(respuestas>100 || respuestas<0){ + printf("Respuesta introducido invalido.\n"); + continue;//Saltar lineas de bajo y regresar al inicio del bucle + } + int calificacion = 0; + if(respuestas > 30 && respuestas <= 50){ + calificacion = 50; + }else if(respuestas > 50 && respuestas <= 60){ + calificacion = 60; + }else if(respuestas > 60 && respuestas <= 65){ + calificacion = 70; + }else if(respuestas > 65 && respuestas <= 75){ + calificacion = 80; + }else if(respuestas > 75 && respuestas <= 90){ + calificacion = 90; + }else if(respuestas > 90){ + calificacion = 100; + } + printf("Tu calificacion final es %d\n", calificacion); + contador++; + } + return 0; +} diff --git a/NullPointer/ADA5/Ex45.c b/NullPointer/ADA5/Ex45.c new file mode 100644 index 0000000..c086080 --- /dev/null +++ b/NullPointer/ADA5/Ex45.c @@ -0,0 +1,75 @@ +#include +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Miguel Humberto Gonzalez Herrera & Yao Chung Hu + * @version: 1.1 + * @fecha: 13feb2020 + * Problema 45 + * Una Compañía efectúa cálculos para su reporte anual de utilidades + y añadirá un pequeño incentivo de antigüedad para sus empleados + que consiste en un porcentaje de su sueldo, de acuerdo a la siguiente + tabla: + + Antiguedad Porcentaje + De 1 a 3 años 1 % + De 4 a 6 años 3 % + De 7 a 9 años 5 % + De 10 a 15 años 7 % + + E.P. que lea el nombre, la antigüedad y sueldo de cada uno de los 100 + empleados y que calcule e imprima la cantidad que le corresponde a + cada uno. Además, determinar e imprimir el monto total de dicha + antigüedad para la empresa. + */ +int main() +{ + //declaración de variables,verificador, contador// + char nombre[20]; + int antiguedad,key; + float salario,salarioAux; + //inicia del veeificador// + key=0; + //procedos// + setlocale(LC_ALL, ""); + for(int i=1; i<101; i++){ + //lectura del nombre, salario y antigüedad// + printf("Trabajador %d\n",i); + printf("Introduce tu NOMBRE: "); + scanf(" %s", nombre); + printf("Tu antigüedad en la empresa\n"); + scanf("%d",&antiguedad); + printf("Introduce tu salario\n"); + scanf("%f",&salario); + salarioAux=salario; + do{ + if(salario > 0 && antiguedad > 0){ + printf("Verificado*\n"); + key=1; + }else{ + printf("Algun dato es incorrecta, vuelve a intentar\n"); + printf("Trabajador %d\n",i); + printf("Tu antigüedad en la empresa\n"); + scanf("%d",&antiguedad); + printf("Introduce tu salario\n"); + scanf("%f",&salario); + salarioAux=salario; + } + }while(key!=1); + if(antiguedad <= 3){ + salario*=1.01; + }else if(antiguedad <= 6){ + salario*=1.03; + }else if(antiguedad <= 9){ + salario*=1.05; + } else if(antiguedad <= 15){ + salario*=1.07; + } else{ + printf("Tu antigüedad no esta considerada\n"); + } + printf("%s por %d años de antiguedad, con salario %.2f, te corresponde %f\n", nombre, antiguedad, salarioAux, salario); + fflush(stdin); + } + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA5/Ex46.c b/NullPointer/ADA5/Ex46.c new file mode 100644 index 0000000..67beb49 --- /dev/null +++ b/NullPointer/ADA5/Ex46.c @@ -0,0 +1,30 @@ +#include +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Miguel Humberto Gonzalez Herrera & Yao Chung Hu + * @version: 1.1 + * @fecha: 13feb2020 + * Problema 46 + * E.P. que lea 200 números y que calcule e imprima cuantos son negativos, cuantos son positivos y cuantos fueron iguales a cero. + */ +int main(){ + float numero; + int positivos = 0, negativos = 0,zero = 0; + setlocale(LC_ALL, ""); + for(int contador = 1; contador<3; contador++) { + printf("(%d)Introduce un numero\n", contador); + scanf("%f",&numero); + if(numero < 0) { + negativos++; + }else if(numero > 0){ + positivos++; + }else{ + zero++; + } + } + printf("Hubieron:\n %d negativos\n %d igual a 0\n %d positivos", negativos, zero, positivos); + fflush(stdin); + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA5/Ex47.c b/NullPointer/ADA5/Ex47.c new file mode 100644 index 0000000..dd8f4e7 --- /dev/null +++ b/NullPointer/ADA5/Ex47.c @@ -0,0 +1,53 @@ +#include +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Miguel Humberto Gonzalez Herrera & Yao Chung Hu + * @version: 1.1 + * @fecha: 13feb2020 + * Problema 47 + * Se llevará a cabo en la Universidad el concurso Srita. Simpatía. Existen dos candidatas: Hortencia y Anacreta. E.P. que lea el voto de los 500 alumnos y que determine e imprima el nombre de la ganadora. Considerar la posibilidad de votos nulos y empate en el concurso. + */ +int main(){ + //declaración del verificador, variable, acumulador y del trono// + int king,cali,key; + float caligru; + //iniciación del verificador y trono// + king=0; + key=0; + //procesos// + setlocale(LC_ALL, ""); + for(int cont1=1; cont1<51; cont1++) { + //lectura de la calificación// + printf("Calificación del alumno %d\n",cont1); + scanf("%d",&cali); + fflush(stdin); + //verifica que sea igual/mayor a 0 la calificación// + do { + if(cali<0) { + printf("Calificación erronea\n"); + printf("Calificación del alumno %d\n",cont1); + scanf("%d",&cali); + } else { + printf("Verificado*\n"); + key=1; + } + } while(key!=1); + //acumula la calificación ind// + caligru+=cali; + //determina el alumno con mayor calificación// + if(king +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Miguel Humberto Gonzalez Herrera & Yao Chung Hu + * @version: 1.1 + * @fecha: 13feb2020 + * Problema 48 + * Se llevará a cabo en la Universidad el concurso Srita. Simpatía. Existen dos candidatas: Hortencia y Anacreta. E.P. que lea el voto de los 500 alumnos y que determine e imprima el nombre de la ganadora. Considerar la posibilidad de votos nulos y empate en el concurso. + */ +int main() +{ + //declara contadores, y variable// + int votoHortencia = 0, votoAnacreta = 0, nulo = 0, voto; + //procesos// + setlocale(LC_ALL, ""); + for(int cont1=1; cont1<501; cont1++) { + //lectura de la variable// + printf("Alumno %d\n",cont1); + printf("Escribe:\n 1 para votar por Hortencia\n 2 para votar por Anacleta\n"); + scanf("%d",&voto); + //determina el voto entre anacleta, hortencia o nulo// + if(voto==1) { + votoHortencia++; + } else if(voto==2) { + votoAnacreta++; + } else { + nulo++; + } + } + //valida cualquier de los 3 casos posibles// + if(votoHortencia > votoAnacreta) { + printf("Gano Hortencia con %d\n %d votos nulos", votoHortencia, nulo); + } else if(votoAnacreta > votoHortencia) { + printf("Gano Anacleta con %d\n %d votos nulos", votoAnacreta, nulo); + } else { + printf("No hay ganadoras\n %d nulos", nulo); + } + return 0; +} \ No newline at end of file diff --git a/NullPointer/ADA5/Ex49-recursive.c b/NullPointer/ADA5/Ex49-recursive.c new file mode 100644 index 0000000..a113dd4 --- /dev/null +++ b/NullPointer/ADA5/Ex49-recursive.c @@ -0,0 +1,283 @@ +#include +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 13feb2020 + * Problema 49 + * Un restaurante ofrece hamburguesas sencillas, dobles y triples, las + cuales tienen un costo de $60.00, $80.00 y $100.00, respectivamente. + La empresa acepta tarjetas de crédito con un cargo adicional de 3% + sobre la compra. Los clientes pueden hacer su pedido con cualquier + cantidad de hamburguesas de los tipos que deseen comer. E.P. para + determinar cuánto debe pagar cada uno de los N clientes que llegan al + establecimiento. También, al final del día, se requiere imprimir el + monto total de las ventas y el total de las comisiones por tarjeta de + crédito. + */ +void getClientName(); +void printOptions(); +void readOptions(); +void printAddHamburguesaMenu(); +void addHamburguesaMenu(); +void printRemoveHamburguesaMenu(); +void removeHamburguesaMenu(); +void printPaymentMenu(); +void readPaymentOption(); +void printCloseRegisterMenu(); +void readCloseRegisterMenu(); + +int totalSencillas = 0, totalDobles = 0, totalTriples = 0; + +float montoTotal = 0, comisiones = 0; +char nombre[20]; +int main(){ + setlocale(LC_ALL, ""); // Multi locales + printf("Bienvenido al Restaurante\n"); + getClientName(); + return 0; +} + +void getClientName(){ + printf("Ingresa el nombre del cliente:\n"); + scanf("%s", &nombre); + printOptions(); +} + +void printOptions(){ + printf("Cliente: %s\n", nombre); + printf("Seleccione una operacion:\n"); + printf("1. Agregar Hamburguesa\n"); + printf("2. Quitar Hamburguesa\n"); + printf("Cantidad Tipo Precio Precio Total\n"); + printf("%8d Sencillas $60.00 $%.2f\n", totalSencillas, (totalSencillas*60.0)); + printf("%8d Dobles $80.00 $%.2f\n", totalDobles, (totalDobles*80.0)); + printf("%8d Triples $100.00 $%.2f\n", totalTriples, (totalTriples*100.0)); + printf(" Total $%.2f\n", totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0); + printf("3. Pagar\n"); + printf("4. Cerrar Caja\n"); + readOptions(); +} + +void readOptions(){ + int option; + if (scanf("%d",&option) != 1){ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printOptions(); + return; + } + if(option >= 1 && option <= 4){ + switch(option){ + case 1: + printAddHamburguesaMenu(); + break; + case 2: + printRemoveHamburguesaMenu(); + break; + case 3: + printPaymentMenu(); + break; + case 4: + printCloseRegisterMenu(); + break; + } + }else{ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printOptions(); + } +} + +void printAddHamburguesaMenu(){ + printf("\nSeleccione tipo de hamburguesa para agregar:\n"); + printf("1. Sencillas\n"); + printf("2. Dobles\n"); + printf("3. Triples\n"); + printf("4. Regresar\n"); + addHamburguesaMenu(); +} + +void addHamburguesaMenu(){ + int option; + if (scanf("%d",&option) != 1){ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printAddHamburguesaMenu(); + return; + } + if(option >= 1 && option <= 4){ + switch(option){ + case 1: + totalSencillas++; + printf("Se agrego una hamburguesa sencilla!"); + printAddHamburguesaMenu(); + break; + case 2: + totalDobles++; + printf("Se agrego una hamburguesa doble!"); + printAddHamburguesaMenu(); + break; + case 3: + totalTriples++; + printf("Se agrego una hamburguesa triple!"); + printAddHamburguesaMenu(); + break; + case 4: + printOptions(); + break; + } + }else{ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printAddHamburguesaMenu(); + return; + } +} + +void printRemoveHamburguesaMenu(){ + printf("\nSeleccione tipo de hamburguesa para eliminar:\n"); + printf("1. Sencillas\n"); + printf("2. Dobles\n"); + printf("3. Triples\n"); + printf("4. Regresar\n"); + removeHamburguesaMenu(); +} + +void removeHamburguesaMenu(){ + int option; + if (scanf("%d",&option) != 1){ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printRemoveHamburguesaMenu(); + return; + } + if(option >= 1 && option <= 4){ + switch(option){ + case 1: + if(totalSencillas==0){ + printf("No se puede eliminar una hamburguesa sencilla que no tienes!"); + }else{ + totalSencillas--; + printf("Se elimino una hamburguesa sencilla!"); + } + printRemoveHamburguesaMenu(); + break; + case 2: + if(totalSencillas==0){ + printf("No se puede eliminar una hamburguesa doble que no tienes!"); + }else{ + totalDobles--; + printf("Se elimino una hamburguesa doble!"); + } + printRemoveHamburguesaMenu(); + break; + case 3: + if(totalSencillas==0){ + printf("No se puede eliminar una hamburguesa triple que no tienes!"); + }else{ + totalTriples--; + printf("Se elimino una hamburguesa triple!"); + } + printRemoveHamburguesaMenu(); + break; + case 4: + printOptions(); + break; + } + }else{ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printRemoveHamburguesaMenu(); + return; + } +} + +void printPaymentMenu(){ + printf("Cuenta final del cliente: %s\n", nombre); + printf("Cantidad Tipo Precio Precio Total\n"); + printf("%8d Sencillas $60.00 $%.2f\n", totalSencillas, (totalSencillas*60.0)); + printf("%8d Dobles $80.00 $%.2f\n", totalDobles, (totalDobles*80.0)); + printf("%8d Triples $100.00 $%.2f\n", totalTriples, (totalTriples*100.0)); + printf(" Total $%.2f\n", totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0); + printf("3. Pagar\n"); + printf("\nSeleccione tipo de pago: \n"); + printf("1. Efectivo\n"); + printf("2. Tarjeta de Credito\n"); + printf("3. Regresar\n"); + readPaymentOption(); +} + +void readPaymentOption(){ + int option; + if (scanf("%d",&option) != 1){ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printPaymentMenu(); + return; + } + if(option >= 1 && option <= 3){ + switch(option){ + case 1: + printf("Cuenta final del cliente: %s\n", nombre); + printf("Cantidad Tipo Precio Precio Total\n"); + printf("%8d Sencillas $60.00 $%.2f\n", totalSencillas, (totalSencillas*60.0)); + printf("%8d Dobles $80.00 $%.2f\n", totalDobles, (totalDobles*80.0)); + printf("%8d Triples $100.00 $%.2f\n", totalTriples, (totalTriples*100.0)); + printf(" Total $%.2f\n", totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0); + printf(" Pagado por Efectivo\n"); + montoTotal += totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0; + totalSencillas = 0; + totalDobles = 0; + totalTriples = 0; + getClientName(); + break; + case 2: + printf("Cuenta final del cliente: %s\n", nombre); + printf("Cantidad Tipo Precio Precio Total\n"); + printf("%8d Sencillas $60.00 $%.2f\n", totalSencillas, (totalSencillas*60.0)); + printf("%8d Dobles $80.00 $%.2f\n", totalDobles, (totalDobles*80.0)); + printf("%8d Triples $100.00 $%.2f\n", totalTriples, (totalTriples*100.0)); + printf(" Subtotal $%.2f\n", totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0); + printf(" Comision(3%%) $%.2f\n", (totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0)*0.03); + printf(" Total $%.2f\n", (totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0)*1.03); + printf(" Pagado por Tarjeta de Credito\n"); + montoTotal += totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0; + comisiones += (montoTotal += totalSencillas*60.0+totalDobles*80.0+totalTriples*100.0)*0.03; + totalSencillas = 0; + totalDobles = 0; + totalTriples = 0; + getClientName(); + break; + case 3: + printOptions(); + break; + } + }else{ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printPaymentMenu(); + return; + } +} + +void printCloseRegisterMenu(){ + printf("Seguro que quieres cerrar caja? Estas atentiendo al cliente, %s\n", nombre); + printf("1. Si\n"); + printf("2. No\n"); + readCloseRegisterMenu(); +} + +void readCloseRegisterMenu(){ + int option; + if (scanf("%d",&option) != 1){ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printCloseRegisterMenu(); + return; + } + if(option >=1 && option <=2){ + if(option==1){ + printf("\nTotal de Ventas: $%.2f\n", montoTotal); + printf("Total de Comisiones por Tarjeta de Credito: $%.2f\n", comisiones); + }else if(option==2){ + printOptions(); + } + }else{ + printf("Entrada no valido, porfavor intente de nuevo.\n"); + printCloseRegisterMenu(); + } +} \ No newline at end of file diff --git a/NullPointer/ADA5/Ex49.c b/NullPointer/ADA5/Ex49.c new file mode 100644 index 0000000..aaab59e --- /dev/null +++ b/NullPointer/ADA5/Ex49.c @@ -0,0 +1,50 @@ +#include +#include +/* + * Equipo: NullPointer + * Actividad de Aprendizaje 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 13feb2020 + * Problema 49 + * Un restaurante ofrece hamburguesas sencillas, dobles y triples, las + cuales tienen un costo de $60.00, $80.00 y $100.00, respectivamente. + La empresa acepta tarjetas de crédito con un cargo adicional de 3% + sobre la compra. Los clientes pueden hacer su pedido con cualquier + cantidad de hamburguesas de los tipos que deseen comer. E.P. para + determinar cuánto debe pagar cada uno de los N clientes que llegan al + establecimiento. También, al final del día, se requiere imprimir el + monto total de las ventas y el total de las comisiones por tarjeta de + crédito. + */ +int main(){ + int numeroClientes; + float ventaFinal = 0, comisionFinal = 0; + setlocale(LC_ALL, ""); // Multi locales + printf("Introduzca la cantidad de clientes:\n"); + scanf("%d",&numeroClientes); + for(int contadorClientes = 0; contadorClientes +#include +#include +#include +/* + * Practica de Laboratorio 5 + * @author: Yao Chung Hu + * @fecha: 18feb2020 + * @version: 1.0 + * + * Problema: + * I. Se cuenta con una lista con los resultados de 100 estudiantes en un concurso internacional de matemáticas. Dicha lista contiene la siguiente información de cada estudiante: nombre, nombre de universidad, país de nacimiento, Cal1, Cal2, Cal3 y Cal4. Como se observa en los datos, para cada estudiante se tiene la calificación que obtuvo en cada uno de los cuatro problemas de que constaba el concurso. También, se conoce que algunos alumnos participantes en la competencia, son de la UADY. + +E.P. que determine e imprima lo siguiente: + +a) Número de alumnos de la UADY que participaron. + +b) Número de participantes que sean mexicanos. + +c) Nombre del alumno de la UADY que obtuvo la calificación final más alta (sólo es uno). Dicha calificación final, es la suma de las cuatro calificaciones parciales obtenidas en los problemas. + +Implementar al menos dos funciones con paso de parámetros por valor o por referencia, tal como: ingresarDatos; calcularCalFinal; verificarNacionalidad; verificarUniversidad; imprimirResultados. + */ + +char nombre[20], tronoNombre[20]; +char universidad[40]; +char pais[20]; +float cal1, cal2, cal3, cal4, tronoCalFinal = 0; +int contadorUADY, contadorMexicanos; + +void ingresarDatos(int index); +float calcularCalFinal(); +void verificarNacionalidad(); +void verificarUniversidad(); +void calcularCalFinalMasAlta(); +void imprimirResultados(); + +int main() { + for(int contadorEstudiante = 0; contadorEstudiante < 100; contadorEstudiante++){ + ingresarDatos(contadorEstudiante+1); + verificarNacionalidad(); + verificarUniversidad(); + } + imprimirResultados(); + return 0; +} + +void ingresarDatos(int index){ + printf("Participante %d, Ingrese su nombre:\n", index); + scanf("%s", &nombre); + printf("Participante %d, Ingrese su universidad:\n", index); + scanf("%s", &universidad); + printf("Participante %d, Ingrese su pais:\n", index); + scanf("%s", &pais); + printf("Participante %d, Ingrese su calificacion 1:\n", index); + scanf("%f", &cal1); + printf("Participante %d, Ingrese su calificacion 2:\n", index); + scanf("%f", &cal2); + printf("Participante %d, Ingrese su calificacion 3:\n", index); + scanf("%f", &cal3); + printf("Participante %d, Ingrese su calificaion 4:\n", index); + scanf("%f", &cal4); +} + +float calcularCalFinal(){ + return cal1+cal2+cal3+cal4; +} + +void verificarNacionalidad(){ + if(strcasecmp("Mexico", pais) == 0){ + contadorMexicanos++; + } +} + +void verificarUniversidad(){ + if(strcasecmp("UADY", universidad) == 0){ + calcularCalFinalMasAlta(); + contadorUADY++; + } +} + +void calcularCalFinalMasAlta(){ + if(tronoCalFinal + +int main() +{ + int N = 1, M = 1; + //ReadSize + printf("Dame el tamano de N\n"); + scanf("%d", &N); + printf("Dame el tamano de M\n"); + scanf("%d", &M); + float A[N][M], X[N], Z[N]; + //ReadData + for(int i = 0; i < N; i++){ + for(int j = 0; j < M; j++){ + printf("Matrix A - Position [%d, %d]\n", i+1, j+1); + scanf("%f", &A[i][j]); + } + } + for(int i = 0; i < N; i++){ + printf("Vector X - Position [%d]\n", i+1); + scanf("%f", &X[i]); + } + //CalculateResult + for(int i = 0; i < N; i++){ + float sumador = 0; + for(int j = 0; j < M; j++){ + sumador += A[i][j] * X[i]; + } + Z[i] = sumador; + } + //PrintResult + printf("\n\n\nResults\n"); + for(int i = 0; i < N; i++){ + printf("%f\n", Z[i]); + } + return 0; +} \ No newline at end of file diff --git a/NullPointer/P7/ejercicio2.c b/NullPointer/P7/ejercicio2.c new file mode 100644 index 0000000..f2d240b --- /dev/null +++ b/NullPointer/P7/ejercicio2.c @@ -0,0 +1,64 @@ +/****************************************************************************** + + Online C Compiler. + Code, Compile, Run and Debug C program online. +Write your code in this editor and press "Run" button to compile and execute it. + +*******************************************************************************/ + +#include + +void readMatrix(int matrix[3][3]){ + for(int i = 0; i < 3; i++){ + for(int j = 0; j < 3; j++){ + printf("Position [%d, %d]\n", i+1, j+1); + scanf("%d", &matrix[i][j]); + } + } +} + +void printMatrix(int matrix[3][3]){ + printf("\n\nTable\n"); + for(int i = 0; i < 3; i++){ + for(int j = 0; j < 3; j++){ + printf("%d ", matrix[i][j]); + } + printf("\n"); + } + printf("\n"); +} + +void validateMagicBox(int matrix[3][3]){ + //Check Columns + for(int i = 0; i < 3; i++){ + int sum = matrix[i][0] + matrix[i][1] + matrix[i][2]; + if(sum == 15){ + printf("Column %d sum is 15\n", i+1); + } + } + //Check Rows + for(int i = 0; i < 3; i++){ + int sum = matrix[0][i] + matrix[1][i] + matrix[2][i]; + if(sum == 15){ + printf("Row %d sum is 15\n", i+1); + } + } + //Check Diagonal + int sumSlash = matrix[0][2] + matrix[1][1] + matrix[2][0]; + int sumBackslash = matrix[0][0] + matrix[1][1] + matrix[2][2]; + if(sumSlash == 15){ + printf("Diagonal / sum is 15\n"); + } + if(sumBackslash == 15){ + printf("Diagonal \\ sum is 15\n"); + } +} + +int main() +{ + int matrix[3][3]; + readMatrix(matrix); + printMatrix(matrix); + validateMagicBox(matrix); + return 0; +} diff --git a/NullPointer/P7/ejercicio3.c b/NullPointer/P7/ejercicio3.c new file mode 100644 index 0000000..ff2bdcf --- /dev/null +++ b/NullPointer/P7/ejercicio3.c @@ -0,0 +1,77 @@ +#include +//declaracion de funciones +void arrCheck(); +void get_data(); +void checker(); +//variables globales +static int px,py,x1,y1,x2,y2,flag=0; +int main() { + get_data(); + checker(x1,y1,x2,y2); + + if(flag==1){ + arrCheck(x1,y1,x2,y2); + } + return 0; +} + +//obtenemos los datos +void get_data(){ + printf("Introduce un valor para X1: "); + scanf("%d",&x1); + printf("Introduce un valor para Y1: "); + scanf("%d",&y1); + printf("Introduce un valor para X2: "); + scanf("%d",&x2); + printf("Introduce un valor para Y2: "); + scanf("%d",&y2); +} + +void arrCheck(){ + printf("\n"); + int mt1[x1][y1],mt2[x2][y2], mtp[x1][x1]; + for(int i = 0; i < x1; i++){ + for(int j = 0; j < y1; j++){ + printf("MT1 - Posicion %d, %d\n", i+1, j+1); + scanf("%d", &mt1[i][j]); + } + } + for(int i = 0; i < x2; i++){ + for(int j = 0; j < y2; j++){ + printf("MT2 - Posicion %d, %d\n", i+1, j+1); + scanf("%d", &mt2[i][j]); + } + } + for(int i = 0; i < x1; i++){ + for(int j = 0; j < x1; j++){ + int sumador = 0; + for(int k = 0; k < y1; k++){ + sumador += mt1[i][k] * mt2[k][j]; + } + mtp[i][j] = sumador; + } + } + + for(int i = 0; i < x1; i++){ + for(int j = 0; j < x1; j++){ + printf("Resultado [%d, %d] - %d\n",i+1, j+1, mtp[i][j]); + } + } +} + +void checker(){ + if(x1==y2){ + px=x2; + py=y1; + printf("Verificado x1-y2"); + flag=1; + + } else if(y1==x2){ + px=y2; + py=x1; + printf("Verificado y1-x2"); + flag=1; + }else{ + printf("NO COINCIDEN"); + } +} \ No newline at end of file diff --git a/NullPointer/Practica de laboratoria 2/ejercicio1.c b/NullPointer/Practica de laboratoria 2/ejercicio1.c new file mode 100644 index 0000000..2bbfb98 --- /dev/null +++ b/NullPointer/Practica de laboratoria 2/ejercicio1.c @@ -0,0 +1,62 @@ +/* + * Practica de laboratoria 2 + * + * problema: + * Un beisbolista tiene cuatro oportunidades de batear en un juego. Por cada turno al bate, se registra si el batazo del jugador es "hit", "out" o "base por bola". Se quiere saber, en un juego, cuántas veces el jugador batea un "hit", cuántas veces es "out" y cuántas veces recibe "base por bola". Además, se desea calcular el porcentaje de bateo por juego del jugador, lo cual se calcula dividiendo el número de veces que batea un hit, entre las oportunidades de bateo que no son "base por bola". E.P. que calcule e imprima lo siguiente: + a) Cuántas veces se batea un hit, cuántas veces un out y cuántas veces base por bola, + b) Cuál es el porcentaje de bateo del juego para el jugador. + * equipo: NullPointer + * author: Yao Chung Hu + * version: 1.0 + * fecha: 28ene2020 + */ + +#include // Standard I/O +int hit, out, bola; //Variables enteros para guardar las cantidad de veces que sucedio cada accion + +int main() { + int seleccion; + printf("Introduzca 1 para un 'hit', 2 para un 'out' o 3 para un 'base por bola'\n"); + scanf("%d", &seleccion); + printf("selccion = %d", seleccion); + if(seleccion==1){ + hit++; + }else if(seleccion==2){ + out++; + }else if(seleccion==3){ + bola++; + } + printf("Introduzca 1 para un 'hit', 2 para un 'out' o 3 para un 'base por bola'\n"); + scanf("%d", &seleccion); + if(seleccion==1){ + hit++; + }else if(seleccion==2){ + out++; + }else if(seleccion==3){ + bola++; + } + printf("Introduzca 1 para un 'hit', 2 para un 'out' o 3 para un 'base por bola'\n"); + scanf("%d", &seleccion); + if(seleccion==1){ + hit++; + }else if(seleccion==2){ + out++; + }else if(seleccion==3){ + bola++; + } + printf("Introduzca 1 para un 'hit', 2 para un 'out' o 3 para un 'base por bola'\n"); + scanf("%d", &seleccion); + if(seleccion==1){ + hit++; + }else if(seleccion==2){ + out++; + }else if(seleccion==3){ + bola++; + } + printf("Hits: %d\n", hit); + printf("Outs: %d\n", out); + printf("Base por bola: %d\n", bola); + printf("Porcentaje de bateo: %f%", (float)hit/(out+hit)); + return 0; +} + diff --git a/NullPointer/Practica de laboratoria 2/ejercicio1_usando_recursividad.c b/NullPointer/Practica de laboratoria 2/ejercicio1_usando_recursividad.c new file mode 100644 index 0000000..126967c --- /dev/null +++ b/NullPointer/Practica de laboratoria 2/ejercicio1_usando_recursividad.c @@ -0,0 +1,54 @@ +/* + * Practica de laboratoria 2 + * + * problema: + * Un beisbolista tiene cuatro oportunidades de batear en un juego. Por cada turno al bate, se registra si el batazo del jugador es "hit", "out" o "base por bola". Se quiere saber, en un juego, cuántas veces el jugador batea un "hit", cuántas veces es "out" y cuántas veces recibe "base por bola". Además, se desea calcular el porcentaje de bateo por juego del jugador, lo cual se calcula dividiendo el número de veces que batea un hit, entre las oportunidades de bateo que no son "base por bola". E.P. que calcule e imprima lo siguiente: + a) Cuántas veces se batea un hit, cuántas veces un out y cuántas veces base por bola, + b) Cuál es el porcentaje de bateo del juego para el jugador. + * equipo: NullPointer + * author: Yao Chung Hu + * version: 1.0 + * fecha: 28ene2020 + */ + +#include // Standard I/O + +int hit, out, bola; //Variables enteros para guardar las cantidad de veces que sucedio cada accion +/* Funcion para leer que tipo de accion se realizo y se suma a los variables para dicho seleccion, por si acaso el + * usuario introduzca otro numero que no esta en las correspondientes entra la recursividad para que seleccionen de + * nuevo. + */ +void leerTipo(void){ + int seleccion; + printf("Introduzca 1 para un 'hit', 2 para un 'out' o 3 para un 'base por bola'\n"); + scanf("%d", &seleccion); + if(seleccion==1){ + hit++; + }else if(seleccion==2){ + out++; + }else if(seleccion==3){ + bola++; + }else{ + printf("Seleccion invalid intenta de nuevo\n"); + leerTipo(); + } +} +/* + * Imprimir los resultados finales de las cantidad de acciones y que porcentaje de xxxx xd + */ +void imprimirResultados(void){ + printf("Hits: %d\n", hit); + printf("Outs: %d\n", out); + printf("Base por bola: %d\n", bola); + printf("Porcentaje de bateo: %f%", (float)hit/(out+hit)); +} + +int main() { + leerTipo();// Leer la primera accion + leerTipo();// Leer la segunda accion + leerTipo();// Leer la tercera accion + leerTipo();// Leer la cuarta accion + imprimirResultados();// Calcula e imprime los resultados + return 0; +} + diff --git a/NullPointer/Practica de laboratoria 2/ejercicio2.c b/NullPointer/Practica de laboratoria 2/ejercicio2.c new file mode 100644 index 0000000..91923a5 --- /dev/null +++ b/NullPointer/Practica de laboratoria 2/ejercicio2.c @@ -0,0 +1,65 @@ +/* + * Practica de laboratoria 2 + * + * problema: + * En un supermercado, se realizan descuentos por la compras a partir de unas bolitas de colores: verde 20%, amarilla 25%, negra 30%; la blanca no aplica ningún descuento. E.P. que lea el importe de la compra y el color de la bolita, determine e imprima cuanto debe pagar un cliente. + * equipo: NullPointer + * author: Miguel Humberto Gonzalez Herrera + * version: 1.0 + * fecha: 29ene2020 + */ + +#include +#include +int main() +{ + char bol[8]; + int bolV,bolA,bolN,bolB; + float comp; + printf("¿Cual fue tu monto de compra?\n"); + scanf("%f",&comp); + + printf("¿Que bola tiene?\nverde \namarillo \nnegro \nblanco \nescribirlo en MINUSCULAS\n"); + scanf("%s",&bol); + bolV=strcmp(bol,"verde"); + bolA=strcmp(bol,"amarillo"); + bolN=strcmp(bol,"negro"); + bolB=strcmp(bol,"blanco"); + + switch(bolV){ + case 0: + comp*=.8; + printf("Su monto de compra,incluyendo el descuento, es de: $%.2f",comp); + break; + default: + break; + } + + switch(bolA){ + case 0: + comp*=.75; + printf("Su monto de compra,incluyendo el descuento, es de: $%.2f",comp); + break; + default: + break; + } + + switch(bolN){ + case 0: + comp*=.7; + printf("Su monto de compra,incluyendo el descuento, es de: $%.2f",comp); + break; + default: + break; + } + + switch(bolB){ + case 0: + printf("Su monto de compra (BLANCA no da descuento) es de: $%.2f",comp); + break; + default: + break; + } + + return 0; +} \ No newline at end of file diff --git a/NullPointer/Practica de laboratoria 3/EX1.c b/NullPointer/Practica de laboratoria 3/EX1.c new file mode 100644 index 0000000..c74bac7 --- /dev/null +++ b/NullPointer/Practica de laboratoria 3/EX1.c @@ -0,0 +1,44 @@ +#include +int mes,cont,vermes, primse,segse; +int main() { + cont=0; + //se encarga de preguntar a los 45 alumnos su mes de edad// + while(cont<45) + { + //vermes mantiene 1 si el mes es incorrecto y 0 cuando es correcto// + vermes=1; + printf("Introduce tu mes de nacimiento\n"); + scanf("%d",&mes); + //verfica el mes introducido y si no es correcto, pide otro// + while(vermes!=0) + { + //se encarga del proceso de verificar el mes// + if(mes>=1){ + if(mes<=12){ + vermes=0; + } else{ + printf("el mes introducido no existe, introduce uno nuevo\n"); + printf("Introduce tu mes de nacimiento\n"); + scanf("%d",&mes); + } + } else{ + printf("el mes introducido no existe, introduce uno nuevo\n"); + printf("Introduce tu mes de nacimiento\n"); + scanf("%d",&mes); + } + + } + //contador que sirve para llegara a los 45 alumnos// + cont++; + //contador de nacidos en que semestre// + if(mes<7){ + primse+=1; + } else{ + segse+=1; + } + } + + printf("hubieron %d que nacieron en el primer semestre y %d en el segundo semestre",primse,segse); + return 0; +} + diff --git a/NullPointer/Practica de laboratoria 3/Ex2.c b/NullPointer/Practica de laboratoria 3/Ex2.c new file mode 100644 index 0000000..f191cfc --- /dev/null +++ b/NullPointer/Practica de laboratoria 3/Ex2.c @@ -0,0 +1,65 @@ +#include // Standard I/O +#include // Console I/O + +/* + * Equipo: NullPointer + * Practica de Laboratorio 3 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 06feb2020 + * Problema + * En un concurso se solicitará a un número no determinado de personas, que intenten adivinar la longitud exacta en metros de un vehículo. Cada persona tiene una sola oportunidad para participar. E.P. que permita leer las longitudes propuestas por dichas personas y que determine la diferencia con la longitud correcta que es 3.85 mts. También, debe capturar las propuestas de todos los que quieran participar y, cuando ya no haya más participantes, imprimir tanto el número del participante más cercano a la longitud correcta, como la longitud propuesta por dicho participante. Además, se imprimirá el número total de participantes. Utilizar sólo estructuras repetitivas do-while. + */ + +int main(void) { + int contador = 1; // Contador para N personas + int numeroDePersonas = 0; // N Personas + double valorIntroducido = 0; // Guarda el valor introducido + const double valor = 3.85; // Valor constante + double tempValor = 0; // Guarda el valor mas cercana a 0 o a 0 + double tempMasCercana = 0; // Guarda el valor mas cercana a 0 + int tempNumeroDePersona = 0; // Guarda el numero del participante mas cercana a 0 o a 0 + + printf("Introducir la cantidad de personas que participara:\n"); + scanf("%d", &numeroDePersonas); + do{ + printf("Participante #%d, ingresar tu valor:\n", contador); + fflush(stdin); //Descartar buffer + scanf("%lf", &valorIntroducido); + // Trono Checador + if(contador == 1){// Guarda la primera sin importar que valor es + tempValor = (float)valorIntroducido; + tempNumeroDePersona = contador; + if(valorIntroducido>valor && valorIntroducido-valor != 0){ + tempMasCercana = (float)(valorIntroducido-valor); + }else if(valorIntroducidovalor && tempMasCercana != 0){ + if(valorIntroducido-valor < tempMasCercana){ + tempValor = (float)valorIntroducido; + tempNumeroDePersona = contador; + tempMasCercana = (float)(valorIntroducido-valor); + } + }else if(valorIntroducido= contador); + printf("El Participante #%d fue el mas cercano al valor %lf con el valor %lf",tempNumeroDePersona, valor, tempValor); // Imprime el participante mas cercano y el valor que introducio + return 0; +} \ No newline at end of file diff --git a/NullPointer/Practica de laboratoria 3/Ex3.c b/NullPointer/Practica de laboratoria 3/Ex3.c new file mode 100644 index 0000000..8b70398 --- /dev/null +++ b/NullPointer/Practica de laboratoria 3/Ex3.c @@ -0,0 +1,33 @@ +#include +//Declaramos variables globales// +int ct1,ct2,numtra,acumtra,salind,acumsal; +float promsal; +int main() +{ +//iniciamos el contador de empresas// + ct1=1; + //primer while: controla el numero de empresas// + while(ct1<11) + { + //lee el numero de empleados, acumula estos ultimos, y reinicia el contador del segundo while// + printf("Introduce el numero de empleados en la empresa %d\n",ct1); + scanf("%d",&numtra); + acumtra+=numtra; + ct2=0; + //dependiendo del resultado numtra, sera el num. limite para el contador// + while(ct2 + +int main() { + /* + comd=dato que el usuario introduce + cont1 contador para el for + posix,posiy, sumadores + movs cantidad de movimientos + key verifica si el comando es correcto + */ + int comd,cont1,posix,posiy,movs,key; + //inicializa contadores// + posix=0; + posiy=0; + key=0; + //lectura de cant de movimientos// + printf("introduce el numero de movimienos\n"); + scanf("%d",&movs); + printf("introduce uno de los siguientes comandos:\n 6 Aumenta coordenada x por 1 \n 4 Reduce coordenada x por 1 \n 8 Aumenta coordenada y por 1 \n 2 Reduce coordenada y por 1\n"); + //procesos// + for(cont1=0;cont1 +#include +#include +/* + * Equipo: NullPointer + * Practica de Laboratorio 4 + * @author: Yao Chung Hu + * @version: 1.0 + * @fecha: 09feb2020 + * Problema + * “Boxito Plomero” es un mayorista de plomería, electricidad, artículos y muebles para baño, que cuenta con tres establecimientos en la Península de Yucatán. Asimismo, cuenta con información de sus ventas y costos mensuales de cada una de sus tiendas de los últimos cinco años. E.P. que lea las ventas y costos mensuales, de cada una de las tiendas, de los cinco años. Determine e imprima lo siguiente: + a) Cuál es la tienda que obtuvo más utilidades totales en los 5 años? + b) En qué año, Boxito, obtuvo la mayor utilidad total de todos los establecimientos? + Se sabe que Utilidad mensual = Ventas mensuales – Costos mensuales. Utilizar estructuras repetitivas for. + */ +int main (){ + char nombreSurcursalTrono5Years[20]; // Variable para guardar el nombre con el mayor utilidad de 5 años + float mayorUtilidadTrono5Years = 0; // Variable para guardar el mayor utilidad de 5 años + char nombreSurcursalTronoYear[20]; // Variable para guardar el nombre de la surcursal con el mayor utilidad de cierto año + int yearTrono = 0; // Variable para guardar el año con mayor utilidad + float mayorUtilidadTronoYear = 0; // Variable para guardar el mayor utilidad + + setlocale(LC_ALL,"");//Se aplica la función de la biblioteca locale para que se puedan imprimir acentuaciones... + for(int contadorTiendas = 1; contadorTiendas<=3; contadorTiendas++){//Ciclo por tiendas + char nombreSurcursal[20];//Variable para guardar el nombre de la surcursal + float utilidadesDe5Years = 0;//Variable para guardar la utilidad de 5 años por surcursal + printf("Nombre de la Surcursal #%d:\n", contadorTiendas); + scanf("%s", &nombreSurcursal);//Leer nombre de la surcursal + fflush(stdin);//Clear Buffer + for(int contadorYears = 1; contadorYears<=5; contadorYears++){//Ciclo por años + float utilidadesDe1Year = 0;//Variable para guarda la utilidad de un año + for(int contadorMeses = 1; contadorMeses<=12; contadorMeses++){//Ciclo por meses + float ventas, costos, utilidadesDelMes = 0;// Declaro variables para ventas, costos, utilidades + printf("Ventas del Surcusal %s para el año %d del mes %d:\n", nombreSurcursal, contadorYears, contadorMeses); + scanf("%f", &ventas);//Leer ventas + fflush(stdin);//Clear buffer + printf("Costos del Surcusal %s para el año %d del mes %d:\n", nombreSurcursal, contadorYears, contadorMeses); + scanf("%f", &costos);//Leer costos + fflush(stdin);//Clear buffer + utilidadesDelMes = ventas-costos;//Calcula la utilidad por mes; + utilidadesDe1Year += utilidadesDelMes;//Sumador utilidades por año sumandole utilidades por mes + } + if(contadorYears == 1 || mayorUtilidadTronoYear