elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: [1]
1  Programación / .NET (C#, VB.NET, ASP) / leer cadena de archivo en c# 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();
    }
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines