#include <iostream>
#include <cmath>
#include <iomanip>
const double PI = 3.141592653589793;
// Function to calculate impedance of RLC circuit
double calculateImpedance(double R, double L, double C, double f) {
double omega = 2 * PI * f; // Angular frequency
double XL = omega * L; // Inductive reactance
double XC = 1 / (omega * C); // Capacitive reactance
return std::sqrt(R * R + (XL - XC) * (XL - XC)); // Impedance
}
// Function to calculate voltage across R, L, and C
void calculateVoltages(double R, double L, double C, double f, double Vsource, double& VR, double& VL, double& VC) {
double omega = 2 * PI * f; // Angular frequency
double XL = omega * L; // Inductive reactance
double XC = 1 / (omega * C); // Capacitive reactance
double Z = calculateImpedance(R, L, C, f); // Impedance
// Voltage across R
VR = (R / Z) * Vsource;
// Voltage across L
VL = ((XL) / Z) * Vsource;
// Voltage across C
VC = ((XC) / Z) * Vsource;
}
int main() {
// Circuit parameters
double R, L, C, f, Vsource;
// User input
std::cout << "Enter the resistance (R) in ohms: ";
std::cin >> R;
std::cout << "Enter the inductance (L) in henries: ";
std::cin >> L;
std::cout << "Enter the capacitance (C) in farads: ";
std::cin >> C;
std::cout << "Enter the frequency (f) in hertz: ";
std::cin >> f;
std::cout << "Enter the source voltage (V) in volts: ";
std::cin >> Vsource;
double VR, VL, VC;
calculateVoltages(R, L, C, f, Vsource, VR, VL, VC);
std::cout << std::fixed << std::setprecision(2);
std::cout << "Impedance of the RLC circuit: " << calculateImpedance(R, L, C, f) << " ohms\n";
std::cout << "Voltage across the resistor (VR): " << VR << " volts\n";
std::cout << "Voltage across the inductor (VL): " << VL << " volts\n";
std::cout << "Voltage across the capacitor (VC): " << VC << " volts\n";
return 0;
}