#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:
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:
... if (adrian==adrian) ...
es lo mismo que escribir esto
... 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:
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:
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 Sesionpagina.