24 de Noviembre de 2019
Autor: Rosendo Antonio Manuel
Hola chicos bienvenidos a este espacio de programación.
En esta ocasión pongo a disposición de ustedes el código en lenguaje c++ de la ley de Ohm para compilar en Dev C++.
Para que lo analicen y si tienen duda no olviden consultarme al correo ramsc2@gmail.com .
He aquí el código.
#include <stdio.h>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
float calculaResistencia(float,float);
float calculaVoltaje(float,float);
float calculaCorriente(float,float);
float leeValor(const char*);
void muestraTexto(const char*);
void menu();
void LeyOhm(int);
int leeOpcion(const char*);
void limpiaPantalla();
void Pausa();
int main(int argc, char** argv) {
int controlflujo=0;
while(controlflujo!=4)
{
limpiaPantalla();
menu();
controlflujo=leeOpcion("Escribe la opcion deseada: ");
if((controlflujo==1)||(controlflujo==2)||(controlflujo==3))
{
LeyOhm(controlflujo);
Pausa();
}
}
return 0;
}
void menu()
{
muestraTexto("\n1.-Cálculo de Resistencia\n");
muestraTexto("2.-Cálculo de Voltaje\n");
muestraTexto("3.-Cálculo de Corriente\n");
muestraTexto("4.-Salir\n");
}
int leeOpcion(const char* mensaje)
{
int opcion=0;
muestraTexto(mensaje);
scanf("%d",&opcion);
return opcion;
}
float leeValor(const char* mensaje)
{
float opcion=0;
muestraTexto(mensaje);
scanf("%f",&opcion);
return opcion;
}
void LeyOhm(int control)
{
limpiaPantalla();
float Resistencia,Voltaje,Corriente;
switch(control)
{
case 1:
muestraTexto("\n\n\t\tCálculo de Resistencia\n\n");
Voltaje=leeValor("Escribe el valor del voltaje: ");
Corriente=leeValor("Escribe el valor de la corriente: ");
if(Corriente==0)
{
muestraTexto("\nNo se puede calcular el valor la resistencia si la corriente es cero.");
}
else
{
Resistencia=calculaResistencia(Voltaje,Corriente);
muestraTexto("\nEl valor de la resistencia es:");
printf("%0.2f",Resistencia);
}
break;
case 2:
muestraTexto("\n\n\t\tCálculo de Voltaje\n\n");
Resistencia=leeValor("Escribe el valor de la resistencia: ");
Corriente=leeValor("Escribe el valor de la corriente: ");
Voltaje=calculaVoltaje(Resistencia,Corriente);
muestraTexto("\nEl valor del voltaje es:");
printf("%0.2f",Voltaje);
break;
case 3:
muestraTexto("\n\n\t\tCálculo de Corriente\n\n");
Resistencia=leeValor("Escribe el valor de la resistencia: ");
Voltaje=leeValor("Escribe el valor del voltaje: ");
if(Resistencia==0)
{
muestraTexto("\nNo se puede calcular el valor la corriente si la resistencia es cero.");
Pausa();
}
else
{
Corriente=calculaCorriente(Voltaje,Resistencia);
muestraTexto("\nEl valor de la corriente es:");
printf("%0.2f",Corriente);
}
break;
default:
muestraTexto("No existe una opcion de cálculo con esta opción.");
}
}
void limpiaPantalla()
{
system("cls");
}
void Pausa()
{
muestraTexto("\nOprime cualquier tecla para continuar...");
getch();
}
void muestraTexto(const char* texto)
{
printf(texto);
}
float calculaResistencia(float voltaje,float corriente)
{
if(corriente==0)
return 0;
return voltaje/corriente;
}
float calculaVoltaje(float resistencia,float corriente)
{
return resistencia*corriente;
}
float calculaCorriente(float voltaje,float resistencia)
{
if(resistencia==0)
return 0;
return voltaje/resistencia;
}
Saludos.



