Autor
|
Tema: Calculadora en c desde shell (Leído 2,356 veces)
|
Pol23
Desconectado
Mensajes: 17
|
Hola,
Me han pedido hacer una calculadora en c. Si usara scanf no tendría problemas, la cuestión es que tengo que hacerlo a través del main utilizando :
int main (int argc, char**argv[] ) así, cuando ejecute el programa con ./programa x y, en donde x e y serán los números a introducir.
La cuestión es que no sé como hacerlo, sé también que argv tendré que pasarlos a enteros, ya que argv si no lo he entendido mal, son caracteres.
Alguna pista/ayuda?
Gracias
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Piensa en argv cómo un array de cadenas que te hayan dado rellenado y argc contiene cuántos elementos tiene argv. Debes saber que: argv[0] es el nombre del programa, argv[1] es el primer argumento, argv[2] es el segundo argumento. Y así. En caso de tu programa argc debería valer 3 pues tienes tres cadenas un argv.
|
|
|
En línea
|
|
|
|
Pol23
Desconectado
Mensajes: 17
|
Gracias Mafus,
Eso lo había encontrado buscando por Google, lo único es que es una calculadora así que todo lo tomaba como arrays y tenía que transformarlo a int para poder realizar operaciones...
y he encontrado el "atoi" --> array to int, así que un paso más...
Lo único que me falta por hacer es enviar la salida a un fichero... que de eso, por ahora ni idea, sí que he visto la entrada estandar, salida estandar y salida de error, pero aun no sé como enviar de un sitio a otro o a un fichero...
|
|
|
En línea
|
|
|
|
OmarHack
Desconectado
Mensajes: 1.268
|
|
|
|
En línea
|
I like to test things.
|
|
|
Pol23
Desconectado
Mensajes: 17
|
Gracias por la respuesta Omar,
Lo he leído todo pero creo que no lo soluciona, ya que según el enunciado, primero tengo que enviar la salida estandar a la salida de error y de ahí a un fichero.
Si lo que quisiera es escribir algo en un fichero directamente, creo que la respuesta está en el manual que me has dado, pero creo que en este caso no.
Por lo que he leído, la entrada estandar es el 0, la salida estandar es el 1 y salida de error es el 2, pero eso no sé traducirlo a c
|
|
|
En línea
|
|
|
|
Pol23
Desconectado
Mensajes: 17
|
He encontrado ya la respuesta, entre la variable errno y la llamada FILE*infile
|
|
|
En línea
|
|
|
|
BloodSharp
Desconectado
Mensajes: 812
¡ Hiperfoco !
|
(...)La cuestión es que no sé como hacerlo, sé también que argv tendré que pasarlos a enteros, ya que argv si no lo he entendido mal, son caracteres.
Alguna pista/ayuda? double atof (const char* str );
B#
|
|
|
En línea
|
|
|
|
Pol23
Desconectado
Mensajes: 17
|
Gracias a todo por vuestras respuestas!!
|
|
|
En línea
|
|
|
|
|
|