Last active
May 6, 2023 02:03
-
-
Save TrevCan/0468d1edd645e22ce77dff440f0e65f8 to your computer and use it in GitHub Desktop.
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 <time.h> | |
#include <stdlib.h> | |
#include <ctype.h> | |
#include <string.h> | |
void mostrarTabla(char[30][30],int[30][12]); | |
float kgBajados(char[30][30],int [30][12],int[]); | |
void funcionY(char[30][30], int[30][12],float,int[]); | |
void funcionZ(char[30][30],int [30][12],int[]); | |
void busquedaPaciente(char[30][30],int [30][12],int[]); | |
void hacerDiferencia(char[30][30],int [30][12],int[]); | |
char* toLower(char*); | |
int main() | |
{ | |
printf("\tPrograma de obesos anonimos.\n\n"); | |
printf("Seleccione la opcion que desee.\n"); | |
float pp; //pb | |
int diferencia[30],opcion; | |
char nombres[30][30]={"Roberto", | |
"Antonio", | |
"Norma", | |
"Santiago", | |
"Claudia", | |
"Carlos", | |
"Hector", | |
"Fernanda", | |
"Rocio", | |
"Patricio", | |
"Santiago", | |
"Alberto", | |
"Ricardo", | |
"Rebeca", | |
"Renata", | |
"Andrea", | |
"Luis", | |
"Oscar", | |
"Enrique", | |
"Lucas", | |
"Sofia", | |
"Abraham", | |
"Alonso", | |
"Estevan", | |
"Carmen", | |
"Liliana", | |
"Jorge", | |
"Eduardo", | |
"Alejandro", | |
"Miguel"}; | |
int pesos[35][12]={{102,100,95,94,94,91,88,86,83,83,80,75}, | |
{104,104,101,99,95,96,92,91,91,90,88,85}, | |
{101,100,95,94,94,91,88,86,83,83,80,75}, | |
{100,100,100,97,94,94,91,93,91,90,90,89}, | |
{108,107,105,104,103,102,100,95,94,94,92,90}, | |
{109,108,105,100,94,91,89,88,85,84,80,79}, | |
{105,102,95,94,94,91,88,86,83,83,80,75}, | |
{106,104,94,93,93,91,89,87,85,85,83,80}, | |
{120,115,115,114,114,111,108,106,103,103,110,105}, | |
{110,109,106,106,105,104,104,103,102,101,100,99}, | |
{100,99,97,96,96,95,92,90,89,88,89,89}, | |
{102,101,97,93,90,90,88,85,83,82,80,77}, | |
{103,100,98,94,93,91,89,88,84,84,84,83}, | |
{107,105,103,102,101,100,99,98,97,96,96,93}, | |
{115,110,108,107,106,105,105,105,104,103,102,101}, | |
{101,99,96,95,95,94,93,92,91,91,90,89}, | |
{99,98,95,94,93,91,90,88,86,86,85,85}, | |
{112,110,108,105,106,106,107,105,104,103,102,101}, | |
{113,111,110,109,108,99,98,97,95,95,94,93}, | |
{111,110,108,108,108,108,107,106,106,105,104,104}, | |
{101,100,99,99,99,98,97,97,95,95,95,94}, | |
{108,106,106,106,106,105,105,106,106,105,105,105}, | |
{104,103,104,104,104,103,103,103,103,104,104,104}, | |
{102,101,99,96,93,91,88,86,84,82,80,80}, | |
{102,101,99,98,96,95,93,91,90,89,88,85}, | |
{101,100,97,96,94,91,90,90,89,87,86,86}, | |
{100,101,99,98,94,91,89,89,85,83,80,77}, | |
{107,106,105,105,105,106,106,105,104,104,103,102}, | |
{106,105,101,98,97,96,95,94,92,89,88,86}, | |
{109,106,104,102,100,99,96,95,92,91,90,86}, | |
}; | |
hacerDiferencia(nombres,pesos,diferencia); | |
do | |
{ | |
printf("1) Mostar tabla de evolucion de cada uno de los 30 pacientes.\n"); | |
printf("2) Mostrar numero de kgs que bajo cada paciente durante el año ademas del promedio.\n"); | |
printf("3) Pacientes que excedieron la variacion promedio.\n"); | |
printf("4) Nombre de los pacientes que subieron su peso en algun momento del año.\n"); | |
printf("5) Busqueda de paciente\n"); | |
// printf("5) Evolucion personal de algun paciente en especifico(incluye todas las demas opciones)\n"); | |
printf("Para salir presione 0\n\n\n"); | |
printf("Escoja una opcion: "); | |
opcion=0; | |
scanf("%i",&opcion); | |
switch(opcion) | |
{ | |
case 1:mostrarTabla(nombres,pesos); | |
break; | |
case 2:pp=kgBajados(nombres,pesos,diferencia); | |
break; | |
case 3:funcionY(nombres,pesos,pp,diferencia); | |
break; | |
case 4:funcionZ(nombres,pesos,diferencia); | |
break; | |
case 5: | |
busquedaPaciente(nombres,pesos,diferencia); | |
break; | |
case 0: printf("Gracias por utilizar este programa que fue desarrolado por Mario Sanchez y Hector Canizales.\n"); | |
break; | |
default:printf("Opcion invalida\n"); | |
} | |
}while(opcion!=0); | |
} | |
/* mostrarTabla(nombres,pesos);//este llamado de funcion muestra la tabla de los 30 pacientes | |
pp=kgBajados(nombres,pesos,diferencia); //este llamado de funcion muestra cuanto bajo cada individuo y devuelve la variacion promedio | |
funcionY(nombres,pesos,pp,diferencia); //este llamado de funcion muestra los sujetes que excedidron el promedio de la variacion de peso | |
funcionZ(nombres,pesos,diferencia);//este llamado de funcion muestra los pacientes que subieron de peso en algun momento del año | |
*/ | |
void mostrarTabla(char nombres[30][30],int pesos[30][12]) | |
{ | |
int i,j; | |
for(i=0;i<30;i++) | |
{ | |
printf("%s\n",nombres[i]); | |
for(j=0;j<12;j++) | |
{ | |
printf("%d\t",pesos[i][j]); | |
} | |
printf("\n"); | |
} | |
system("pause"); | |
} | |
float kgBajados(char nombres[30][30],int pesos[30][12],int diferencia[]) | |
{ | |
int i; | |
//int diferencia[30]; | |
float promedio=0; | |
for(i=0;i<30;i++) | |
{ | |
diferencia[i]=pesos[i][0]-pesos[i][11]; | |
printf("\nEl paciente %s logro bajar %d kg's.\n",nombres[i],diferencia[i]); | |
} | |
for(i=0;i<30;i++) | |
{ | |
promedio+=diferencia[i]; | |
} | |
printf("\n\n\nLa variacion promedio del grupo fue: %.2f%kgs\n\n",promedio/30); | |
system("pause"); | |
//return diferencia[i]; | |
return promedio/30; | |
} | |
void hacerDiferencia(char nombres[30][30], int pesos[30][12], int diferencia[]){ | |
for(int i = 0; i < 30; i++) | |
{ | |
diferencia[i]=pesos[i][0] - pesos[i][11]; | |
} | |
} | |
void funcionY(char nombres[30][30],int pesos[30][12],float pp, int diferencia[]) | |
{ | |
int i; | |
for(i=0;i<30;i++) | |
{ | |
if(pp<diferencia[i]) | |
{ | |
printf("El paciente %s sobre pasa la variacion de peso\n\n",nombres[i]); | |
} | |
} | |
system("pause"); | |
} | |
void funcionZ(char nombres[30][30],int pesos[30][12],int diferencia[]) | |
{ | |
int i,j; | |
for(i=0;i<30;i++) | |
{ | |
for(j=0;j<11;j++) | |
{ | |
if(pesos[i][j]<pesos[i][j+1]) | |
{ | |
printf("\nEl paciente %s incremento su peso en algun momento del año\n",nombres[i]); | |
} | |
} | |
} | |
} | |
void busquedaPaciente(char nombres[30][30], int pesos[30][12], int diferencia[]){ | |
printf("BUSQUEDA DE PACIENTES.\n\n" | |
"1) Busqueda por nombre\n" | |
"2) Busqueda por peso inicial\n" | |
"3) Busqueda por peso final\n" | |
"4) Busqueda por peso perdido\n" | |
"5) Volver al menu principal\n" | |
); | |
int opcion = 0; | |
printf("Escoja una opcion:\t"); | |
scanf("%i",&opcion); | |
int none=0; | |
switch(opcion){ | |
case 1: | |
printf("Ingrese el nombre a buscar:\t"); | |
char nombreb[30]; | |
scanf("%s", nombreb); | |
toLower(nombreb); | |
// printf("s is: %s\n", toLower(nombreb) ); | |
// printf("s is: %s\n", (nombreb) ); | |
for(int i = 0; i < 30; i++){ | |
char copiaNombre[30]; | |
strncpy(copiaNombre, nombres[i], 30); | |
// printf("nombre es: %s\n", copiaNombre); | |
toLower(copiaNombre); | |
if( !strncmp(nombreb, copiaNombre, 30) ){ | |
none++; | |
// printf(" | |
printf("%s\n",nombres[i]); | |
for(int j=0;j<12;j++) | |
{ | |
printf("Mes %d\t", j+1); | |
} | |
printf("\n"); | |
for(int j=0;j<12;j++) | |
{ | |
printf("%d\t",pesos[i][j]); | |
} | |
printf("\n"); | |
} | |
} | |
printf("\n\n"); | |
break; | |
case 2: | |
printf("Ingrese peso inicial:\t"); | |
float pesoInicial = 0; | |
scanf("%f", &pesoInicial); | |
printf("\n"); | |
for(int i = 0; i < 30; i++){ | |
if( pesos[i][0] == pesoInicial){ | |
none++; | |
printf("%s\n",nombres[i]); | |
for(int j=0;j<12;j++) | |
{ | |
printf("Mes %d\t", j+1); | |
} | |
printf("\n"); | |
for(int j=0;j<12;j++) | |
{ | |
printf("%d\t",pesos[i][j]); | |
} | |
printf("\n"); | |
} | |
} | |
printf("\n\n"); | |
break; | |
case 3: | |
printf("Ingrese peso final:\t"); | |
float pesoFinal = 0; | |
scanf("%f", &pesoFinal); | |
printf("\n"); | |
for(int i = 0; i < 30; i++){ | |
if( pesos[i][11] == pesoFinal){ | |
none++; | |
printf("%s\n",nombres[i]); | |
for(int j=0;j<12;j++) | |
{ | |
printf("Mes %d\t", j+1); | |
} | |
printf("\n"); | |
for(int j=0;j<12;j++) | |
{ | |
printf("%d\t",pesos[i][j]); | |
} | |
printf("\n"); | |
} | |
} | |
printf("\n\n"); | |
break; | |
case 4: | |
printf("Ingrese peso perdido:\t"); | |
float pesoPerdido = 0; | |
scanf("%f", &pesoPerdido); | |
printf("\n"); | |
//printf("peso es %f\n", pesoPerdido); | |
for(int i = 0; i < 30; i++){ | |
//printf("forr\n"); | |
if( diferencia[i] == pesoPerdido){ | |
none++; | |
printf("%s, perdio %f kg's\n",nombres[i], pesoPerdido); | |
for(int j=0;j<12;j++) | |
{ | |
printf("Mes %d\t", j+1); | |
} | |
printf("\n"); | |
for(int j=0;j<12;j++) | |
{ | |
printf("%d\t",pesos[i][j]); | |
} | |
printf("\n\n"); | |
} | |
} | |
printf("\n\n"); | |
break; | |
default: | |
printf("\n\n"); | |
return; | |
} | |
if( !none ){ | |
printf("No se encontraron resultados.\n"); | |
printf("\n\n"); | |
} | |
return; | |
} | |
char* toLower(char* s){ | |
for(char* x=s; *x; x++){ | |
*x=tolower(*x); | |
} | |
return s; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment