Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Raiden en 4 Septiembre 2021, 13:25 pm



Título: Devolver string con int
Publicado por: Raiden en 4 Septiembre 2021, 13:25 pm
Hola
Estuve tratando de hacer un codigo con dev c++ que llame a una funcion y  devuelva un string con int pero no he podido encontrar solucion. Alguien se le ocurre alguna forma de hacerlo de manera simple.
Gracias, cualquier aporte me serviria de mucho.
Aqui esta el codigo :
Código
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int x;
  5. int y;
  6.  
  7.  
  8. string retornar (int x,int y)
  9. {
  10. return "el numero es"<<to_string(x);
  11. }
  12.  
  13.  
  14. int main()
  15. {
  16. cout<<"escriba y "<<endl;
  17. cin>>y;
  18. cout<<"escriba x "<<endl;
  19. cin>>x;
  20. cout<<retornar(x,y);
  21.  
  22. system("pause");
  23. return 0;
  24.  
  25. }


Título: Re: Devolver string con int
Publicado por: K-YreX en 4 Septiembre 2021, 13:36 pm
No sé si sea esto lo que estabas buscando:
Código
  1. string retornarString(int x) {
  2.  return "El numero es: " + to_string(x);
  3. }
  4.  
  5. int main() {
  6.  cout << retornarString(2) << endl;
  7. }

El operador << no se utiliza para concatenar (es un caso especial y más complejo de <cout>). El operador general para concatenar es +.


Título: Re: Devolver string con int
Publicado por: Raiden en 4 Septiembre 2021, 13:52 pm
Gracias por responder.
Lo intente pero con to_string aparece un error: "'to_string' was not declared in this scope" ,no esta declarada.

Código:
#include <iostream>
#include <string>
using namespace std;
int x;
int y;


string retornar (int x)
{
return "el numero es: " + to_string(x);
}


int main()
{
cout<<retornar(2)<<endl;

system("pause");
return 0;

}


Título: Re: Devolver string con int
Publicado por: K-YreX en 4 Septiembre 2021, 14:04 pm
Tienes que compilar para C++11 para que funcione. Ahí tienes la respuesta de Stackoverflow: https://stackoverflow.com/a/15569244
No sé cómo estés compilando el programa pero digamos que si la línea de compilación ahora era:
Código:
g++ tu_programa.cpp -o tu_programa
Debes modificarla para que sea:
Código:
g++ -std=c++0x tu_programa.cpp -o tu_programa
También puedes utilizar "-std=c++11" en vez de "-std=c++0x", dependiendo del compilador.

Si estás utilizando algún IDE tendrás que buscar cómo se hace esto en ese IDE en particular. Seguro que en Internet encuentras el modo rápidamente.


Título: Re: Devolver string con int
Publicado por: Raiden en 4 Septiembre 2021, 15:20 pm
Gracias,tuve que incorporar las funciones de c++11, estaba usando Dev C++. Supongo que esa configuracion no escapa a la consigna de hacerlo simple al codigo.  ;D

Saludos hasta la proxima.


Título: Re: Devolver string con int
Publicado por: Locura_23 en 4 Septiembre 2021, 16:51 pm
Cuidado con las variables globales, no es recomendable su uso en general. Las variables x e y pueden estar declaradas en main sin problemas... 


Título: Re: Devolver string con int
Publicado por: Raiden en 13 Septiembre 2021, 17:57 pm
Citar
Cuidado con las variables globales, no es recomendable su uso en general. Las variables x e y pueden estar declaradas en main sin problemas...

Gracias por el tips, en donde puedo investigar ese tipo de  practicas,me seria muy util.