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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  problemas con el c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problemas con el c#  (Leído 8,994 veces)
Remarx

Desconectado Desconectado

Mensajes: 2


Ver Perfil
problemas con el c#
« en: 7 Septiembre 2008, 07:03 am »

Bunes soy nuevo por aqui, tengo un problema con el c# ya que recien toy aprendiendolo, pienso que el error es muy simple pero no logro dar con el espero que alguien pueda ayudarme. el error esta en la cuando quiero que imprima la respuesta en el txtrpta   METODO EXPONENCIAL "Error   1 Se requiere una referencia a objeto para el campo, método o propiedad no estáticos 'metodos_1.Form1.txtrpta'".
Esta en .net 2005 espero sus respuestas                           



 static void Main()
      {
         Application.Run(new Form1());
      }

      private void btneje_Click(object sender,   System.EventArgs e)
      {
              double x=Convert.ToDouble(txtx.Text);
         double error=Convert.ToDouble(txterror.Text);
         exponencial(x,error);
      }
      public static double exponente(double x, int n)
      {
         int i;
         double result = 1;
         if (x == 0) return 0;
         for (i = 1; i <= n; i++)
            result = result * x;
         return result;
      }
      public static double factorial(int x)
      {
         int i;
         double fact = 1;
         for (i = 1; i <= x; i++)
            fact = fact* i;
         return fact;
      }
      private static double absoluto(double x)
      {
         if(x<0){
            x=-1*x;}
         return x;
      }
          private static double exponencial(double x, double error)
          {
              double Nerror=10000000;
              int n=2;
              double lastresult, result;
                while(Nerror>error)
                  {
                    lastresult=result;
                    result+=exponente(x,n)/factorial(n);n++;
                    Nerror=absoluto(Nerror-error);
==>  error    txtrpta.Text ="Paso"+n.ToString()+"\r\n   Valor:"+result.ToString()                  +"error:"+Nerror.ToString()+"\r\n ---------- \r\n";
                    if(n>100)
                    {MessageBox.Show("El sistema se detendá. muchas iteraciones");Nerror=0;}
                  }            
           }



En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: problemas con el c#
« Respuesta #1 en: 8 Septiembre 2008, 15:17 pm »

debes quitarle la palabra static a la firma de los metodos, no puedes acceder a objetos de instancia desde metodos estaticos, consulta en el msnd sobre static para que sepas como se utiliza....

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


En línea


Remarx

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: problemas con el c#
« Respuesta #2 en: 9 Septiembre 2008, 04:44 am »

Gracias ya lo habia resuelto, era solo quitar el private static :D saludos.
En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: problemas con el c#
« Respuesta #3 en: 9 Septiembre 2008, 22:59 pm »

bueno, por favor cuando resuelvas algo cierra el hilo colocando la respuesta, y realmente como te lo dije en el post anterior es solo static, el private se puede quedar perfectamente...de todas formas te aconsejo que te pases por el msdn para que sepas el por que de esto, nno te gasnas nada haciendo que corra si no entiendes como funciona....

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines