Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2013, 21:58
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: IF no me hace caso

Tu problema es simple.

Cuando haces color1 == "NARANJA", lo que haces en realidad es comprar si los punteros de color1 y el arreglo de caracteres constante "NARANJA".

Basta con que cambies:
Código C++:
Ver original
  1. char color1[8], color2[8], color3[8], color4[8];

Con
Código C++:
Ver original
  1. string color1, color2, color3, color4;

Código C++:
Ver original
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. int valor1, valor2, RE;
  8. float valor3, tolerancia, VMax, VMin;
  9. string color1, color2, color3, color4;
  10.  
  11.  
  12. cout<<"LOS COLORES DISPONIBLES A INGRESAR SON :\n\n";
  13. cout<<"NEGRO";
  14. cout<<"\nMARRON";
  15. cout<<"\nROJO";
  16. cout<<"\nNARANJA";
  17. cout<<"\nAMARILLO";
  18. cout<<"\nVERDE";
  19. cout<<"\nAZUL";
  20. cout<<"\nMORADO";
  21. cout<<"\nGRIS";
  22. cout<<"\nBLANCO";
  23. cout<<"\nDORADO";
  24. cout<<"\nPLATEADO";
  25. cout<<"\nNINGUNO";
  26. cout<<"\n\nBRINDE EL PRIMER COLOR (numero): ";cin>>color1;
  27.  
  28.     if(color1=="NEGRO")
  29.     valor1=0;
  30.     else    if(color1=="MARRON")
  31.         valor1=1;
  32.          else   if(color1=="ROJO")
  33.                 valor1=2;
  34.                else if(color1=="NARANJA")
  35.                     valor1=3;
  36.                      else   if(color1=="AMARILLO")
  37.                             valor1=4;
  38.                            else if(color1=="VERDE")
  39.                                 valor1=5;
  40.                                  else   if(color1=="AZUL")
  41.                                         valor1=6;
  42.                                        else if(color1=="MORADO")
  43.                                             valor1=7;
  44.                                              else   if(color1=="GRIS")
  45.                                                     valor1=8;
  46.                                                    else if(color1=="BLANCO")
  47.                                                         valor1=9;
  48.                                                          else
  49.                                                          cout<<"dato erroneo";
  50.  
  51.  
  52.  
  53.  
  54. cout<<"\nBRINDE EL SEGUNDO COLOR (numero): ";cin>>color2;
  55.     if(color2=="NEGRO")
  56.     valor2=0;
  57.     else    if(color2=="MARRON")
  58.         valor2=1;
  59.          else   if(color2=="ROJO")
  60.                 valor2=2;
  61.                else if(color2=="NARANJA")
  62.                     valor2=3;
  63.                      else   if(color2=="AMARILLO")
  64.                             valor2=4;
  65.                            else if(color2=="VERDE")
  66.                                 valor2=5;
  67.                                  else   if(color2=="AZUL")
  68.                                         valor2=6;
  69.                                        else if(color2=="MORADO")
  70.                                             valor2=7;
  71.                                              else   if(color2=="GRIS")
  72.                                                     valor2=8;
  73.                                                    else if(color2=="BLANCO")
  74.                                                         valor2=9;
  75.                                                          else
  76.                                                          cout<<"dato erroneo";
  77.  
  78.  
  79. cout<<"\nBRINDE EL TERCER COLOR (numero): ";cin>>color3;
  80.     if(color3=="NEGRO")
  81.     valor3=1;
  82.     else    if(color3=="MARRON")
  83.         valor3=10;
  84.          else   if(color3=="ROJO")
  85.                 valor3=100;
  86.                else if(color3=="NARANJA")
  87.                     valor3=1000;
  88.                      else   if(color3=="AMARILLO")
  89.                             valor3=10000;
  90.                            else if(color3=="VERDE")
  91.                                 valor3=100000;
  92.                                  else   if(color3=="AZUL")
  93.                                         valor3=1000000;
  94.                                        else if(color3=="MORADO")
  95.                                             valor3=10000000;
  96.                                              else   if(color3=="GRIS")
  97.                                                     valor3=100000000;
  98.                                                    else if(color3=="BLANCO")
  99.                                                         valor3=1000000000;
  100.                                                          else   if(color3=="DORADO")
  101.                                                                 valor3=0.1;
  102.                                                                else if(color3=="PLATEADO")
  103.                                                                     valor3=0.01;
  104.                                                                      else
  105.                                                                                     cout<<"dato erroneo";
  106.  
  107. cout<<"\nBRINDE EL CUARTO COLOR (numero): ";cin>>color4;
  108.     if(color4=="DORADO")
  109.    tolerancia=5;
  110.    else if(color4=="PLATEADO")
  111.         tolerancia=10;
  112.          else   if(color4=="NINGUNO")
  113.                 tolerancia=20;
  114.                else
  115.                cout<<"dato erroneo";
  116.  
  117. RE=valor1*valor3*10+valor2*valor3;
  118. VMax=RE+RE*tolerancia*0.01;
  119. VMin=RE-RE*tolerancia*0.01;
  120. cout<<"La resistencia electrica es de "<<RE<<" ohmios";
  121. cout<<"\nLa tolerancia es de +- "<<tolerancia<<" %";
  122. cout<<"\nEl valor maximo es "<<VMax;
  123. cout<<"\nEl valor minimo es "<<VMin;
  124.  
  125. return 0;
  126. }