C sharp - Introducir Parámetros y mostrarlos

 
Vista:

Introducir Parámetros y mostrarlos

Publicado por Beatriz (5 intervenciones) el 25/02/2007 15:41:48
Buenas tardes:
A ver si alguien me puede echar una mano, que llevo 15 días estancada en esto. (Se notará que estoy empezando) y no puedo continuar. Se trata de un proyecto de consola, en el que tengo que introducir unos parámetros p.ej: Nombre Dni Población, y la aplicación me tiene que mostrar:
Los parámetros son:
Nombre: El introducido
Dni: El introducido
Localidad: ...
Si introduzco más o menos de tres parámetros, avisar.
Lo que tengo es lo siguiente pero me falla al intentar mostrar el 1er parámetro.
Gracias por su atención. Un saludo
using System;
using System.Collections.Generic;
using System.Text;

class Clientes
{

public static void Main(string[] args) {
Console.WriteLine ("Escriba su Nombre, Dni, y Población");

string s = Console.ReadLine();

Console.WriteLine ("Los parámetros son:");

Console.WriteLine("Nombre: {0}", args[0]);
Console.WriteLine("Dni: {1}", args[1] );
Console.WriteLine ("Población: {2}", args[2] );

{
if (args.Length < 3){

Console.WriteLine("Le falta algún parámetro");
}
if (args.Length > 3){

Console.WriteLine("Error, ha introducido algún parámetro no solicitado");
}


}

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Introducir Parámetros y mostrarlos

Publicado por ramom (4 intervenciones) el 26/02/2007 03:54:07
Console.WriteLine("Nombre: {0}", args[0]);
Console.WriteLine("Dni: {0}", args[1] );
Console.WriteLine ("Población: {0}", args[2] );

/*
{n} x representa el n argumento en la lista de argumentos de WriteLine(string,object,object,,,) empesando con 0
*/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Introducir Parámetros y mostrarlos

Publicado por Beatriz (5 intervenciones) el 26/02/2007 09:55:26
Muchas gracias, pero aún no encuentro la solución. Me sigue indicando:
Indice fuera de los límites de la matriz..
El caso es que parece que los parámetros los tengo que indicar en la misma línea.
Nombre Dni Población y al pulsar intro me los indique. Sin argumentos me sale, pero tengo que hacerlo con parámetros y me es imposible:

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

class Clientes
{

public static void Main(string[] args) {
Console.WriteLine ("Escriba su Nombre, Dni, y Población");

string s = Console.ReadLine();
Console.WriteLine ("Los parámetros son:");

Console.WriteLine("Nombre: {0}", args[0]);
Console.WriteLine("Dni: {0}", args[1] );
Console.WriteLine ("Población: {0}", args[2] );

{
if (args.Length < 3){

Console.WriteLine("Le falta algún parámetro");
}
if (args.Length > 3){

Console.WriteLine("Error, ha introducido algún parámetro no solicitado");
}



}

}
}

Gracias a todos, voy a seguir con ello. UN saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Introducir Parámetros y mostrarlos

Publicado por Yamil Bracho (1164 intervenciones) el 26/02/2007 18:22:10
El problema que veo es que no estas chequeando si estan llegando parametros o no.
Antes de escribir

Console.WriteLine("Nombre: {0}", args[0]);

coloca los if

f (args.Length < 3){

Console.WriteLine("Le falta algún parámetro");
}
if (args.Length > 3){

Console.WriteLine("Error, ha introducido algún parámetro no solicitado");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Introducir Parámetros y mostrarlos

Publicado por Beatriz (5 intervenciones) el 26/02/2007 20:47:18
Buenas tardes y gracias Yamil antetodo. Pero es que el problema lo tengo antes y lo siguiente lo tengo igual:
using System;
using System.Collections.Generic;
using System.Text;

class Clientes
{

public static void Main(string[] args) {
Console.WriteLine ("Escriba su Nombre, Dni, y Población");

Console.ReadLine();

Console.WriteLine ("Los parámetros son:");

Console.WriteLine("Nombre: {0}", args[0]); // aquí me salta un error, me
me indica "Índice fuera de los límites de la matriz."
Console.WriteLine("Dni: {0}", args[1] );
Console.WriteLine("Población: {0}", args[2]);
{
if (args.Length < 3){

Console.WriteLine("Le falta algún parámetro");
}
if (args.Length > 3){

Console.WriteLine("Error, ha introducido algún parámetro no solicitado");

}
Muchas gracias . Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Introducir Parámetros y mostrarlos

Publicado por Carlos (3 intervenciones) el 26/02/2007 21:38:48
Beatriz, lo único q te pasa es q no ejecutas el programa con argumentos dentro del Visual. Pruébalo fuera (desde MS-DOS) como se ha hecho toda la vida y te debería ir bien. Para probarlo desde dentro de Visual tienes q pasarle parámetros de ejecución al programa. Para ello haz Proyecto/Propiedades de <tu_proyecto>... (última opción del menú) y pincha sobre la solapa Depurar. En los campos q te salgan pon lo q quieras en Argumentos de la línea de comandos. Esto hace q cuando lo ejecutes dentro del Visual sea como si lo ejecutaras desde MS-DOS con esos parámetros.

Ese ReadLine para q lo pones? Te sobra. Los parámetros los debes leer en la línea de comandos y no desde el programa.

Antes de los 3 WriteLine's q has puesto deberías comprobar si realmente hay 3 parámetros para mostrar porque, si no, petará como te peta ahora. Si no hay 3 parámetros debes terminar la ejecución o, por lo menos, no tratar de imprimirlos. Es decir, haz q se quede más o menos así:

class Clientes
{

public static void Main(string[] args)
{

if (args.Length < 3) // Faltan parámetros?
{
Console.WriteLine("Le falta algún parámetro");
Console.WriteLine ("Escriba su Nombre, Dni, y Población");

return; // Terminar si no hay parámetros.
}

if (args.Length > 3) // Sobran parámetros?
{
Console.WriteLine("Error, ha introducido algún parámetro no solicitado");
return; // Terminar si no hay parámetros.
}

// Hay exactamente 3 parámetros.

Console.WriteLine ("Los parámetros son:");

Console.WriteLine("Nombre: {0}", args[0]); // aquí me salta un error, me
me indica "Índice fuera de los límites de la matriz."
Console.WriteLine("Dni: {0}", args[1] );
Console.WriteLine("Población: {0}", args[2]);
}

}

Espero haberte ayudado.

Sé muy feliz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar