// 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) ); }