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)
| | | |-+  Ayuda en C# (Nivel Principiante)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda en C# (Nivel Principiante)  (Leído 9,702 veces)
TwisteD420

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #10 en: 25 Mayo 2011, 00:43 am »

Como estan?

Veran tengo un par de dudas, actualmente estoy tratando de agregar la opcion que muestre los alumnos inscritos (nombres y nº de carnet)...

traté de elaborar un case asi:

Código
  1.  
  2.  
  3.                        case "3":
  4.                        Console.WriteLine("Nº carnet // Nombre alumno");
  5.                        for (i=0; i < c; i++)
  6.                        {
  7.                            Console.Write(carnet[i], name[i]);
  8.                        }
  9.                        Console.ReadLine();
  10.                        break;
  11.  

Pero solo me muestra los Nº de carnet, y no los nombres..

acaso no se puede hacer esto:

       
Código
  1.                       Console.Write(carnet[i], name[i]);

????


PD: por cierto, una pregunta bastante tonta..

que quiere decir el {0}  en el siguiente codigo?

Código
  1.                                Console.WriteLine("Telefono: {0}", phone[j]);

Yo siempre lo coloco antes de imprimir un array o variable.

Pero nunca supe el significado de ese "0", puede ser 1, 2, 3... etc?


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #11 en: 25 Mayo 2011, 01:00 am »

Citar
Pero nunca supe el significado de ese "0", puede ser 1, 2, 3... etc?
Esto es el mismo motivo por el cual solo te imprime los carnet pero no los nombres :P

El {0} puede ser 0 o 1, 2, 3 o lo que sea, y es sustituído por los parámetros que pasas en segunda intancia.
Código
  1. string a = "Texto_1";
  2. string b = "Texto_2";
  3. Console.WriteLine("Primero reemplazamos el cero por {0}, y luego el uno por {1}",a,b)
Código
  1. Primero reemplazamos el cero por Texto_1, y luego el uno por Texto_2

Cuando intentas imprimir carnet y nombre, el primer parametro, el carnet[ i] te lo toma como string, pero el segundo lo toma como un objeto, entonces busca el {0} para sustituír por name[ i], pero como no hay simplemente no hace nada.

Saludos


« Última modificación: 25 Mayo 2011, 01:04 am por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
TwisteD420

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #12 en: 25 Mayo 2011, 01:19 am »

Listo, ya lo pude hacer como quería ^^

me quedó algo asi:

Código
  1.     case "3":
  2.                        Console.Clear();
  3.                        Console.ForegroundColor = ConsoleColor.Green;
  4.                        Console.WriteLine("Nº carnet // Nombre de alumno");
  5.                        Console.ForegroundColor = ConsoleColor.White;
  6.                        for (i=0; i < c; i++)
  7.                        {
  8.                            Console.WriteLine("{0}          {1}", carnet[i], name[i]);
  9.                            Console.WriteLine("");
  10.                        }
  11.                        Console.ReadLine();
  12.                        break;
  13.  

Muchisimas gracias por tu ayuda!

Ahorita creo que le agregaré la función de modificar datos, investigaré un poco sobre el tema porque no tengo muy claro como lo hare.

Saludos!
En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #13 en: 25 Mayo 2011, 01:21 am »

Es decir aca quedaria asi:

Código
  1.                        case "3":
  2.                        Console.WriteLine("Nº carnet // Nombre alumno");
  3.                        for (i=0; i < c; i++)
  4.                        {
  5.                            Console.Write("El carnet numero {0} pertenece a {1}",carnet[i], name[i]);
  6.                        }
  7.                        Console.ReadLine();
  8.                        break;
  9.  

Y si hubieras querido poner otra variable mas usarias el numero que sigue, es decir el {2}.

Pero tambien puedes hacer:

Código
  1.                        case "3":
  2.                        Console.WriteLine("Nº carnet // Nombre alumno");
  3.                        for (i=0; i < c; i++)
  4.                        {
  5.                            Console.Write("El carnet numero " + carnet[i].ToString() + " pertenece a " + name[i]);
  6.                        }
  7.                        Console.ReadLine();
  8.                        break;
  9.  

Suponiendo que carnet es un numero entonces hay que convertirlo, y que name es un string entonces no se necesita convertir.

Ahora el consejo: Esta bueno el programa, segui leyendo ese tutorial de creo.. 260 paginas xD y cuando aprendas lo de Enum te digo para que lo recuerdes al leer, intenta usarlo y mezclarlo con un array xD, eso piensalo vs xD
En línea

Krähne

Desconectado Desconectado

Mensajes: 51


It can't rain all the time...


Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #14 en: 25 Mayo 2011, 11:17 am »

Hola @TwisteD420, respondiendo a tu cita:

Actualmente estoy comenzando a leer "El lenguaje de programación C#" para irme familiarizando con todo.

De nuevo, muchisimas gracias por su ayuda, a todos... En cuanto tenga tiempo libre, seguro me meto a fondo con C#, quiero aprender bastante bien ya que es el primer lenguaje de programación que uso... Después ire probando con java, pero me han dicho que necesito unas buenas bases de C# para que se me haga mas facil.

Saludos!

1) No te recomiendo que leas aquel .pdf de José Antonio González Seco, tiene MUCHOS errores, te confundirá más de lo que te ayudará; Te vendría bien un LIBRO de programación.

2) Tranquilo, estamos todos para ayudar, un gusto que te estés iniciando en programación por cuenta propia.

Bien por otro lado, luego de pensarlo bien he modificado tu código, haciéndolo mucho más compacto, entendible y sin tantos errores.

Pero ahora no sé si dejarte el código ya que, te dejé el pasado y creo que no lo leíste si quiera, de todos modos aquí te dejo el compilado (.exe) para que revises como ha quedado luego de la modificación que le he hecho.

Ojo, si dudas de algún tipo de infección puedes analizarlo bien sea con tu antivirus, o online en virustotal.com.

Si luego de ver como ha quedado la aplicación (A mi parecer con un margen de error bastante bajo y una estética en comparación al que tienes hecho bastante alta) te gusta, o quisieras saber cómo he hecho alguna que otra cosa, avísame por aquí mismo y te dejo el código con comentarios en cada línea para que vayas entendiendo alguna que otra función que de seguro te servirá.

Una previa de como luce la aplicación:



Gruß.
________________________________

Edito:
Por si desconfías, prefiero dejarte el código sin comentarlo por si quieres analizarlo tu mismo, cualquier cosa ya sabes, puedes publicar tus dudas en el foro.

Puedes ver el código online aquí.

Te pido reconsideres si vas a ignorar mi respuesta, venga que invertí unas dos horas para ayudarte, no sería muy cortés que digamos el hecho de no prestar atención a las 501 líneas que (Con gusto claro...) he modificado para tu provecho.
« Última modificación: 25 Mayo 2011, 11:44 am por Krähne » En línea

Yo soy más sabio que este hombre; es posible que ninguno de los dos sepamos cosa que valga la pena, pero él cree que sabe algo, pese a no saberlo, mientras que yo, así como no sé nada, tampoco creo saberlo. Yo no tengo conciencia de saber nada.
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #15 en: 26 Mayo 2011, 03:04 am »

Y ahora mi crítica :xD
No le hagas caso Krähne en cuanto a las etiquetas y los goto, esos son de otra epoca y vaya a saber el motivo por el cual siguen estando en C# :xD

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #16 en: 26 Mayo 2011, 04:51 am »

Yo pense lo mismo, pero que otra forma mas facil de hacer lo de verificar cada dato que ingresa que con un goto?
En línea

Krähne

Desconectado Desconectado

Mensajes: 51


It can't rain all the time...


Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #17 en: 26 Mayo 2011, 07:44 am »

Y ahora mi crítica :xD
No le hagas caso Krähne en cuanto a las etiquetas y los goto, esos son de otra epoca y vaya a saber el motivo por el cual siguen estando en C# :xD

Saludos

Ya interesante, se pueden usar los do-while, o los if... pero, con un goto sería más práctico, si bien... fue solo mi ejemplo, pueden modificarlo a sus necesidades/gustos como he dicho.
En línea

Yo soy más sabio que este hombre; es posible que ninguno de los dos sepamos cosa que valga la pena, pero él cree que sabe algo, pese a no saberlo, mientras que yo, así como no sé nada, tampoco creo saberlo. Yo no tengo conciencia de saber nada.
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #18 en: 26 Mayo 2011, 21:17 pm »

En el Console.Write, en vez de usar espacios para el padding.. puedes usar la posición del cursor.. Es más práctico y fácil :)
En línea

TwisteD420

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: Ayuda en C# (Nivel Principiante)
« Respuesta #19 en: 28 Mayo 2011, 09:05 am »

Como estan! Como siempre agradeciendo a todos por su ayuda, me ha sido MUY util, les vengo a dejar la ultima adición que le hice a mi "programita", este le brinda al usuario la posibilidad de modificar los datos a la hora de buscarlos, aqui les dejo el código:


Este es la opción 2 del menú general.

           Console.WriteLine("*Ingrese 2 para buscar alumno");


Código
  1. case "2":
  2.                        Console.ForegroundColor = ConsoleColor.White;
  3.                        Console.Clear();
  4.                        Console.WriteLine("Escriba el Nº de carnet");
  5.                        search = Console.ReadLine();
  6.                        Console.Clear();
  7.                        int j = 0;
  8.                        bool find = false;
  9.                        while (j < carnet.Length && find == false)
  10.                        {
  11.                            if (search == carnet[j])
  12.                            find = true ;  
  13.  
  14.                            else
  15.  
  16.                                j++;
  17.  
  18.                        }
  19.                        if (find == false)
  20.                        {
  21.                               Console.ForegroundColor = ConsoleColor.Red;
  22.                                Console.WriteLine("El numero de Carnet ingresado no existe");
  23.                                Console.ReadLine();
  24.                                Console.Clear();
  25.                        }
  26.                        else
  27.                        {
  28.                                Console.ForegroundColor = ConsoleColor.Cyan;
  29.                                Console.WriteLine("Nº de carnet: {0}", carnet[j]);
  30.                                Console.WriteLine("Nombre: {0}", name[j]);
  31.                                Console.WriteLine("Fecha de nacimiento: {0}", date[j]);
  32.                                Console.WriteLine("Telefono: {0}", phone[j]);
  33.                                Console.WriteLine("");
  34.  
  35.                                Console.ForegroundColor = ConsoleColor.White;
  36.                                Console.WriteLine("¿Desea realizar un cambio?");
  37.                                Console.WriteLine ("<S/N>");
  38.                                string modans = Console.ReadLine();
  39.                                while (modans == "s")
  40.                                {
  41.                                    Console.Clear();
  42.                                    Console.ForegroundColor = ConsoleColor.White;
  43.                                    Console.WriteLine("Ingrese el Nº del campo que desea modificar");
  44.                                    Console.WriteLine("");
  45.                                    Console.ForegroundColor = ConsoleColor.DarkCyan;
  46.                                    Console.WriteLine("1* Nº Carnet");
  47.                                    Console.WriteLine("2* Nombre");
  48.                                    Console.WriteLine("3* Fecha de Nacimiento");
  49.                                    Console.WriteLine("4* Telefono");
  50.  
  51.                                    string modopt = Console.ReadLine();
  52.  
  53.                                    switch (modopt)
  54.                                    {
  55.  
  56.                                    case "1":
  57.                                            Console.Clear();
  58.                                            Console.ForegroundColor = ConsoleColor.Green;
  59.                                            Console.WriteLine("Ingrese el nuevo Nº de Carnet");
  60.                                            Console.ForegroundColor = ConsoleColor.White;
  61.                                            string newcarnet = Console.ReadLine();
  62.                                            carnet[j] = newcarnet;
  63.                                            break;
  64.                                    case "2":
  65.                                            Console.Clear();
  66.                                            Console.ForegroundColor = ConsoleColor.Green;
  67.                                            Console.WriteLine("Ingrese el nuevo Nombre");
  68.                                            Console.ForegroundColor = ConsoleColor.White;
  69.                                            string newname = Console.ReadLine();
  70.                                            name[j] = newname;
  71.                                            break;
  72.  
  73.                                     case "3":
  74.                                            Console.Clear();
  75.                                            Console.ForegroundColor = ConsoleColor.Green;
  76.                                            Console.WriteLine("Ingrese la fecha de nacimiento correcta");
  77.                                            Console.ForegroundColor = ConsoleColor.White;
  78.                                            string newdate = Console.ReadLine();
  79.                                            date[j] = newdate;
  80.                                            break;
  81.  
  82.                                        case "4":
  83.                                            Console.Clear();
  84.                                            Console.ForegroundColor = ConsoleColor.Green;
  85.                                            Console.WriteLine("Ingrese el nuevo Nº de Telefono");
  86.                                            Console.ForegroundColor = ConsoleColor.White;
  87.                                            string newphone = Console.ReadLine();
  88.                                            phone[j] = newphone;
  89.                                            break;
  90.  
  91.  
  92.                                    }
  93.  
  94.                                    Console.ForegroundColor = ConsoleColor.Cyan;
  95.                                    Console.WriteLine("");
  96.                                    Console.WriteLine("¿Desea realizar otra modificación?");
  97.                                    Console.WriteLine("<S/N>");
  98.                                    modans = Console.ReadLine();
  99.  
  100.  
  101.                                }
  102.                        }
  103.  
  104.                        break;
  105.  



En el Console.Write, en vez de usar espacios para el padding.. puedes usar la posición del cursor.. Es más práctico y fácil :)

No estoy muy seguro de como hacer eso, si podrias explicarte un poco mas de forma resumida te lo agradecería mucho.

Krähne:
Fíjate que no logre ejecutar el codigo que me pasaste.
Me sale un error de unicode, tengo Visual Studio 2005, no se si eso será el motivo.


Saludos!
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
hook a nivel aplicaciòn no a nivel sistema AYUDA
Programación Visual Basic
irra_b 1 2,546 Último mensaje 9 Julio 2006, 01:54 am
por NYlOn
Ayuda soy principiante! « 1 2 3 »
Programación Visual Basic
xDie 28 6,217 Último mensaje 18 Enero 2007, 20:39 pm
por xDie
ayuda soy principiante
Ingeniería Inversa
nsoffia 4 4,219 Último mensaje 21 Junio 2008, 23:28 pm
por apuromafo CLS
Ejercicios Python! [Nivel:Principiante]
Ejercicios
kyps 6 19,608 Último mensaje 8 Abril 2010, 19:46 pm
por xyz0k
Crackme fácil nivel 1 principiante + Packer
Ingeniería Inversa
FlyNDSkyGMFnD 5 1,442 Último mensaje 7 Enero 2019, 23:09 pm
por karmany
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines