• Domingo 28 de Abril de 2024, 07:40

Autor Tema:  ¿estoy Tonto O Que?  (Leído 693 veces)

desquiciado

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
¿estoy Tonto O Que?
« en: Lunes 22 de Diciembre de 2003, 16:54 »
0
¿Alguien me puede ayudar, y deirme porque cuando escribo "sum" al ejecutar el programa, no me ejecuta el if? Gracias
#include<iostream.h>
#include <stack.h>
#include <string.h>
#include <math.h>

void main()
{
char* p;

double x,s;

cout<< "Escribe char * : ";
cin>>p;


   if(p=="sum")
   {
    x=6.98;

      cout<<x<<"La palabra es:"<<p;
   }else{


      cout<<"La mierdapalabra es:"<<p;

}
}

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: ¿estoy Tonto O Que?
« Respuesta #1 en: Lunes 22 de Diciembre de 2003, 17:41 »
0
Hola,
primero que todo tratare de modificar tu titulo...no es necesario decir grocerias para que te ayuden..
segundo lo que pasa es que así no se comparan cadenas.. esta mal:
Código: Text
  1.  
  2. if(p==&#34;sum&#34;)
  3.  
  4.  

se debe hacer asi:
Código: Text
  1.  
  2. if(strcmp(p, &#34;sum&#34;)==0)
  3.  
  4.  
porque en lengueje c, comparar una cadena es comparar varios char secuendicados en memoria, puedes hacerlo manuelmanente o utilizar una funcion ya hecha para ese fin como la que te mostre arriba.

manualmente:
Código: Text
  1.  
  2.   if(p[0]=='s)...
  3. ...
  4. ...
  5.   if(p[2]=='m')
  6.  
  7.  
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io