hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
19 de Noviembre de 2008, 02:03:27
Noticias: La 1era E-Zine de CPH ya fue liberada, encuentrala
Para ver este enlace Registrate o Inicia Sesion
> aquí

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  C / C++ (Moderadores: mycrox, TXS)
| | |-+  Problema con condicional o variable
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Problema con condicional o variable  (Leído 234 veces)
jamp
NZ1
*
Desconectado Desconectado

Mensajes: 103


Programando....


Ver Perfil
« : 16 de Julio de 2008, 04:03:23 »

Buenas, espero que me puedan ayudar con mi problemita.... llevo mucho tiempo intentando arreglarlo pero nada...nada mas consegui eliminar una advertensia que me dava. Mi problema es que tengo un condicional bastante secillo en el que se usan numeros como variables y despues otro en el que se usan caracteres ASCCI. En el que se usas números todo perfecto pero cuando llega al de caracteres ASCCI todo anda mal...siempre me ejecuta la declaracion de IF aunque ese no se cumpla, les dejo mi código.


Código:
   
#include <iostream>
   int main()
   {
   using namespace std;

     unsigned short edad;
cout << "Edad:  ";
cin >> edad;
if (edad == 15)
{
cout << "Tienes la misma edad que yo \n";
}
if (edad != 15)
{
cout << "No tienes mi edad \n";
}
char adrian;
cout << " \n Ahora con el nombre: ";
cin >> adrian;
if (adrian == adrian)
{
cout << "Tienes mi mismo nombre";
}
else
{
cout << "No tienes mi mismo nombre";
}

return 0;
  }
[/size]

Como veis la variable creo que está bien declarada y demas pero no se que puede ser...llevo muy poco tiempo en C++ y estoy aprendiendo ahora. Muchas gracias por la ayuda Wink El problema esta justo en el condicional de ADRIAN....

PD: La verdad es que me muero de intriga ya...xD
« Última modificación: 16 de Julio de 2008, 04:09:16 por jamp » En línea


Para ver este enlace Registrate o Inicia Sesion
Grib_Jr.
NZ2
**
Desconectado Desconectado

Mensajes: 153


Querer es poder


Ver Perfil
« Respuesta #1 : 16 de Julio de 2008, 05:21:53 »

  
Citar
#include <iostream>
   int main()
   {
      using namespace std;

     unsigned short edad;
   cout << "Edad:  ";
   cin >> edad;
   if (edad == 15)
   {
      cout << "Tienes la misma edad que yo \n";
   }
   if (edad != 15)
   {
      cout << "No tienes mi edad \n";
   }
   char adrian;
   cout << " \n Ahora con el nombre: ";
   cin >> adrian;
   if (adrian == adrian)
      {
      cout << "Tienes mi mismo nombre";
      }
   else
      {
      cout << "No tienes mi mismo nombre";
      }
   
      return 0;
  }

Tu primer error, es declarar un char, sin array, recuerda que char viene de character, o caracter en español, almenos que tu nombre tuviera 1 sola letra eso estaria mal, cambialo y ponle asi:

Código:
char adrian[16];

Le puse 16, ya que dudo que exista un nombre con mas letras, pero eso puedes cambiarlo tu
Al char con arrays se le llama string, cuyo significado seria cadena de caracteres

Te explico, lo que pasa es que si colocas esto:
Código:
... if (adrian==adrian) ...
es lo mismo que escribir esto
Código:
... if (1==1) ...
ya que estas comparando la variable adrian, con la misma variable, adrian, y por ende, son iguales

Para arreglarlo existen dos modos, el modo mas corto, que es con la libreria string.h, la funcion es:
Código:
strcmp(adrian, "adrian");
en este caso compara el contenido de la string adrian, con "adrian" (si le pones comillas no se toma como tu variable sino como la palabra en si.
si adrian es = a "adrian" entonces strcmp retorna 0, de lo contrario no es igual
este es el if que tu necesitas:
Código:
if(strcmp(adrian, "adrian") == 0)

El otro modo es comparando letra x letra pero es mas lento y al final, es lo mismo

Salu2, Grib Jr.

PD: para mas informacion de la libreria string, o si no entendiste bien eso de strcmp, ve a esta
Para ver este enlace Registrate o Inicia Sesion
pagina.
« Última modificación: 16 de Julio de 2008, 05:25:58 por Grib_Jr. » En línea


jamp
NZ1
*
Desconectado Desconectado

Mensajes: 103


Programando....


Ver Perfil
« Respuesta #2 : 16 de Julio de 2008, 06:48:05 »

Hola de nuevo, muchas gracias por la explicacion, me ha servido de mucho gracias a la claridad con la que lo explicaste. Un saludo.

PD: Mas o menos se programar en C++ pero solo para trabajar con el simbolo del sistema, para trabajar en un entorno mas visual (microsoft visual C++) con los formularios y demas hay algun tutorial?  Muchas gracias de nuevo Wink
En línea


Para ver este enlace Registrate o Inicia Sesion
Grib_Jr.
NZ2
**
Desconectado Desconectado

Mensajes: 153


Querer es poder


Ver Perfil
« Respuesta #3 : 16 de Julio de 2008, 07:45:58 »

bueno, hasta ahora creo que no hay ninguna guia ni nada, pero yo pronto colocare una que vengo haciendo de ase un buen tiempo, usando una libreria grafica, SDL
« Última modificación: 16 de Julio de 2008, 07:50:20 por Grib_Jr. » En línea


jamp
NZ1
*
Desconectado Desconectado

Mensajes: 103


Programando....


Ver Perfil
« Respuesta #4 : 16 de Julio de 2008, 07:53:25 »

Ok...porque programar haci no me gusta mucho, no me divierto Undecided . Cuando habro un nuevo Formulario de aplicacion para window, añado botones y tal pero nose darle funcionalidad. Haver cuando subes la guia esa Wink Wink
En línea


Para ver este enlace Registrate o Inicia Sesion
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online