Título: leer cadena de archivo en c# Publicado por: alan03 en 22 Julio 2011, 20:01 pm 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(); } } |