none
Principiante en visual basic ayuda RRS feed

  • Debate general

  • Tengo una duda de como Diseñar un programa que lea una expresión aritmética en una caja de texto e indique la suma del total de operaciones de suma y resta con un botton

    Por Ejemplo que si pusiera en el textbox1 que 1+1+2-3-4-5 Que el textbox2 me diera 5 ya que esas son las cantidades de caracteres total de (+) y (-)


    • Editado Lariso jueves, 15 de noviembre de 2018 19:58
    jueves, 15 de noviembre de 2018 19:54

Todas las respuestas

  • Si lo quieres hacer "bien hecho" interpretando la cadena de texto y soportando todas las combinaciones (tales como parentesis, jerarquia de operadores, etc.), hay que escribir un parser e interprete, cosa que ocupa una cantidad considerable de codigo. Tienes un ejemplo de como se hace en este articulo:

    https://www.scribd.com/document/24018633/Como-crear-un-compilador-de-expresiones-en-NET

    Si buscas algo mas sencillo, hay otras alternativas, como por ejemplo concatenar texto para generar un fichero fuente en C# que dentro tenga la expresion, compilarlo, ejecutar el resultado, y sacar de ahi la respuesta. Y tambien hay un truco que es meterlo en un DataTable como si fuera para una columna calculada, y dejar que el DataTable evalue el calculo.

    Si buscas algo mas trivial, como por ejemplo que solo se soporte suma y resta procesandolas por orden y sin tener en cuanta jerarquias de operadores, puedes simplemente usar un "split" sobre la cadena, recorrer las entradas con un bucle, y segun te encuentres numeros y operadores irle aplicando la operacion indicada.

    viernes, 16 de noviembre de 2018 12:19