buenas estoy aprendiendo a programar en c# aun soy bastante novato en esto y la cosa es que tengo un problema que no se solucionar a ver si me pueden echar una mano porque por mas que intento cosas que se me van ocurriendo no consigo solucionarlo dejo el codigo para que puedan verlo y de bajo de el comento lo que intento hacer.
using System;
namespace EjercicioPracticotema2
{
public class Program
{
ToDoList[] semana = new ToDoList[7];
static void Main(string[] args)
{
ToDoList s = new ToDoList();
s.SetValue("prueba", 0);
}
}
class ToDoList : ILibre
{
public enum Dia { Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo }
public ToDoList[] dias = new ToDoList[7];
public Dia diax = Dia.Lunes;
int i;
public string[] tareas;
public bool diaLibre { get; set; }
public void SetValue(string tareasstring, int xindex)
{
Program q = new Program();
ToDoList p = new ToDoList();
tareas[xindex] = tareasstring;
for( i=0; i< dias.Length; i++ )
{
dias = new ToDoList();
while (!diaLibre)
{
string s = Console.ReadLine();
if (s == "True")
{
diaLibre = true;
break;
}
else if (s == "False")
{
if (diaLibre == false)
{
Console.WriteLine("escribe la cantidad de tareas: ");
}
}
else
{
Console.WriteLine(" escribe 'True' para decir si es fiesta y si no es fiesta escribe 'False' ");
}
break;
}
}
}
}
interface ILibre
{
public bool diaLibre { get; set; }
}
}
lo que que intento hacer es los siguiente:
Una enumeración “Dia” con los días de la semana.
Una interfaz “ILibre” con una propiedad bool llamada diaLibre.
Una clase llamada “ToDoList” que herede de la interfaz “ILibre” y que
contenga una variable de la enumeración “Dia”, también contendrá
una matriz de string llamada tareas, y una función con parámetros para darle valor al elemento de la matriz (Pista:
array.SetValue(string, int)).
El funcionamiento será el siguiente:
En el programa principal tendremos una variable array de ToDoList de
un tamaño de 7.
En la ejecución del programa además de instanciar los objetos que necesitemos, le damos el tamaño a la semana y mediante un bucle recorreremos cada día preguntando si es fiesta, y si no es fiesta preguntaremos por las tareas.
En el bucle for recorremos cada día, obtenemos el día de la enumeración en base al día del indexado del for y si es fiesta continuamos el bucle, si se ha equivocado retornamos para que lo vuelva a introducir.
Si no es fiesta entramos en un bucle while, preguntaremos cuantas tareas tiene que realizar para darle el tamaño a la matriz, si el valor no es
válido volvemos a empezar el bucle
Para introducir las tareas tendremos que tener un bucle for que recorra la matriz creada y le asigne valores a cada posición (tareas).
Cuando termine de recorrer las tareas le preguntamos si está conforme con el día, si lo está pasaremos al siguiente día, hasta que estén todos completados.
Al final mostraremos un resumen de la semana.
entonce mi problema es que cuando intento arrancar la consola me tira exepcion en:
for( i=0; i< dias.Length; i++ )
y claro entonces no puedo ver lo que ocurre cuando arranco la consola ya que no se si esa es la forma correcta de hacer preguntas en el bucle o no porque igual while"esta incompleto" y todo lo que esta dentro de el esta mal y quizas asi no se formulan las preguntas en el bucle for pero claro como me tira exepcion no puedo ir comprobando lo que ocurre. a ver si alguien podria decirme porque ocurre esa exepcion y a si aprender de este error para evitar que me vuelva a ocurrir. muchas gracias. un saludo