• Domingo 22 de Diciembre de 2024, 19:05

Autor Tema:  Ayuda  (Leído 1515 veces)

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Ayuda
« en: Martes 22 de Marzo de 2005, 19:15 »
0
Hola chicos de SoloCodigo, tengo un problema dejado por un desocupado de este foro y quisiera que me ayuden un poquito.
Se debe hacer una aplicacion por consola que permita alimentar un vector de 20 posiciones donde cada nodo del vector es del tipo:
struct nodo
{
 int cedula;
 string nombre;
 string apellido;
}
Debe tener la opcion de imprimirlos y cada linea debe alternar un color.
Yo lo tengo asi

Código: Text
  1. using System;
  2. namespace vector
  3. {
  4.  class vectorApp
  5.  {
  6.   static void Main()
  7.   {
  8.    ushort num=20;
  9.    struct nodo
  10.    {
  11.     int[] cedula;
  12.     string[] nombre;
  13.     string[] ape;
  14.    }
  15.    cedula=new int[num];
  16.    nombre=new string[num];
  17.    ape=new string[num];
  18.    for(int x=1;x<num;x++)
  19.    {
  20.     Console.Write("Numero de cedula{0}: ",x);
  21.     cedula[x]=Console.ReadLine();
  22.     Console.Write("introduzca nombre{0}: ",x);
  23.     nombre[x]=Console.ReadLine();
  24.     Console.Write("Introduzca apellido{0}",x);
  25.     ape[x]=Console.ReadLine();
  26.    }
  27.    Console.WriteLine("datos introducidos");
  28.    string a=Console.ReadLine89;
  29.    Console.WriteLine("cedula          nombre          apellido");
  30.    for(int x=1;x<num;x++)
  31.    {
  32.     Console.WriteLine("{0}          {0}          {0}",cedula[x],nombre[x],ape[x]);
  33.    }  
  34.   }
  35.  }
  36. }
  37.  
  38.  
Como pueden ver deben haber mas de 1.000.000 de errores en estas 36 lineas, la unica forma que pude ver para imprimirlas fue ese orden, no se si este bien, y si me pudieran ayudar con lo del color, SOLAMENTE CON LA SINTAXIS no con el codigo en si, ya que no valdria y me negarian un gran regalo.

Gracias Chao.
El pasado son solo recuerdos, el futuro son solo sueños

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ayuda
« Respuesta #1 en: Martes 22 de Marzo de 2005, 19:20 »
0
NO
esta pregunta no te esta permitida Radical..
por lo menos no de la manera que al has hecho.  :angry:


 :hola:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Ayuda
« Respuesta #2 en: Viernes 25 de Marzo de 2005, 20:54 »
0
Gracias JuanK por reabrir el post, bueno aqui lo que he conseguido por favor sino es asi, podrian explicarme ya que no conozco muy bien el lenguaje y no tengo donde compilar.
Código: Text
  1. [DllImport ("kernel32.dll")]
  2. public static extern bool SetConsoleTextAttribute(IntPtr hConsoleOutput, int wAttributes);
  3. [DllImport ("kernel32.dll")]
  4. public static extern IntPtr GetStdHandle(uint nStdHandle);
  5. [STAThread]
  6. using System.Runtime.InteropServices;
  7. using System;
  8. namespace vector
  9. {
  10. class vectorApp
  11. {
  12.    public static nodo
  13.   {
  14.    int[] cedula;
  15.    string[] nombre;
  16.    string[] ape;
  17.   }
  18.  public static void Main()
  19.  {
  20.   ushort num=20;
  21.   uint STD_OUTPUT_HANDLE=0xfffffff5;
  22.   IntPtr hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
  23.   cedula=new int[num];
  24.   nombre=new string[num];
  25.   ape=new string[num];
  26.   for(int x=1;x<=num;x++)
  27.   {
  28.    Console.Write("Numero de cedula: {0}",x);
  29.    cedula[x]=Console.ReadLine();
  30.    Console.Write("introduzca nombre: {0}",x);
  31.    nombre[x]=Console.ReadLine();
  32.    Console.Write("Introduzca apellido: {0}",x);
  33.    ape[x]=Console.ReadLine();
  34.   }
  35.   boolean R=false;
  36.   Console.WriteLine("datos introducidos");
  37.   string a=Console.ReadLine();
  38.   Console.WriteLine("cedula          nombre          apellido");
  39.   for(int x=1;x<=num;x++)
  40.   {
  41.     if(R)
  42.     {
  43.      SetConsoleTextAttribute(hConsole, 15); //Color Blanco
  44.      Console.WriteLine("{0}          {0}          {0}",cedula[x],nombre[x],ape[x]);
  45.      Console.WriteLine();
  46.     }
  47.     else
  48.     {
  49.      SetConsoleTextAttribute(hConsole, 2); //Color Verde
  50.      Console.WriteLine("{0}          {0}          {0}",cedula[x],nombre[x],ape[x]);
  51.      Console.WriteLine();
  52.      R=true;
  53.     }
  54.    }
  55.    a=Console.ReadLine();  
  56.  }
  57. }
  58. }
  59.  
  60.  
Hasta aqui, no doy mas he buscado info y preguntado y es lo unico ha lo que he llegado, a lo mejor las api's no se declaran asi pues no se y si algo me podrian ayudar.

Gracias chao.
El pasado son solo recuerdos, el futuro son solo sueños

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Ayuda
« Respuesta #3 en: Martes 29 de Marzo de 2005, 19:28 »
0
A ver he acomodado la estructura, Gracias JuanK, y quisiera que me sigan diciendo lo de los errores.

Código: Text
  1. using System.Runtime.InteropServices;
  2. using System;
  3. namespace vector
  4. {
  5.  class vectorApp
  6.  {
  7.   [DllImport ("kernel32.dll")]
  8.   public static extern bool SetConsoleTextAttribute(IntPtr hConsoleOutput, int wAttributes);
  9.   [DllImport ("kernel32.dll")]
  10.   public static extern IntPtr GetStdHandle(uint nStdHandle);
  11.   public struct nodo
  12.   {
  13.    public int[] cedula;
  14.    public string[] nombre;  
  15.    public string[] ape;
  16.   };
  17.   public static void Main()
  18.   {
  19.    nodo n;
  20.    ushort num=20;
  21.    uint STD_OUTPUT_HANDLE=0xfffffff5;
  22.    IntPtr hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
  23.    n.cedula=new int[num];
  24.    n.nombre=new string[num];
  25.    n.ape=new string[num];
  26.    for(int x=1;x<=num;x++)
  27.    {
  28.     Console.Write("# de cedula: {0}",x);
  29.     n.cedula[x]=Console.ReadLine();
  30.     Console.Write("Digite nombre: {0}",x);
  31.     n.nombre[x]=Console.ReadLine();
  32.     Console.Write("Digite apellido: {0}",x);
  33.     n.ape[x]=Console.ReadLine();
  34.    }
  35.    Console.WriteLine("Datos Introducidos");
  36.    string a=Console.ReadLine();
  37.    Console.WriteLine("Cedula          Nombre          Apellido");
  38.    Boolean b=true;
  39.    for(int x=1;x<=num;x++)
  40.    {
  41.     if(b=true)
  42.     {
  43.      SetConsoleTextAttribute(hConsole, 15);
  44.      Console.WriteLine("{0}          {0}          {0}",n.cedula[x].ToString(),n.nombre[x],n.ape[x]);
  45.      Console.WriteLine();
  46.      b=false;
  47.     }
  48.     else
  49.     {
  50.      SetConsoleTextAttribute(hConsole, 15);
  51.      Console.WriteLine("{0}          {0}          {0}",n.cedula[x].ToString(),n.nombre[x],n.ape[x]);
  52.      Console.WriteLine();
  53.      b=true;
  54.     }
  55.    }
  56.    a=Console.ReadLine();
  57.   }
  58.  }
  59. }
  60.  
  61.  
El pasado son solo recuerdos, el futuro son solo sueños