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


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Resuelto] input de Python en C++?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] input de Python en C++?  (Leído 1,949 veces)
iUDEX


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
[Resuelto] input de Python en C++?
« en: 27 Junio 2015, 02:51 »

Hola, como sabrán he estado estudiando C++ y me ha surgido una gran duda.

He escrito un pequeñísimo programa:

Código
  1. #include <stdio.h>
  2. main() {
  3. float numero;
  4. printf("Ingrese un numero: "); scanf("%f", & numero);
  5. printf("%.2f", numero);
  6. }

Ahora, funciona bien. Si se fijan en el modificador %.2f declaro que la cantidad se visualice con dos decimales (en caso de ser float). Si se ingresa un int, aparece de la forma, ejemplo: 10.00.

En otras palabras, pregunto si existe algo como el input de Python, ya que éste formatea las cantidades automáticamente, en caso de ser int, muestra 10, si es float, muestra 10,XX. Pero en C++?

Saludos!


« Última modificación: 27 Junio 2015, 21:12 por gck » En línea

Namasté, criatura.
ivancea96


Desconectado Desconectado

Mensajes: 3.410


ASMático


Ver Perfil WWW
Re: input en C++
« Respuesta #1 en: 27 Junio 2015, 03:01 »

Si es int, pondrás %i o %d. No puedes poner %.2f con un int. Como tienes que especificar si es int o si es float, no habrá manera de hacerlo automático.


Ahora vamos a ver: Eso no es C++, eso es C. En C++ sí que se puede hacer "automático". Pero en C++.

<stdio.h> es de C. En C++ se suele usa <iostream>. En vez de printf(), se usa el operador << del objeto "cout".

Código
  1. cout << num1 << ' ' << num2;

Sean del tipo que sean, se mostrarán bien por pantalla (salvo clases que no tengan una sobrecarga, pero eso es a parte)


En línea

iUDEX


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: input en C++
« Respuesta #2 en: 27 Junio 2015, 19:44 »

Citar
Como tienes que especificar si es int o si es float, no habrá manera de hacerlo automático.

Lo sé perfectamente. Pero yo preguntaba si existe algo como el input de Python, ya que le da igual el tipo, int o float; toma el valor ingresado y lo visualiza según el tipo. Si es 10, lo presenta con 10, si es 10.5, lo presenta con 10.5.

Ejemplo:

Código
  1. numero = input("ingrese numero: ")
  2. print numero

Como sabemos, el tipo float de C++ acepta int también, si yo ingreso 10, lo mostrará (teniendo el %.2f) como 10.00. Y ése no quiero que sea mi resultado.

Citar
Ahora vamos a ver: Eso no es C++, eso es C. En C++ sí que se puede hacer "automático". Pero en C++.

Parece que sí, he estado aprendiendo C a ciegas. Digamos entonces, el título sería "input de Python en C?". Trato de seguir esta sintaxis del printf y todo eso porque se me hace un poco tedioso lo de cout, y también porque todo eso es nuevo para mí.

Gracias por responder ivancea96.

Saludos!
En línea

Namasté, criatura.
crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: input de Python en C++?
« Respuesta #3 en: 27 Junio 2015, 20:31 »

Bueno de entrada no puedes comparar a python y c porque el primer posee un tipado dinamico versus el tipado estatico de c o c++ a eso se le añade que python es un lenguaje de alto de nivel lo contrario a c

Al ser tipado dinamico en c o c++ por fuerzas tienes que especifar que tipo de dato vas a leer por eso tu trabajo es pensar que tipo tengo que escoger, si necesito hacer operaciones como divisiones o raices lo mejor es usar valores reales como los float o double pero si lo necesito hacer sumas o restas quizas solo enteros tipo int, short int etc.

El ejemplo es burdo espero se entienda, es cierto lo que dice  ivancea96 que en c++ con el operador "cout" da un ejemplo mas parecido al de python.

personalmente me gusta las cout de c++ que los printf de c porque te evita el formateo del tipo de dato

te dejo un ejemplo:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    float x;
  8.    cout<<"Ingrese un valor"<<endl;
  9.    cin>>x;//leemos el valor
  10.    cout<<x<<endl;//lo imprimimos
  11.  
  12.    cin.get();//estados lineas es para que no se cierre tu programa hasta dar un enter
  13.    cin.get();
  14.    return 0;
  15. }
  16.  
En línea

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


Desconectado Desconectado

Mensajes: 1.217

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: input de Python en C++?
« Respuesta #4 en: 27 Junio 2015, 20:45 »

No tengo idea de C ni  de C++ pero estás confundido con respecto a python, input devuelve un string por lo tanto no le importa lo que escribas en el input, cuando usas print devuelve la cadena tal cual pero no puedes usarla para operaciones matematicas que incluyan float de forma directa.
En línea

iUDEX


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: input de Python en C++?
« Respuesta #5 en: 27 Junio 2015, 21:11 »

Muuuuy bien ejemplo crack81, la verdad es que todo eso es nuevo para mí, estaba un poco confundido.

He probado el código y sí, me imprime los valores como el input de Python;  y si escribo un string me devuelve 0, creo que es algo lógico.

Muchas gracias¡¡

Citar
No tengo idea de C ni  de C++ pero estás confundido con respecto a python, input devuelve un string por lo tanto no le importa lo que escribas en el input, cuando usas print devuelve la cadena tal cual pero no puedes usarla para operaciones matematicas que incluyan float de forma directa.

input no acepta strings...
El que acepta strings es raw_input, y es con este que no se puede hacer operaciones matematicas. Si pongo 1 y despues 2, me concatena la presentacion (muestra 12).
En cambio con input me suma perfectamente (muestra 3).

Gracias por sus respuestas, resuelto.
Saludos!
En línea

Namasté, criatura.
tincopasan


Desconectado Desconectado

Mensajes: 1.217

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: [Resuelto] input de Python en C++?
« Respuesta #6 en: 28 Junio 2015, 11:48 »

gck :
         perdón! nunca se me ocurrió pensar que usas python 2.x en vez de 3.x donde raw_input no existe más.
En línea

iUDEX


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: [Resuelto] input de Python en C++?
« Respuesta #7 en: 28 Junio 2015, 19:31 »

Citar
gck :
         perdón! nunca se me ocurrió pensar que usas python 2.x en vez de 3.x donde raw_input no existe más.

Ya veo... no hay problema. Tengo que pasarme a leer la documentación de Python 3.X, la verdad es que nunca lo he usado a fondo.
En línea

Namasté, criatura.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines