elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  problema en c# exepcion bucle for
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema en c# exepcion bucle for  (Leído 693 veces)
ismaelson

Desconectado Desconectado

Mensajes: 8


Ver Perfil
problema en c# exepcion bucle for
« en: 13 Febrero 2021, 17:07 pm »

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
        
    




« Última modificación: 13 Febrero 2021, 17:09 pm por ismaelson » En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 2.474


Ver Perfil
Re: problema en c# exepcion bucle for
« Respuesta #1 en: 14 Febrero 2021, 16:08 pm »

La excepción fijo que te sale en la línea anterior 'tareas[xindex] = tareasstring;', te debe marcar una referencia nula al array, ya que no está inicializado...
Además como parece recibir una asignación pero luego no aparece más en todo el código se puede comentar (quizás es que esté sin terminar el código, pero igualmente puedes comentar dicha línea hasta entonces).

Hay más errores (de todo tipo), pero ya los irás viendo y a ver si puedes resolverlos solo...


En línea

ismaelson

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: problema en c# exepcion bucle for
« Respuesta #2 en: 14 Febrero 2021, 21:11 pm »

muchas gracias era eso en el momento que lo e comentado con // tareas[xindex] = tareasstring;  se soluciono el problema de la exepcion, mil gracias de veras porque llevo todo el finde intentando cambiar cosas  y no lo conseguia, se que hay otros errores como por ejemplo los break en los if() y alguna cosilla mas  pero eso los puse para ir probando cosillas y ver que va ocurriendo, pero eso si mil gracias de verdad  ;-)

un saludo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con bucle While en vb 6.0
Programación Visual Basic
merlin 2 1,795 Último mensaje 14 Abril 2007, 02:39 am
por Sancho.Mazorka
Problema con bucle
Programación Visual Basic
mdg 0 719 Último mensaje 20 Noviembre 2007, 22:02 pm
por mdg
Duda (Parar bucle con dato boolean) [bucle while]
Java
Dem0ny 5 14,602 Último mensaje 17 Diciembre 2008, 17:43 pm
por Dem0ny
Como frenar un bucle for con un bucle while en bash linux
Scripting
mario290386 0 556 Último mensaje 5 Mayo 2019, 13:58 pm
por mario290386
MOVIDO: problema en c# exepcion bucle for
Programación C/C++
Eternal Idol 0 233 Último mensaje 13 Febrero 2021, 17:31 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines