elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayudaa!!! comparar cadenas de caracteres
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayudaa!!! comparar cadenas de caracteres  (Leído 3,807 veces)
judithmateos

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Ayudaa!!! comparar cadenas de caracteres
« en: 17 Diciembre 2016, 16:19 pm »

Muy buenas, tengo un trabajo de clase, con lo cual soy muy novata en esto, estoy en 1º, pero seguro que para muchos de vosotros lo que os voy a plantear esta chupado, a ver... tengo que comparar dos cadenas y usar una funcion bool para que devuelva verdadero si son iguales y falso si son distintas, os paso lo que tengo hecho, compila bien pero el programa no funciona cuando pasa al condicional if no devuelve nada. muchas gracias por adelanrado.



Código
  1. #include <iostream>
  2. #include <string.h>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7.  string cadena1,cadena2;
  8.  
  9. bool iguales (string cadena1, string cadena2){
  10.  
  11.  
  12.     if (cadena1==cadena2)
  13.        return true;
  14.        else
  15.              return false;
  16.  
  17.  
  18.  
  19. }
  20. int main (int argc, char *argv[]){
  21.  
  22.  
  23.    cout<<"introduce la primera cadena"<<endl;
  24.    getline(cin,cadena1);
  25.    system("pause");
  26.    cout<<"introduce la segunda cadena"<<endl;
  27.    getline(cin,cadena2);
  28.  
  29.  
  30.  
  31.    }


Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 17 Diciembre 2016, 16:21 pm por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayudaa!!! comparar cadenas de caracteres
« Respuesta #1 en: 17 Diciembre 2016, 16:28 pm »

en C++ es <cstring>  no string.h (eso es C)






Código
  1. int main (int argc, char *argv[]){
  2.  
  3.  
  4.    cout<<"introduce la primera cadena"<<endl;
  5.    getline(cin,cadena1);
  6.    system("pause");
  7.    cout<<"introduce la segunda cadena"<<endl;
  8.    getline(cin,cadena2);
  9.  
  10.  
  11.  
  12.    }

no devuelve nada porque nunca lo llamaste


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
judithmateos

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayudaa!!! comparar cadenas de caracteres
« Respuesta #2 en: 17 Diciembre 2016, 16:33 pm »

introduce la primera cadena
ddd
Presione una tecla para continuar . . .
introduce la segunda cadena
sss

Process returned 0 (0x0)   execution time : 3.141 s
Press any key to continue.

sigue sin funcionar... me dice esto. ni false ni true
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayudaa!!! comparar cadenas de caracteres
« Respuesta #3 en: 17 Diciembre 2016, 16:42 pm »

yo no estoy modificando tu codigo, te estoy mostrando lo que hay (por si decides copiarlo y pegarlo sin siquiera leer a ver si es diferente)



si no llamas a iguales no haces nada, si no imprimes el resultado recibido de iguales no hará nada... si esta frase no significa la respuesta, te recomiendo leerte un tutorial de C++

en google y youtube consigues según tus gustos, este es uno cualquiera que agarré de google

https://codigofacilito.com/cursos/c-plus-plus
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
judithmateos

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayudaa!!! comparar cadenas de caracteres
« Respuesta #4 en: 17 Diciembre 2016, 16:51 pm »

Como he puesto arriba estoy en primero, llevo 4 meses en la ingenieria, mis conocimientos no dan para tanto (de momento) he cambiado la libreria(gracias por la aclaracion no tenia ni idea) y sigue sin funcionar.... si lo estoy llamando o eso creeo yo
En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Ayudaa!!! comparar cadenas de caracteres
« Respuesta #5 en: 17 Diciembre 2016, 17:16 pm »

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. bool iguales (string cadena1, string cadena2)
  6. {
  7.    return cadena1==cadena2;
  8. }
  9.  
  10. int main (int argc, char *argv[])
  11. {
  12.    string cadena1,cadena2;
  13.  
  14.    cout<<"introduce la primera cadena"<<endl;
  15.    getline(cin,cadena1);
  16.  
  17.    cout<<"introduce la segunda cadena"<<endl;
  18.    getline(cin,cadena2);
  19.  
  20.    if(iguales(cadena1,cadena2))
  21.    {
  22.        cout<<"Son iguales"<<endl;
  23.    }
  24.    else
  25.    {
  26.        cout<<"Son diferentes"<<endl;
  27.    }
  28. }

Se llama asi  ::)
En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
judithmateos

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayudaa!!! comparar cadenas de caracteres
« Respuesta #6 en: 17 Diciembre 2016, 17:54 pm »

mil gracias, ahora lo entiendo, aun estoy aprendiendo como van las funciones.



me pide tambien que con la funcion int iguales (string cadena1, string, cadena 2) si es mayor que devuleva un 1 si son iguales un 0 y si es menor un -1.esto es lo que tengo: y no funciona

 int comparar (string cadena1, string cadena2){

     if (cadena1>cadena2)
        cout<<"1"<<endl;
       else
        cout<<"-1"<<endl;
     if (cadena1==cadena2)
        cout<<"0"<<endl;



 }
« Última modificación: 18 Diciembre 2016, 10:50 am por Eternal Idol » En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Ayudaa!!! comparar cadenas de caracteres
« Respuesta #7 en: 18 Diciembre 2016, 03:59 am »

Código
  1. #include <iostream>
  2. #include<cstring>
  3.  
  4. using namespace std;
  5.  
  6. int comparar (string cadena1, string cadena2)
  7. {
  8.    return cadena1.compare(cadena2);
  9. }
  10.  
  11. int main (int argc, char *argv[])
  12. {
  13.    string cadena1,cadena2;
  14.  
  15.    cout<<"introduce la primera cadena"<<endl;
  16.    getline(cin,cadena1);
  17.  
  18.    cout<<"introduce la segunda cadena"<<endl;
  19.    getline(cin,cadena2);
  20.  
  21.    if(comparar(cadena1,cadena2)==0)//Son iguales
  22.    {
  23.        cout<<"0"<<endl;
  24.    }
  25.    else if(comparar(cadena1,cadena2)>0)// es mayor
  26.    {
  27.        cout<<"1"<<endl;
  28.    }
  29.    else
  30.    {
  31.         cout<<"-1"<<endl;
  32.    }
  33. }
  34.  

Usa la funcon compare de la clase string http://www.cplusplus.com/reference/string/string/compare/

En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comparar cadenas sin usar strcmp « 1 2 »
Programación C/C++
Rockmore 12 21,558 Último mensaje 25 Octubre 2010, 07:01 am
por do-while
¿Comparar dos cadenas de caracteres en php?
PHP
Netstat89 5 11,125 Último mensaje 1 Octubre 2012, 21:21 pm
por Shell Root
Error al comparar cadenas
Programación C/C++
amchacon 1 2,611 Último mensaje 26 Enero 2013, 15:28 pm
por amchacon
Cadenas de caracteres. Función para comparar una cadena ignorando signos. C++
Programación C/C++
seryioo 1 4,038 Último mensaje 12 Agosto 2015, 13:50 pm
por ivancea96
Problema al comparar cadenas de caracteres [C]
Programación C/C++
S4ms3pi0l__ 3 3,307 Último mensaje 27 Noviembre 2017, 20:00 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines