Sei sulla pagina 1di 4

Ejercicio

Construya un programa en lenguaje C que, con funciones permita saber si una persona con
síntomas de covid 19 se debe quedar o no en la clínica en observación. Cuando un paciente
llega, le preguntan: Es ud mayor de 60 años?, Es usted diabético?, Es ud hipertenso?. Si la
respuesta a las tres preguntas es verdadera, el paciente debe quedarse en estricta observación,
de lo contrario, si el paciente presente dos de estas características, debe quedarse en
observación media, sino, se puede ir para la casa.

# include <stdio.h>
# include <stdbool.h> # include <string.h>

bool leerDatoLogico(char mensaje[50]);


void diagnosticar(bool esM, bool esD, bool esH); void mostrarMensaje(char mensaje[50]);

int main() {

bool esMayor60, esDiabetico, esHipertenso;

esMayor60 = leerDatoLogico(" Es usted mayor de 60 años: S/N "); esDiabetico =


leerDatoLogico(" Es usted diabético: S/N "); esHipertenso = leerDatoLogico(" Es usted
hipertenso: S/N ");

diagnosticar(esMayor60, esDiabetico, esHipertenso);

return 0; }
bool leerDatoLogico(char mensaje[50]) {

bool dato; char res;

printf(" %s ", mensaje); scanf("\n%c", &res);

if (res=='S') dato = true;

else
dato = false;

return dato; }

void diagnosticar(bool esM, bool esD, bool esH) {

if (esM==true && esD == true && esH == true) {

mostrarMensaje( " Se queda en estricta observacion viejito"); }

else {

esD == true))
{

mostrarMensaje( " Se queda en observacion media"); }

else {

mostrarMensaje( " Vayase pa la casa"); }

}}

if ((esM==true && esD == true) || (esM==true && esH == true) || (esH==true &&

void mostrarMensaje(char mensaje[50]) {

printf(" %s ", mensaje); }

Ejercicio 2

Construya un programa en lenguaje C con un menú hecho con switch ... case que permita hacer
lo siguiente invocando funciones y procedimientos:

Opción 1: pedir dos números enteros de tres digitos


Opción 2: sumar los números

Opcion 3: multiplicar los dos números

Opcion 4: dividir los dos números teniendo en cuenta que el segundo no puede ser cero

Opcion 5: determinar la suma de los tres dígitos de cada número ingresado y encontrar la
mayor de esas dos sumas.

Opcion 6: salir

Variables Banderas

Es una variable que indica si algo ya se hizo o no, si algo ya sucedió o no en la ejecución del
programa. Es de tipo lógico. También recibe el nombre de centinela o switche del Ingles.

# include <stdio.h>
# include <stdbool.h>

int leerEntero(char mensaje[50]); int sumar(int n1, int n2);


void mostrarMensaje(int n);

int main() {

int n1, n2, opc, res; bool yaLeyo;

yaLeyo = false; n1 = 0;
n2 = 0;

printf("Digite : \n 1. Ingresar dos números de tres cifras " "\n 2. Sumar los dos números "

"\n 3. Restar los dos numeros ");

scanf("%i", &opc);

switch(opc) {

case 1: n1 = leerEntero("Ingrese un número de tres cifras: ");


n2 = leerEntero("Ingrese un número de tres cifras: ");

yaLeyo = true; break;

case 2: if(yaLeyo == true) {

res = sumar(n1, n2);


mostrarMensaje(res); }

else {

printf("No ha leido los números"); }

break;

return 0; }

int leerEntero(char mensaje[50]) {

int n;

printf("%s", mensaje); scanf("%i", &n);

if (n<100 || n>999) {

printf("el numero no es de tres cifras");

return 100; }

else {

return n; }

int sumar(int n1, int n2) {

return (n1+n2); }

void mostrarMensaje(int n) {

printf("El resultado es %i ", n); }

Potrebbero piacerti anche