C/Visual C - calculadora en C

   
Vista:

calculadora en C

Publicado por eve (1 intervención) el 15/05/2008 23:03:40
Hola necesito ayuda con un programa de una calculadora en C :dice se desea que usted realice una calculadora en linea con las siguientes caracteristicas:
*Invoca desde la linea de comando con el comando Calc
*operaciones desdee la linea de comando usan el mismo comando Calc
*uso de notacion posorden o inorden con parentesis
*funciones de memoria(recordar,limpiar,adicionar, sustraer.
*funciones matematicas(seno,cosena,tangente,raices potencias,logaritmos inversas y factoriales
Opcional trabajar con multiples bases(binary,octal,decimal,hexa)

Pero lo que no entiendo como hacer son las dos primeras caracteristicas,si pueden ayudarme!gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:calculadora en C

Publicado por Gilberto (31 intervenciones) el 16/05/2008 06:18:31
Con el uso de parámetros del método main, que son los argmentos del programa:

main(int argc,char* argv[]) {

los parámetros que se pasan al método main son los argumentos que se le pasen al programa a través de la linea de comandos, o sea, desde una ventana del dos, en la siguiente forma:

C>Calc arg1 arg2 arg3 ... argn

el parámetro argc representa la cuenta de argumentos en esta linea, y cada argumento es una cadena de carácteres separado del siguiente por un espacio, cada argumento está referenciado por un elemento del segundo parámetro, argv[], siendo argv[0] el nombre mísmo del programa. El programa podría ser invocado con un solo argumento, que sea la expresión a calcular:

C> Calc 3.7+5.4*(cos(30))

la expresión no debeería contener espacios entre operadores y/o operandos para su correcta interpretación. Entonces en la función main podrías usar un código del siguiente estilo:

main(int argc,char* argv[])
{
...
if(argc != 2){
printf("Usage: Calc expr ");
exit(1);
}
else{
double* res;
int stat = calcular_expresion(argv[1],res);
if(stat > 0) printf("%.3f ",res);
else printf("Error en la expresión ");
}
}

donde calcular_expresión sería la función que analizara la expresión a partir de la cadena y calculara el resultado que tendrías disponible a traves de res, y notificando la correcta conclusión o la existencia de un error en su valor de retorno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar