ayuda con metodo mostrar

Iniciado por ronnieale, 25 Mayo 2009, 19:15 PM

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

ronnieale

hola...miren como me qdo el metodo mostrar



bueno en la imagen se puede ver  como me qdo todo desordenado...quisiera saber si me dan una mano para q me qde ordenado..ahi le va el codigo q tengo yo...





Console.WriteLine("*******************************************************************");
Console.WriteLine("****** TABLA DE JUGADORES SEGUN PROMEDIO DE GOLES ***************");
Console.WriteLine("");
Console.WriteLine(" Nombre Jugador--Nombre Equipo--Partidos Jugados--Goles--Promedio de goles ");

           for (int i = 0; i < cantidad; i++)
           {

               Milista.Mostrar();
               
               Console.ReadKey();
           }


public void Mostrar()
       {
           
           Console.WriteLine("  {0}           {1}            {2}          {3}           {4}      ", NomJugador, NomEquipo, PartJugados,GolesConvertidos,GolesPartidos);
     

       }


Jorgitoh

En lugar de usar espacios deberias usar el "\t" que sirve para realizar tabulaciones tal como las harias en Word o en cualquier procesador de texto.

Es decir, que agarras todos los espacios que pusiste y reemplazalos por "\t" y listo. De todos modos tene en cuenta que en lugares donde la longuitud de los textos es variable probablemente debas usar uno o dos "\t".

Saludos.

Meta

#2
Hola:

Hace un tiempo hice cosas de esas, es curioso. Si es posible, es recomendable poner el código completo para poder guiarme mejor.







Mejor usar esto:
Código (csharp) [Seleccionar]

           string c1 = "╔";
           for (; c1.Length <= 77; c1 += "═") ;
           c1 += "╗";
           Console.Write(c1);


Es conveniente mirar la tabla ASCII.

Más bonito te queda así, sobre todo si pones título a la ventana principal arriba como puedes ver en la imagen de abajo:


Continuando el código...

Saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

h0oke

 :o Vaya que es un trabajo hacer una presenctación en console mode... Me sigues sorprendiendo meta...

Salu2!

ronnieale

mil gracias...pero fiera q presentacion....te sarpas hee...jajaja...muchas gracias por tu respuesta... ;D

Meta

#5
¿Podrías poner tu código completo? A ver si hago tu programa en orden. Te doy el código de arriba que hice para que hagas ideas.

Código (csharp) [Seleccionar]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MenuCMD
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "TABLA DE JUGADORES";
            string c1 = "╔";
            for (; c1.Length <= 77; c1 += "═");
            c1 += "╗";
            Console.WriteLine(c1);
            Console.Write("║                 ");
            Console.BackgroundColor = ConsoleColor.Black;
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("TABLA DE JUGADORES SEGUN PROMEDIO DE GOLES");
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.WriteLine("                  ║");
            string c2 = "╠";
            for (; c2.Length <= 77; c2 += "═");
            c2 += "╣";
            Console.WriteLine(c2);
            string c3 = "║";
            for (; c3.Length <= 77; c3 += " ") ;
            c3 += "║";
            Console.WriteLine(c3);
            Console.WriteLine("║  Nombre Jugador--Nombre Equipo--Partidos Jugados--Goles--Promedio de goles  ║");

            Console.ReadKey();
        }
    }
}


Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

ronnieale

ahi ta todo el codigo....si me ayudas te agradezco...-

namespace ejercicio_26
{
   class Program
   {
       static void Main(string[] args)
       {
           
           List<Jugador> Milista = new List<Jugador>();
                       
           Milista.Add(new Jugador("roney", "manchester", 20, 40));
           Milista.Add(new Jugador("messi", "Barcelona", 20, 80));
           Milista.Add(new Jugador("Mascherano", "Liverpool", 20, 45));
           Milista.Add(new Jugador("Aguero", "Atletico", 20, 60));
           int cantidad = Milista.Count;

           Jugador aux = new Jugador();
           for (int i = 0; i < cantidad; i++)
           {
               for (int j = i+1; j < cantidad; j++)
               {
                   if (Milista[j].GolesPartidos > Milista[i].GolesPartidos)
                   {
                       aux = Milista[i];
                       Milista[i] = Milista[j];
                       Milista[j] = aux;                        
                   }
               }
           }

           Console.WriteLine("**************************************************************************");
           Console.WriteLine("*************** TABLA DE JUGADORES SEGUN PROMEDIO DE GOLES ***************");
           Console.WriteLine("");
           Console.WriteLine(" Nombre Jugador--Nombre Equipo--Partidos Jugados--Goles--Promedio de goles ");



           
               foreach (Jugador j in Milista)
               {
                   j.Mostrar();
               }
               Console.ReadKey();
       




       }

   }

}



namespace ejercicio_26
{
   class Jugador
   {

       String NomEquipo;
       String NomJugador;
       int PartJugados;
       int GolesConvertidos;
       public int GolesPartidos;

       public Jugador() { }
       public Jugador(String nomjuga, String nomequi, int partidos, int golconver)
       {
           this.NomJugador = nomjuga;
           this.NomEquipo = nomequi;
           this.PartJugados = partidos;
           this.GolesConvertidos = golconver;
           this.GolesPartidos = Calcular(partidos, golconver);
       }

       public void Mostrar()
       {            
           Console.WriteLine("  {0}           {1}            {2}          {3}           {4}      ", NomJugador,NomEquipo,PartJugados,GolesConvertidos,GolesPartidos);    
       }
       private int Calcular(int partidos, int convertidos)
       {
           int a=0;
           a = convertidos / partidos;
           return a;
       }




   }  
}

Meta

Hola:

.NET Format a string with fixed spaces

en este link realizaron una consulta similar.

puedes hacer uso del

PadLeft()
PadRight()

Usa el metodo PadRight de la clase String para rellenar los valores NomJugador, NomEquipo, etc. con espacios en blanco y asi que todos midan lo mismo. Ejemplo de como usar este metodo:

string MyString = "Cadena";
MyString.PadRight(8);
//MyString = "Cadena  "

A ver si esto te ayuda, si lo logras, muestra una imagen aquí como hiciste en el primer tema.


Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

ronnieale

hola...mira lo puse asi en el metodo mostrar pero no psa nada... :-\

        public void Mostrar()
        {
            String MyString = NomEquipo;
            MyString.PadRight(12);
            String MyString2 = NomJugador;
            MyString.PadRight(12);

            Console.WriteLine("  {0}           {1}            {2}          {3}           {4}      ", NomJugador,NomEquipo,PartJugados,GolesConvertidos,GolesPartidos);     
        }