Acabo de realizar un proyecto que calcula los voltajes, intensidades, y resistencias eléctricas que hay en un circuito eléctrico de corriente continua.
Citar
V1 = Voltaje 1
V2 = Voltaje 2
Vt = Voltaje total
I1 = Intensidad 1
I2 = Intensidad 2
It = Intensidad total
R1 = Resistencia 1
R2 = Resistencia 2
Rt = Resistencia total
V2 = Voltaje 2
Vt = Voltaje total
I1 = Intensidad 1
I2 = Intensidad 2
It = Intensidad total
R1 = Resistencia 1
R2 = Resistencia 2
Rt = Resistencia total
Código
#include<iostream>
using namespace std;
main(){
char circ;
double x, V1, V2, Vt, I1, I2, It, R1, R2, Rt;
x=0;
cout << "Introduzca si el tipo de circuito es en (S)erie o (P)aralelo: ";
cin >> circ;
if ((circ!='S')&&(circ!='s')&&(circ!='P')&&(circ!='p')){
cout << "\n\nERROR: Inserte 'S' si el circuito es en serie o 'P' si es en paralelo";
getchar();
getchar();
return 0;}
cout << "\nHa elegido circuito en ";
if ((circ=='S')||(circ=='s'))cout << "serie.";
if ((circ=='P')||(circ=='p'))cout << "paralelo.";
cout << "\nEn caso de desconocerse un dato, inserte '0'.\n";
cout << "\nIndique el voltaje de V1: ";
cin >> V1;
cout << "Indique el voltaje de V2: ";
cin >> V2;
cout << "Indique el voltaje de Vt: ";
cin >> Vt;
cout << "Indique la intensidad de I1: ";
cin >> I1;
cout << "Indique la intensidad de I2: ";
cin >> I2;
cout << "Indique la intensidad de It: ";
cin >> It;
cout << "Indique la resistencia de R1: ";
cin >> R1;
cout << "Indique la resistencia de R2: ";
cin >> R2;
cout << "Indique la resistencia de Rt: ";
cin >> Rt;
switch(circ){
case 'S': case 's':
while (x<=10){
if((V1!=0) && (V2!=0))Vt=(V1+V2);
if((V1!=0) && (Vt!=0))V2=(Vt-V1);
if((V2!=0) && (Vt!=0))V1=(Vt-V2);
if((I1!=0) && (R1!=0))V1=(I1*R1);
if((I2!=0) && (R2!=0))V2=(I2*R2);
if((It!=0) && (Rt!=0))Vt=(It*Rt);
if(I1!=0){I2=I1; It=I1;}
if(I2!=0){I1=I2; It=I2;}
if(It!=0){I1=It; I2=It;}
if((V1!=0) && (R1!=0))I1=(V1/R1);
if((V2!=0) && (R2!=0))I2=(V2/R2);
if((Vt!=0) && (Rt!=0))It=(Vt/Rt);
if((R1!=0) && (R2!=0))Rt=(R1+R2);
if((R1!=0) && (Rt!=0))R2=(Rt-R1);
if((R2!=0) && (Rt!=0))R1=(Rt-R2);
if((V1!=0) && (I1!=0))R1=(V1/I1);
if((V2!=0) && (I2!=0))R2=(V2/I2);
if((Vt!=0) && (It!=0))Rt=(Vt/It);
x++;}
break;
case 'P': case 'p':
while (x<=10){
if(V1!=0){V2=V1; Vt=V1;}
if(V2!=0){V1=V2; Vt=V2;}
if(Vt!=0){V1=Vt; V2=Vt;}
if((I1!=0) && (R1!=0))V1=(I1*R1);
if((I2!=0) && (R2!=0))V2=(I2*R2);
if((It!=0) && (Rt!=0))Vt=(It*Rt);
if((I1!=0) && (I2!=0))It=(I1+I2);
if((I1!=0) && (It!=0))I2=(It-I1);
if((I2!=0) && (It!=0))I1=(It-I2);
if((V1!=0) && (R1!=0))I1=(V1/R1);
if((V2!=0) && (R2!=0))I2=(V2/R2);
if((Vt!=0) && (Rt!=0))It=(Vt/Rt);
if((R1!=0) && (R2!=0))Rt=((R1*R2)/(R1+R2));
if((V1!=0) && (I1!=0))R1=(V1/I1);
if((V2!=0) && (I2!=0))R2=(V2/I2);
if((Vt!=0) && (It!=0))Rt=(Vt/It);
x++;}
break;
}
cout << "\nV1 = " << V1 << " Voltios";
cout << "\nV2 = " << V2 << " Voltios";
cout << "\nVt = " << Vt << " Voltios";
cout << "\nI1 = " << I1 << " Amperios";
cout << "\nI2 = " << I2 << " Amperios";
cout << "\nIt = " << It << " Amperios";
cout << "\nR1 = " << R1 << " Ohmnios";
cout << "\nR2 = " << R2 << " Ohmnios";
cout << "\nRt = " << Rt << " Ohmnios";
cout << "\n Aplication created By: JuaN";
getchar();
getchar();
}
He encontrado 2 cosas que se podrían mejorar:
1- Que el proyecto de opción a especificar que en el circuito hay por ejemplo 3 voltajes, 3 intensidades y 3 resistencias, y no solo 2.
2- Que el proyecto de opción a especificar que un circuito sea mixto.
¿A alguien se le ocurre algo más para mejorar?

Saludos!











Autor



En línea






