RESIST_CALC.c



// CALCULO DE RESISTENCIAS A PARTIR DE COLORES CON PALABRAS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h> 	

char Colores[10][9] = {"negro", "marron", "rojo", "naranja", "amarillo", "verde", "azul", "violeta", "gris", "blanco"};
char Multiplicadores[3][20] = {"nada", "orogris", "platablanco"};
char Tolerancia[3][6] = {"nada", "oro", "plata"}; 

int main()
{
	char Color1[10], Color2[10], Color3[10], Color4[10], AMBAS[10];
	int V1, V2, k;
	float Mult, Tol, VALOR;

	printf("Introduce el color 1: "); scanf("%s", Color1);
	printf("Introduce el color 2: "); scanf("%s", Color2);
	printf("MULTIPLICADOR: "); scanf("%s", Color3);
	printf("TOLERANCIA: "); scanf("%s", Color4);

	for(k=0; k<10; k++) if( strcmp( Colores[k], Color1) == 0 ) V1 = k;
	for(k=0; k<10; k++) if( strcmp( Colores[k], Color2) == 0 ) V2 = k;
	sprintf(AMBAS, "%d%d", V1,V2);
	VALOR = atoi(AMBAS);

	// MULTIPLICADORES
	for(k=0; k<10; k++) if( strcmp( Colores[k], Color3) == 0 ) Mult = pow(10, k);
	for(k=0; k<3; k++)   if(strstr(Multiplicadores[k], Color3) != NULL ) Mult= pow(10,-k);
	VALOR = VALOR * Mult;

	// TOLERANCIAS
	for(k=0; k<3; k++)   if( strcmp( Tolerancia[k], Color4) == 0 ) Tol = (float)k*5/100;

	printf("VALOR= %f\nVALOR MAX= %f\nVALOR MIN= %f\n", VALOR,
		(double)(VALOR + VALOR*Tol),
		(double)(VALOR - VALOR*Tol)
	);

}