Logo Studenta

Simulacro_de_parcial_comision_7

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

/*silva cristian 44301171 
objetivo: generar un informe sobre la efectividad de la vacunacion.
estrategia:	ingreso datos de la vacunacion.
mostrar datos de los vacunados con la antigripal.
calcular cantidad y porcentaje de vacunados quinta dosis de covid.
contar la cantidad de vacunados con la antigripal.
mostrar informe campaña de vacunacion.
*/
#define TITULO "Campana de vacunacion - Provincia de Corrientes"
#define LINEA "**************************"
#include <stdio.h>
#include <stdlib.h>
//variables
int dni, edad, tipoVacuna, nroDosis, lugarNum;
int vacunados, vacunadoGripe, vacunados_covid_menores;
char *lugares[] ={"CAP","Facultad de Medicina"};
char *vacunas[] ={"Antigripal", "Covid"};
float porcentaje;
//prototipos
void inicializarVariables();
void ingresarDatos();
void imprimirEnPantalla();
void procesarDatos();
float porcentaje_covid_menores(int, int);
void imprimirInforme(float);
int main(){
	inicializarVariables();
do{
	ingresarDatos();
	imprimirEnPantalla();
if (dni >0){
	procesarDatos();
	porcentaje = porcentaje_covid_menores(vacunados_covid_menores, vacunados);
}
} while(dni > 0);
	imprimirInforme(porcentaje);
return 0;
}
void inicializarVariables(){
	vacunados = 0;
	vacunadoGripe = 0;
	vacunados_covid_menores = 0;
}
void ingresarDatos(){
	printf("\nIngrese su DNI (0 para terminar):\n");
	scanf("%d", &dni);
if (dni >0){
	printf("Ingrese su edad: \n");
	scanf("%d", &edad);
	printf("Ingrese el tipo de vacuna: (1- Antigripal, 2- Covid)\n");
	scanf("%d", &tipoVacuna);
	if (tipoVacuna > 2 || tipoVacuna <1){
		printf("Tipo de vacuna invalida.\n");
		exit(0);
	}
	printf("Ingrese el numero de dosis que tiene:\n");
	scanf("%d", &nroDosis);
	printf("Ingrese el lugar de vacunacion: (1-CAP, 2-Facultad de Medicina) \n");
	scanf("%d", &lugarNum);
	if (lugarNum > 2 || lugarNum < 1){
		printf("Lugar invalido.\n");
		exit(0);
	}
	fflush(stdin);
}
}
void imprimirEnPantalla(){
char *lugarNombre = lugares[tipoVacuna -1];
char *vacunaNombre = vacunas[tipoVacuna -1];
if (dni > 0){
	printf("%s - DNI: %d Edad: %d Lugar: %s \n", vacunaNombre, dni, edad, lugarNombre);
}
}
void procesarDatos(){
	vacunados++;
	if (tipoVacuna == 1){
		vacunadoGripe++;
	}
	else if (tipoVacuna == 2 && edad < 19 && nroDosis > 4)
	{
		vacunados_covid_menores++;
	}
}
float porcentaje_covid_menores(int a, int b){
	return (float) a / b * 100;
}
void imprimirInforme(float porcentaje){
printf("%s\n", LINEA);
printf("-----%s-----\n", TITULO);
printf("%s\n", LINEA);
printf("Cantidad de vacunados TOTALES %d\n", vacunados);
printf("Cantidad de vacunados Antigripal: %d\n", vacunadoGripe);
printf("Cantidad de vacunados COVID con 5ta dosis menores de edad:%d\n", vacunados_covid_menores);
printf("Porcentaje con quinta dosis menores de edad sobre total de vacunados: %.2f%%\n", porcentaje);
}
/*
Casos de prueba
dni			Edad	Tipo Vacuna 	Nro Dosis	Lugar Vacunacion contAnti contCovid	porcetajeCovid<17QuintaDosis
12345679	67		1				5			1					3			1					0
51078198	18		2				3			2					0			2					0
43301171	16		1				5			2					1			2					50%
*/

Otros materiales

Materiales relacionados

275 pag.
parcial algoritmos

SIN SIGLA

User badge image

Cerbero YT

10 pag.
guia 2 parcial

SIN SIGLA

User badge image

Luis Raúl Olvera Rodríguez

2 pag.
Parcial 2 Repaso 02

SIN SIGLA

User badge image

Sebastián Villagra