hola compañeros tengo un problema con un programa: tengo que hacer una calculadora en c# que lea los numeros en una sola linea desde un archivo pero no se como hacer para que me lea los operadores aritmeticos que tiene el archivo y me los lea en un char en el programa ejemplo 3 * 8 + 5 * 6 / 8
este es lo q tengo
using System;
using System.IO;
class Calculadora {
StreamReader sr;
StreamWriter sw;
bool abierto1 = false;
bool abierto2 = false;
bool abierto3 = false;
public Calculadora(string filename) {
try {
sr = new StreamReader(filename);
abierto1 = true;}
catch(Exception e) {Console.WriteLine("Error en la apertura de \"{0}\": {1}",filename,e.ToString());}
if(abierto1) {string nombrearchivo2;nombrearchivo2 = filename.Insert(filename.IndexOf('.'),".out");
try {
sw = new StreamWriter(nombrearchivo2);
abierto2 = true;
}
catch(Exception e) {
Console.WriteLine("Error en la apertura de \"{0}\": {1}",
nombrearchivo2,e.ToString());
}}}
int multi(string op, string n1, string n2, string op2, string n3)
{
char[] vect = { '+', '*', '-', '/' };
return ((int.Parse(n1) + vect[op] + int.Parse(n2))) + vect[op] + (int.Parse(n3));
return (0);}
public void Procesar() {
string linea, linea2;
string[] elementos;
if (!abierto1 || !abierto2 ) return;
Console.WriteLine("Procesando ...");
linea = sr.ReadLine();
while(linea != null) {
elementos = linea.Split();
Console.WriteLine("{0} ", linea);
linea2 = linea + " = " + multi(elementos[1], elementos[0], elementos[2], elementos[3], elementos[4]).ToString();
Console.WriteLine("{0} ", linea2);
sw.WriteLine(linea2);
linea = sr.ReadLine();
}
sr.Close(); abierto1 = false;
sw.Close(); abierto2 = false;
Console.WriteLine("Listo");
}}
class recibe
{
static void Main(string[] args)
{
string nombre;
Console.Write("Nombre del archivo: ");
nombre = Console.ReadLine();
Calculadora c = new Calculadora(nombre);
c.Procesar();
Console.ReadLine();
}
}