Ejercicios básicos C#

Iniciado por ~~, 25 Octubre 2007, 17:39 PM

0 Miembros y 2 Visitantes están viendo este tema.

NeoXero

wow muy buenmos ejemploss :D pero tengo una duda para hackpsycho
como le hiciste para ese skin en tu programa de las temperaturas ???
si pudieras decirmelo porke yo baje el skincrafterlight  puesto que es el que me autorizaron bajar solamente por bajar C# express

hackpsycho

Cita de: NeoXero en 10 Diciembre 2007, 04:47 AM
wow muy buenmos ejemploss :D pero tengo una duda para hackpsycho
como le hiciste para ese skin en tu programa de las temperaturas ???
si pudieras decirmelo porke yo baje el skincrafterlight  puesto que es el que me autorizaron bajar solamente por bajar C# express

Yo tengo C# completo, y nno use nada de programas con las mismas propiedades de los objetos, backcolor, locked , etc, etc,


ronald hisp

es una arbol binario,insercion,eliminar,nivel
-******codigo********
using System;

namespace ConsoleApplication6
{
   
   class Class1
   {
      public struct arbol
      {
         public  int dato;
         public int izquierda;
         public int derecha;
      }
      static  int ingresar (int vmin,int vmax,string p)
      {
         int dato;
         do
         {
            Console.WriteLine("ingresar numero de la {0} :",p);
            dato=int.Parse(Console.ReadLine());
         }
         while (dato<vmin || dato>vmax);
         return dato;
      }
      static char continuar (string  msj)
      {
         char respuesta;
         do
         {
            Console.Write("que desea {0}s/n:",msj);
            respuesta =char.Parse(Console.ReadLine());
         }
         while (respuesta!='s' && respuesta !='n' && respuesta !='S'&& respuesta !='N');
         return respuesta;
      }
      static void mostrar (arbol[] a,int numerodato)
      {
         Console.WriteLine();
         if(numerodato!=0)
         {
            Console.WriteLine("tabla que representa a la estructura \n");
            Console.WriteLine("---------------------------------");
            Console.WriteLine("| Valor | Izquierda | Derecha||");
            Console.WriteLine("------------------------");
            for(int i=0;i<a.Length;i++)
            {
               if(i<10)Console.Write("| {0}     ",i);
               else Console.Write("  | {0}    ",i);
               if(a.dato<10)Console.Write("|          {0}    ",a.dato);
               else Console.Write("|   {0}   ",a.dato);
               if(a.izquierda<10)Console.Write(" |  {0}  ",a.izquierda);
               else Console.Write("|  {0}    ",a.izquierda);
               if(a.derecha<10)Console.Write(" |  {0}  ",a.derecha);
               else Console.Write("|  {0}    ",a.derecha);
               Console.WriteLine();
            }
            Console.WriteLine("----------------------");
         }
         else Console.WriteLine("el arbol esat vaci......");
      }
      public  static int insertar (arbol[]a,int numerodato)
      {
         int valor,posicion ,f,n;
         char resp=' ';
         string e="";
         Console.WriteLine();
         Console.WriteLine("\n ------------------------ ");
         Console.WriteLine("| insertar dato| ");
         Console.WriteLine(" - - - - - - - - - - - - - - -  - - - - -\n");
         do
         {
            if (numerodato>=a.Length)
            {
               Console.WriteLine("arbol binario lleno !!!");
               resp ='n';
            }
            else
            {
               numerodato++;
               Console.Write("---- ");
               valor=int.Parse(Console.ReadLine());
               posicion=0;
               f=0;
               do
               {
                  if(valor==0)
                  {
                     Console.WriteLine(" dato no admitido,por favor inserte otro  valor \n");
                     
                  }
                  else
                     if(a[posicion].dato==0)
                  {
                     a[posicion].dato=valor;
                     f=1;
                     if(numerodato!=1)
                     {
                        if(e=="derecha")
                        {
                           n=(posicion-2)/2;
                           a[n].derecha=posicion;
                        }
                        else
                        {
                           n=(posicion-1)/2;
                           a[n].izquierda=posicion;
                        }
                     }
                  }
                  else
                     if(valor<=a[posicion].dato)
                  {
                     posicion=(2*posicion)+1;
                     e="izquierdo";
                  }
                  else
                  {
                     posicion=(2*posicion)+2;
                     e="derecho";
                  }
               }
               while(f==0&&posicion<a.Length);
               if(posicion>=a.Length)Console.WriteLine("la posicion no existe");
               if(numerodato<a.Length)resp=continuar("desea insertar otro valor");
            }
         }
         while (numerodato<a.Length && (resp!='N') && (resp!='n'));
         return numerodato;
      }
      public static  int eliminar(arbol[]a,int numerodato)
      {
         Console.WriteLine();
         int i,elem,f;
         char op=' ';
         if(numerodato!=0)
         {
            
            Console.WriteLine("|eliminar de datos |");
            
            do
            {
               f=0;
               elem =ingresar ("para eliminar");
               for(i=0;i<a.Length;i++)
                  if(elem==a.dato)
                  {
                     if(i!=0)
                     {
                        Console.WriteLine("elemento encontrado posicion: "+i);
                        op=continuar("eliminar dato");
                        if(op=='s'||op=='S')
                        {
                           if(a.derecha==0&&a.izquierda==0)
                           {
                              a.dato=0;
                              if(i%2==0)
                                 a[(i-2)/2].derecha=0;
                              else
                                 a[(i-1)/2].izquierda=0;
                              numerodato--;
                           }
                           else
                              Console.WriteLine("el dato no se puede eliminar por seer padre");
                        }
                     }
                     else
                        Console.WriteLine("el dato no se puede eliminra por que es raiz ");
                     f=1;
                  }
               if(f==0)
                  Console.WriteLine("el dto no fue encontrado");
               op=continuar("eliminar otro dato??");
            }
            while((op=='S' || op=='s')&& numerodato !=0);
         }
         else
            Console.WriteLine("arbol vacio");
         return numerodato;
      }
      public static int ingresar(string msj)
      {
         int busc;
         do
         {
            Console.WriteLine("ingresar dato{0},excepto el 0",msj);
            busc=int.Parse(Console.ReadLine());
            if(busc==0)
               Console.WriteLine(" dato no admitido");
         }
         while(busc==0);
         return busc;
      }
      public  static void buscar(arbol[]a,int numerodato)
      {
         int  i,f=0,buscado;
         char op=' ';
         Console.WriteLine();
         do
         {
            if(numerodato!=0)
            {
               buscado=ingresar ("para buscar");
               for(i=0;i>a.Length;i++)
                  if(buscado==a.dato)
                  {
                     Console.Write("elemento encontrado en la posicion  "+i);
                     f=1;
                     if(a.izquierda !=0)
                  
                        Console.Write(" ,su  hijo izquierdo  es" +a[a.izquierda].dato);
                     
                     if(a.derecha!=0)
                     
                        Console.Write(" ,su  hijo derecho  es" +a[a.derecha].dato);
                  }
               if(f==0)
                  Console.WriteLine("elemento no encontrado");
               op=continuar("buscar otro elemento");
            }
            else
               Console.WriteLine("arbol vacio");
         }
         while(op=='S'|| op=='s');
      }
      public static void altura(arbol[]a,int numerodato)
      {
         int  i,alt=0,ubic=0;
         Console.WriteLine();
         if(numerodato!=0)
         {
            for(i=a.Length-1;i>0;i--)
               if(a.dato!=0)
               {
                  ubic=i;
                  goto salir;
               }
         salir:
            for(i=1;i<Math.Sqrt(a.Length+1);i++)
               if(ubic<=(Math.Pow(2,i)-2))
               {
                  alt=i;
                  goto fuera_de_alcance;
               }
         fuera_de_alcance:
            Console.WriteLine("la altura actual del arbol es:"+alt);
         }
         else
            Console.WriteLine("arbol vacio");
      }
      static void Main(string[] args)
      {
         
            int  i,opc ,nivel=8,numerodato=0;
            char op=' ';
            arbol[] a=new arbol[Convert.ToInt16(Math.Pow(2,nivel)-1)];
            for(i=0;i<a.Length;i++)
               a.dato=a.izquierda=a.derecha=0;
            do
            {

               Console.WriteLine("Menu Principal");
               Console.WriteLine("1.ingresar  dato");
               Console.WriteLine("2.buscar dato");
               Console.WriteLine("3.eliminar dato hijo");
               Console.WriteLine("4.mostrar dato");
               Console.WriteLine("5.calcular altura");
               opc=ingresar(1,5,"la opcion escogida");
               switch(opc)
               {
                  case 1: numdato=insertar (a,numerodato);
               break;
                  case 2:buscar(a,numerodato);
               break;
                  case 3: numerodato=eliminar (a,numdato);
               break;
                  case 4: mostrar(a,numerodato);
               break;
                  case 5: altura (a,numerodato);
               break;
               }
               op=continuar ("desea continuar ");
                     }
            while(op=='s');
         
         
         

         }
      } 
   }   
}
aver si lo complementan 

      

hackpsycho

amigo para la otra usa la opcion de codigo, para  k se entienda mejor  :P


d(-_-)b

Es mejor que cada quien haga su post con sus Ejercicio,  :o

saludos...
Max 400; caracteres restantes: 366

hitori batusai

#15
aqui les dejo mi granito de arena: no es mucho pero espero q lis ayude es un programa para calcular salarios ya con sus respectivos descuentos

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication2
{
   class Program
   {
       static void Main(string[] args)
       {
           double trab, can, total, neto,isss,renta,AFP;
           Console.Write("introduzca el numero de horas trabajadas: ");
           can = double.Parse(Console.ReadLine());
           Console.Write("introduzca el numero de trabajadores: ");
           trab = double.Parse(Console.ReadLine());
          total = 8 * trab * can;
           isss = total * 0.34/trab;
           Console.WriteLine("el descuento de isss es: ${0} ", isss);
           renta = total * 0.20 / trab;
           Console.WriteLine("el descuento de renta es: ${0}", renta);
           AFP = total * 0.15 / trab;
           Console.WriteLine("el descuento de AFP es: ${0}", AFP);
          neto = total  - isss - renta - AFP;      
           Console.WriteLine("el sueldo neto de los trabajadores es de : ${0}", neto/trab);
           Console.Write("");
           Console.WriteLine("El valor de la planilla total es de:  ${0} ", total);
       }
   }
}

Lexuslax

hola a todos tengo una duda, tengo un programa con botones estos dan valores de frecuencias, como puedo reproducir en sonido esas frecuancias...

espero me puedan ayudar..
gracias.

saludos.

novataitesa

el codigo de la pelotita lo intente lo unico que necesito es que rebote y no lo hace............. que hago??????? :huh: :-(

Pdellasera

#18
aqui le dejo mi aporte de mi calculadora

Código (csharp) [Seleccionar]
namespace WindowsFormsApplication2
{
   public partial class Calculadora : Form
   {
       bool initial = true;
       string operacion;
       Double Resultado;
       Double numero1;
       Double numero2;
       public Calculadora()
       {
           InitializeComponent();
       }

       private void GlobalClick(object sender, EventArgs e)
       {
           // Convertir objeto sender en un button
           Button bt = (Button)sender;

           // Si es una operacion que inicia se quita el cero
           if (initial)
               txtpantalla.Text = "";

           // Escribir el numero seleccionado en el TextBox
           txtpantalla.Text += bt.Text.ToString().Trim();

           // Desabilitar la funcion initial
           initial = false;
       }

       private void cmdRetroceso_Click(object sender, EventArgs e)
       {
           // Si solo hay un valor entonces el retroseso manda al valor inicial cero
           if (txtpantalla.Text.Trim().Length == 1)
           {
               txtpantalla.Text = "0";
               initial = true;
           }
           else
           {
               // Se elimina el ultimo numero en el campo de txtpantalla
               // 123 usando SubString solo cojo 12
               txtpantalla.Text = txtpantalla.Text.Trim().Substring(0, txtpantalla.Text.Trim().Length - 1);
           }
       }

       private void cmdC_Click(object sender, EventArgs e)
       {
           txtpantalla.Text = "0";
           initial = true;

       }
       // Botones de operaciones matematicas
       private void cmdsuma_Click(object sender, EventArgs e)
       {
           operacion = "+";
           initial = true;
           numero1 = double.Parse(txtpantalla.Text);
       }

       private void cmdresta_Click(object sender, EventArgs e)
       {
           operacion = "-";
           initial = true;
           numero1 = double.Parse(txtpantalla.Text);
       }

       private void cmdmulti_Click(object sender, EventArgs e)
       {
           operacion = "*";
           initial = true;
           numero1 = double.Parse(txtpantalla.Text);
       }

       private void cmddividir_Click(object sender, EventArgs e)
       {
           operacion = "/";
           initial = true;
           numero1 = double.Parse(txtpantalla.Text);
       }

       private void cmdigual_Click(object sender, EventArgs e)
       {
           numero2 = double.Parse(txtpantalla.Text);
           initial = true;


           switch (operacion)
           {
               case "+":
                   Resultado = numero1 + numero2;
                   txtpantalla.Text = Resultado.ToString();
                   break;

               case "-":
                   Resultado = numero1 - numero2;
                   txtpantalla.Text = Resultado.ToString();
                   break;

               case "*":
                   Resultado = numero1 * numero2;
                   txtpantalla.Text = Resultado.ToString();
                   break;


               case "/":
                   Resultado = numero1 / numero2;
                   txtpantalla.Text = Resultado.ToString();
                   break;
               //me falta el %

           }
       }
   }
}



esto es lo que tengo hasta el momento  espera sus comentarios

[D4N93R]

Hola,

Recuerden dos cosas cuando aporten código:

La primera es que tienen que colocar las etiquetas geshi para que resalten las palabras claves y sea más fácil de leerlo.

Segundo, como lo puso Pdellasera, colocar comentarios en el código. Por más corto y sencillo que parezca siempre hay que comentar en estos casos. OJO tampoco digo que esté sobrecomentado, o comentar cósas extremadamente sencillas.

Un saludo y gracias!