Autor
|
Tema: Ayudaa!!! comparar cadenas de caracteres (Leído 3,807 veces)
|
judithmateos
Desconectado
Mensajes: 5
|
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. #include <iostream> #include <string.h> #include <cstdlib> using namespace std; string cadena1,cadena2; bool iguales (string cadena1, string cadena2){ if (cadena1==cadena2) return true; else return false; } int main (int argc, char *argv[]){ cout<<"introduce la primera cadena"<<endl; getline(cin,cadena1); system("pause"); cout<<"introduce la segunda cadena"<<endl; getline(cin,cadena2); }
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
|
en C++ es <cstring> no string.h (eso es C) int main (int argc, char *argv[]){ cout<<"introduce la primera cadena"<<endl; getline(cin,cadena1); system("pause"); cout<<"introduce la segunda cadena"<<endl; getline(cin,cadena2); }
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
Mensajes: 5
|
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
|
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
Mensajes: 5
|
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
Mensajes: 222
|
#include <iostream> using namespace std; bool iguales (string cadena1, string cadena2) { return cadena1==cadena2; } int main (int argc, char *argv[]) { string cadena1,cadena2; cout<<"introduce la primera cadena"<<endl; getline(cin,cadena1); cout<<"introduce la segunda cadena"<<endl; getline(cin,cadena2); if(iguales(cadena1,cadena2)) { cout<<"Son iguales"<<endl; } else { cout<<"Son diferentes"<<endl; } }
Se llama asi
|
|
|
En línea
|
Si C/C++ es el padre de los lenguajes entonces ASM es dios.
|
|
|
judithmateos
Desconectado
Mensajes: 5
|
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
Mensajes: 222
|
#include <iostream> #include<cstring> using namespace std; int comparar (string cadena1, string cadena2) { return cadena1.compare(cadena2); } int main (int argc, char *argv[]) { string cadena1,cadena2; cout<<"introduce la primera cadena"<<endl; getline(cin,cadena1); cout<<"introduce la segunda cadena"<<endl; getline(cin,cadena2); if(comparar(cadena1,cadena2)==0)//Son iguales { cout<<"0"<<endl; } else if(comparar(cadena1,cadena2)>0)// es mayor { cout<<"1"<<endl; } else { cout<<"-1"<<endl; } }
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.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Comparar cadenas sin usar strcmp
« 1 2 »
Programación C/C++
|
Rockmore
|
12
|
21,558
|
25 Octubre 2010, 07:01 am
por do-while
|
|
|
¿Comparar dos cadenas de caracteres en php?
PHP
|
Netstat89
|
5
|
11,125
|
1 Octubre 2012, 21:21 pm
por Shell Root
|
|
|
Error al comparar cadenas
Programación C/C++
|
amchacon
|
1
|
2,611
|
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
|
12 Agosto 2015, 13:50 pm
por ivancea96
|
|
|
Problema al comparar cadenas de caracteres [C]
Programación C/C++
|
S4ms3pi0l__
|
3
|
3,307
|
27 Noviembre 2017, 20:00 pm
por MAFUS
|
|