Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] caracteres en c++

Estas en el tema de caracteres en c++ en el foro de C/C++ en Foros del Web. Tengo un pequeño problema i es que necessito hacer un programa que al poner un nombre o otro haga una cosa u otra. un ejemplo ...
  #1 (permalink)  
Antiguo 25/10/2013, 03:26
 
Fecha de Ingreso: octubre-2013
Mensajes: 2
Antigüedad: 10 años, 6 meses
Puntos: 0
caracteres en c++

Tengo un pequeño problema i es que necessito hacer un programa que al poner un nombre o otro haga una cosa u otra. un ejemplo (un poco cutre que he intentado hacer sin exito):

#include<iostream>
using namespace std;

int main()
{
cout <<" CASA DEL MUSTA" <<endl;
cout<<endl;
cout<<"I tu quien eres loko?"<<endl;

char nombre;
cin >> nombre;

if (nombre=='jona') cout<<"Pirate de mi casa!!";
else{
cout << "Passa passa man, ¿¿cuanto quieres?? ";
return 0;
  #2 (permalink)  
Antiguo 25/10/2013, 04:31
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: caracteres en c++

Estas usando una variable de tipo "char" (un sólo caracter) para almacenar toda una cadena, por eso nunca te va a funcionar, tendrías que probar con una variable de tipo "string".
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 25/10/2013, 14:34
Avatar de omar10594  
Fecha de Ingreso: junio-2013
Ubicación: Mexico
Mensajes: 26
Antigüedad: 10 años, 10 meses
Puntos: 3
Respuesta: caracteres en c++

Aparte de lo que ya dijo Malenko, no puedes comparar una cadena con otra dentro del if con "==", debes usar las funciones de la libreria <string.h>, o en su defecto, comparar caracter con caracter, lo cual no es muy logico teniendo una funcion para comparar cadenas.
Te recomiendo usar la funcion strcompi pues no diferencia de mayusculas o minusculas

Código C:
Ver original
  1. strcmpi(cadena1,cadena2);

compara las cadenas y te regresa un 0 si son iguales, asi que en el if quedaria algo como

Código C:
Ver original
  1. if(strcmpi(cadena1,cadena2)==0)
  2. {
  3. ...
  4. }
  #4 (permalink)  
Antiguo 26/10/2013, 05:54
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: caracteres en c++

Cita:
Iniciado por omar10594 Ver Mensaje
Aparte de lo que ya dijo Malenko, no puedes comparar una cadena con otra dentro del if con "==", debes usar las funciones de la libreria <string.h>, o en su defecto, comparar caracter con caracter, lo cual no es muy logico teniendo una funcion para comparar cadenas.
Con los strings no hace falta porque está definido el operador ==
  #5 (permalink)  
Antiguo 29/10/2013, 19:00
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años
Puntos: 71
Respuesta: caracteres en c++

Usa la función strcmp y pon las cadenas entre ""
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #6 (permalink)  
Antiguo 06/11/2013, 05:06
 
Fecha de Ingreso: octubre-2013
Mensajes: 2
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: caracteres en c++

gracias a todos me ha resultado de gran ayuda

Etiquetas: caracteres, int, nombre, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:02.