Antes que nada, recordemos el procedimiento para obtener el valor de una resistencia:
1.- Identifica las bandas de color en la resistencia. Normalmente hay 4 bandas, aunque algunas resistencias tienen 5 o incluso 6.
2.- Anota los colores de las bandas de izquierda a derecha. La primera y segunda banda representan los primeros dígitos del valor de la resistencia, la tercera banda representa el multiplicador y la cuarta banda es la tolerancia.
3.- El valor de la resistencia se calcula multiplicando los primeros dos dígitos por el multiplicador, que se indica en la tercera banda de color. Por ejemplo, si los primeros dos dígitos son 56 y el multiplicador es 100, el valor de la resistencia es 5600 Ω.
4.- La tolerancia se indica por la cuarta banda de color y puede tener un valor de entre ±1% hasta el ±20%.
Ahora sí, pasemos al código:
#include <iostream>
#include <string>
#include <map>
#include <cmath>
using namespace std;
// Mapa de colores a valores numéricos
map<string, int> colors = {{"negro", 0}, {"marron", 1}, {"rojo", 2}, {"naranja", 3},
{"amarillo", 4}, {"verde", 5}, {"azul", 6}, {"purpura", 7},
{"gris", 8}, {"blanco", 9}};
// Mapa de colores de la banda de tolerancia a porcentajes de tolerancia
map<string, double> tolerance = {{"negro", 0.1}, {"marron", 0.01}, {"rojo", 0.02},
{"dorado", 0.05}, {"plateado", 0.1}, {"verde", 0.005}, {"azul", 0.0025},
{"purpura", 0.001}};
int main() {
// Input de cada banda de color
string color1, color2, color3, color4;
cout << "Introduce el color de la primera banda: ";
cin >> color1;
cout << "Introduce el color de la segunda banda: ";
cin >> color2;
cout << "Introduce el color de la tercera banda: ";
cin >> color3;
cout << "Introduce el color de la cuarta banda: ";
cin >> color4;
// Convertir los colores a valores numéricos
int val1 = colors[color1];
int val2 = colors[color2];
int val3 = colors[color3];
// Calcular el valor en ohmios
double value = val1 * 10 + val2;
value *= pow(10, val3);
// Calcular el margen de tolerancia
double tol = (value * tolerance[color4]) / 100;
// Mostrar el resultado
cout << "El valor en ohmios es: " << value << " ohmios ±" << tol << " ohmios" << endl;
return 0;
}
Gracias, ahora sabes como podria convertir los ohmios a colores?
ResponderEliminarno me copila
ResponderEliminarUtiliza nuestro foro de electronica si tienes dudas no relacionadas con este tema.