Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Pol23 en 23 Septiembre 2018, 16:35 pm



Título: Calculadora en c desde shell
Publicado por: Pol23 en 23 Septiembre 2018, 16:35 pm
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


Título: Re: Calculadora en c desde shell
Publicado por: MAFUS en 23 Septiembre 2018, 17:37 pm
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.


Título: Re: Calculadora en c desde shell
Publicado por: Pol23 en 23 Septiembre 2018, 19:46 pm
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...


Título: Re: Calculadora en c desde shell
Publicado por: OmarHack en 23 Septiembre 2018, 20:01 pm
https://courses.cs.washington.edu/courses/cse373/99au/assignments/fileIO.html


Título: Re: Calculadora en c desde shell
Publicado por: Pol23 en 23 Septiembre 2018, 23:07 pm
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


Título: Re: Calculadora en c desde shell
Publicado por: Pol23 en 23 Septiembre 2018, 23:53 pm
He encontrado ya la respuesta, entre la variable errno y la llamada FILE*infile :)


Título: Re: Calculadora en c desde shell
Publicado por: BloodSharp en 24 Septiembre 2018, 03:31 am
(...)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?

Código
  1. double atof (const char* str);


B#


Título: Re: Calculadora en c desde shell
Publicado por: Pol23 en 24 Septiembre 2018, 10:04 am
Gracias a todo por vuestras respuestas!!