Bonjour,

je suis nouveau sur Developpez.com je remercie toute aide portée sur moi. merci beaucoup

j'ai vraiment besoin d'aide, je dois defendre ce pgm demain a 11h,ma preocupation est la suivant:. je suis entrain de faire um pgm Simulatin de gestion de fils d'atente em C#, sous console, j'ai donc trois classes, Fila(fil), Rutinas_Simulacao et Programa, le pgm fonctionnait deja hier., mais aujourd'huit ca présente cette erreur System.NullReferenceException"

ligne de codes: deux classe classe Program et Classe Fila la ou il rouge, c'est la ou il ya problème...ComputacaoCientifica.rarComputacaoCientifica.zip
j'ai aussi annexé le .zip et .rar du dossier
class Fila
{
private Queue<double> fila =new Queue<double>(1);
public Fila()
{
System.Diagnostics.Debug.Assert(fila != null, "Assert: engine != null");
this.fila = new Queue<double>(1);

}
//---------------------------------------------------------------------
public bool vazia()
{
if (fila.Count() == 0)
return true;
return false;
}
//---------------------------------------------------------------------
public void inserir(double elemento)
{
fila.Enqueue(elemento);
}
//---------------------------------------------------------------------
public double primeiro()
{
return fila.Peek();
}

public void remover()
{
fila.Dequeue();
}
//---------------------------------------------------------------------
public double ultimo()
{
return fila.ElementAt<double>(fila.Count - 1);
}

public void mostrar()
{

System.Console.Write("{");
foreach (double elemento in fila)
{
System.Diagnostics.Debug.Assert(fila != null, "Assert: engine != null");
System.Console.Write(elemento + "; ");
}
System.Console.Write("}");
}
}

class Program
{
static void Main(string[] args)
{
Random r = new Random();
Rotinas_Simulacao rotinas_Simulacao = new Rotinas_Simulacao();
int terminar = 0;

double TempoTotalSistema = 0;
//double TempoParcial = 0;

Console.ForegroundColor = ConsoleColor.Red;
System.Console.WriteLine("\n Relogio = " + rotinas_Simulacao.getRelogio() //Para onde vamos avançar
+ "\n Tipo de Evento = " + rotinas_Simulacao.getTipoDeEvento() //Evento a ser realizado
+ "\n TempoProximaChegada =" + rotinas_Simulacao.getTempoDaProximaChegada()); //Chegada

while (true)
{
Console.ForegroundColor = ConsoleColor.White;
rotinas_Simulacao.GestaoDoTempo(); //Decidir o tipo de evento e o relógio
if (rotinas_Simulacao.getRelogio() < rotinas_Simulacao.getInfinito())
TempoTotalSistema = rotinas_Simulacao.getRelogio();
System.Console.WriteLine(""

+ "\n-------------------------Zona de Vendedores Posto A1--------------------------------------------------------------");
System.Console.Write(" FilaGeralPostoA1= "); rotinas_Simulacao.getFilaGeralPostoA1().mostrar();
System.Console.WriteLine(" TotalClientesFilaA1= " + rotinas_Simulacao.getTotalClientesFilaA1()
+ "\n TempoEsperaPostoA1= " + rotinas_Simulacao.getTempoEsperaPostoA1()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoA1= " + rotinas_Simulacao.getTempoOcupacaoPostoA1()
+ "\n EstadoDePostoA1= " + rotinas_Simulacao.getEstadoDePostoA1()
+ "\n TempoPartidaPostoA1 = " + rotinas_Simulacao.getTempoPartidaPostoA1()

+ "\n-------------------------Zona de Vendedores Posto A2--------------------------------------------------------------");
System.Console.Write(" FilaGeralPostoA2= "); rotinas_Simulacao.getFilaGeralPostoA2().mostrar();
System.Console.WriteLine(" TotalClientesFilaA2= " + rotinas_Simulacao.getTotalClientesFilaA2()
+ "\n TempoEsperaPostoA2= " + rotinas_Simulacao.getTempoEsperaPostoA2()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoA2= " + rotinas_Simulacao.getTempoOcupacaoPostoA2()
+ "\n EstadoDePostoA2= " + rotinas_Simulacao.getEstadoDePostoA2()
+ "\n TempoPartidaPostoA2 = " + rotinas_Simulacao.getTempoPartidaPostoA2()

+ "\n-------------------------Zona de Vendedores Posto A3--------------------------------------------------------------");

System.Console.Write(" FilaGeralPostoA3= "); rotinas_Simulacao.getFilaGeralPostoA3().mostrar();
System.Console.WriteLine(" TotalClientesFilaA3= " + rotinas_Simulacao.getTotalClientesFilaA3()
+ "\n TempoEsperaPostoA3= " + rotinas_Simulacao.getTempoEsperaPostoA3()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoA3= " + rotinas_Simulacao.getTempoOcupacaoPostoA3()
+ "\n EstadoDePostoA3= " + rotinas_Simulacao.getEstadoDePostoA3()
+ "\n TempoPartidaPostoA3 = " + rotinas_Simulacao.getTempoPartidaPostoA3()

+ "\n-------------------------Zona de Vendedores Posto A4--------------------------------------------------------------");
System.Console.Write(" FilaGeralPostoA4= "); rotinas_Simulacao.getFilaGeralPostoA4().mostrar();
System.Console.WriteLine(" TotalClientesFilaA4= " + rotinas_Simulacao.getTotalClientesFilaA4()
+ "\n TempoEsperaPostoA4= " + rotinas_Simulacao.getTempoEsperaPostoA4()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoA4= " + rotinas_Simulacao.getTempoOcupacaoPostoA4()
+ "\n EstadoDePostoA4= " + rotinas_Simulacao.getEstadoDePostoA4()
+ "\n TempoPartidaPostoA4 = " + rotinas_Simulacao.getTempoPartidaPostoA4()

+ "\n-------------------------Zona de Vendedores Posto A5--------------------------------------------------------------");
System.Console.Write(" FilaGeralPostoA5= "); rotinas_Simulacao.getFilaGeralPostoA5().mostrar();
System.Console.WriteLine(" TotalClientesFilaA5= " + rotinas_Simulacao.getTotalClientesFilaA5()
+ "\n TempoEsperaPostoA5= " + rotinas_Simulacao.getTempoEsperaPostoA5()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoA5= " + rotinas_Simulacao.getTempoOcupacaoPostoA5()
+ "\n EstadoDePostoA5= " + rotinas_Simulacao.getEstadoDePostoA5()
+ "\n TempoPartidaPostoA5 = " + rotinas_Simulacao.getTempoPartidaPostoA5()

+ "\n-------------------------Zona de Vendedores Posto A6--------------------------------------------------------------");
System.Console.Write(" FilaGeralPostoA6= "); rotinas_Simulacao.getFilaGeralPostoA6().mostrar();
System.Console.WriteLine(" TotalClientesFilaA6= " + rotinas_Simulacao.getTotalClientesFilaA6()
+ "\n TempoEsperaPostoA6= " + rotinas_Simulacao.getTempoEsperaPostoA6()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoA6= " + rotinas_Simulacao.getTempoOcupacaoPostoA6()
+ "\n EstadoDePostoA6= " + rotinas_Simulacao.getEstadoDePostoA6()
+ "\n TempoPartidaPostoA6 = " + rotinas_Simulacao.getTempoPartidaPostoA6()

+ "\n-------------------------Zona de Vendedores Posto A7--------------------------------------------------------------");
System.Console.Write(" FilaGeralPostoA7= "); rotinas_Simulacao.getFilaGeralPostoA7().mostrar();
System.Console.WriteLine(" TotalClientesFilaA7= " + rotinas_Simulacao.getTotalClientesFilaA7()
+ "\n TempoEsperaPostoA7= " + rotinas_Simulacao.getTempoEsperaPostoA7()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoA7= " + rotinas_Simulacao.getTempoOcupacaoPostoA7()
+ "\n EstadoDePostoA7= " + rotinas_Simulacao.getEstadoDePostoA7()
+ "\n TempoPartidaPostoA7 = " + rotinas_Simulacao.getTempoPartidaPostoA7()

+ "\n-------------------------Zona de Vendedores Posto A8--------------------------------------------------------------");
System.Console.Write(" FilaGeralPostoA8= "); rotinas_Simulacao.getFilaGeralPostoA8().mostrar();
System.Console.WriteLine(" TotalClientesFilaA8= " + rotinas_Simulacao.getTotalClientesFilaA8()
+ "\n TempoEsperaPostoA8= " + rotinas_Simulacao.getTempoEsperaPostoA8()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoA8= " + rotinas_Simulacao.getTempoOcupacaoPostoA8()
+ "\n EstadoDePostoA8= " + rotinas_Simulacao.getEstadoDePostoA8()
+ "\n TempoPartidaPostoA8 = " + rotinas_Simulacao.getTempoPartidaPostoA8()

+ "\n-------------------------Zona de Vendedores Posto Prioritário A9-------------------------------------------------");
System.Console.Write(" FilaPrioritariaPostoA9= "); rotinas_Simulacao.getFilaPrioritariaPostoA9().mostrar();
System.Console.WriteLine(" TotalClientesFilaPrioritarioA9= " + rotinas_Simulacao.getTotalClientesFilaPrioritarioA9()
+ "\n TempoEsperaPostoPrioritarioA9= " + rotinas_Simulacao.getTempoEsperaPostoPrioritarioA9()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoPrioritarioA9= " + rotinas_Simulacao.getTempoOcupacaoPostoPrioritarioA9()
+ "\n EstadoDePostoPrioritarioA9= " + rotinas_Simulacao.getEstadoDePostoPrioritarioA9()
+ "\n TempoPartidaPostoPrioritarioA9 = " + rotinas_Simulacao.getTempoPartidaPostoPrioritarioA9()

+ "\n-------------------------Zona de Vendedores Posto prioritário A10------------------------------------------------------------");
System.Console.Write(" FilaPrioritariaPostoA10= "); rotinas_Simulacao.getFilaPrioritariaPostoA10().mostrar();
System.Console.WriteLine(" TotalClientesFilaPrioritarioA10= " + rotinas_Simulacao.getTotalClientesFilaPrioritarioA10()
+ "\n TempoEsperaPostoPrioritarioA10= " + rotinas_Simulacao.getTempoEsperaPostoPrioritarioA10()
+ "\n NumClientesVendedor= " + rotinas_Simulacao.getNumClientesVendedor()
+ "\n TempoOcupacaoPostoPrioritarioA10= " + rotinas_Simulacao.getTempoOcupacaoPostoPrioritarioA10()
+ "\n EstadoDePostoPrioritarioA10= " + rotinas_Simulacao.getEstadoDePostoPrioritarioA10()
+ "\n TempoPartidaPostoPrioritarioA10 = " + rotinas_Simulacao.getTempoPartidaPostoPrioritarioA10()

//BALCÃO A
+ "\n\n-------------------------Zona de Pagamento----------------------------------------------------------");
System.Console.Write(" FilaDePagamento = "); rotinas_Simulacao.getFilaDePagamento().mostrar();
System.Console.Write("\n FilaPrioritariaDePagamento= "); rotinas_Simulacao.getFilaPrioritariaDePagamento().mostrar();
System.Console.Write("\n FilaRetornoDePagamento= "); rotinas_Simulacao.getFilaRetornoDePagamento().mostrar();
System.Console.WriteLine("\n TotalClientesFilaPagamento= " + rotinas_Simulacao.getTotalClientesFilaPagamento()
+ "\n TotalClientesFilaPagamentoPrioritario= " + rotinas_Simulacao.getTotalClientesFilaPagamentoPrioritario()
+ "\n TotalClientesFilaPagamentoRetorno= " + rotinas_Simulacao.getTotalClientesFilaPagamentoRetorno()
+ "\n NumClientesPagamento= " + rotinas_Simulacao.getNumClientesPagamento()
//+ "\n NumClientesLevantamento= " + rotinas_Simulacao.getNumClientesLevantamento()

+ "\n-------------------------Zona de Pagamento Posto B1-----------------------------------------------------------"
+ "\n TempoOcupacaoPagametoB1= " + rotinas_Simulacao.getTempoOcupacaoPagametoB1()
+ "\n EstadoDePagamentoB1= " + rotinas_Simulacao.getEstadoDePagamentoB1()
+ "\n TempoPartidaPostoB1 = " + rotinas_Simulacao.getTempoPartidaPostoB1()

+ "\n------------------------Zona de Pagamento Posto B2------------------------------------------------------------"
+ "\n TempoOcupacaoPagametoB2= " + rotinas_Simulacao.getTempoOcupacaoPagametoB2()
+ "\n EstadoDePagamentoB2= " + rotinas_Simulacao.getEstadoDePagamentoB2()
+ "\n TempoPartidaPostoB2 = " + rotinas_Simulacao.getTempoPartidaPostoB2()

+ "\n------------------------Zona de Pagamento Posto B3------------------------------------------------------------"
+ "\n TempoOcupacaoPagametoB3= " + rotinas_Simulacao.getTempoOcupacaoPagametoB3()
+ "\n EstadoDePagamentoB3= " + rotinas_Simulacao.getEstadoDePagamentoB3()
+ "\n TempoPartidaPostoB3 = " + rotinas_Simulacao.getTempoPartidaPostoB3()

+ "\n------------------------Zona de Pagamento Posto B4------------------------------------------------------------"
+ "\n TempoOcupacaoPagametoB3= " + rotinas_Simulacao.getTempoOcupacaoPagametoB4()
+ "\n EstadoDePagamentoB4= " + rotinas_Simulacao.getEstadoDePagamentoB4()
+ "\n TempoPartidaPostoB4 = " + rotinas_Simulacao.getTempoPartidaPostoB4()

//Zona de Levantamento / Postos C1 e C2
+ "\n\n-------------------------Zona de Levantamento -------------------------------------------------------------");
System.Console.Write(" FilaDePagamento = "); rotinas_Simulacao.getFilaDePagamento().mostrar();
System.Console.WriteLine("\n TotalClientesFilaPagamento= " + rotinas_Simulacao.getTotalClientesFilaPagamento()
+ "\n NumClientesBalcões= " + rotinas_Simulacao.getNumClientesPagamento()

+ "\n-------------------------Zona de Levantamento posto C1-----------------------------------------------------------"
+ "\n TempoOcupacaoLevantamentoC1= " + rotinas_Simulacao.getTempoOcupacaoLevantamentoC1()
+ "\n EstadoDeLevantamentoC1= " + rotinas_Simulacao.getEstadoDeLevantamentoC1()
+ "\n TempoPartidaPostoC1 = " + rotinas_Simulacao.getTempoPartidaPostoC1()

+ "\n------------------------BALCÃO B2------------------------------------------------------------"
+ "\n TempoOcupacaoLevantamentoC2= " + rotinas_Simulacao.getTempoOcupacaoLevantamentoC2()
+ "\n EstadoDeLevantamentoC2= " + rotinas_Simulacao.getEstadoDeLevantamentoC2()
+ "\n TempoPartidaPostoC2 = " + rotinas_Simulacao.getTempoPartidaPostoC2()

+ "\n\n-----------------------------PROXIMA ITERACAO----------------------------------------------\n"
+ " X1 = Tempo entre chegadas (desde a chegada anterior ate a proxima) \n X2 = Tempo de servico de quem entra para um servidor "); //Partida da tesuraria = abandono do sistema ou regresso aos balcões

Console.ForegroundColor = ConsoleColor.Red;
System.Console.WriteLine("\n Relogio = " + rotinas_Simulacao.getRelogio()
+ "\n Tipo de Evento = " + rotinas_Simulacao.getTipoDeEvento()
+ "\n TempoProximaChegada =" + rotinas_Simulacao.getTempoDaProximaChegada());

if (rotinas_Simulacao.getTipoDeEvento() == -1)
break; //Termina porque já não há mais chegadas nem partidas

switch (rotinas_Simulacao.getTipoDeEvento())
{ //Executar o evento mais próximo:
case 0:
rotinas_Simulacao.EventoChegadaA1();
rotinas_Simulacao.EventoChegadaA2();
rotinas_Simulacao.EventoChegadaA3();
rotinas_Simulacao.EventoChegadaA4();
rotinas_Simulacao.EventoChegadaA5();
rotinas_Simulacao.EventoChegadaA6();
rotinas_Simulacao.EventoChegadaA7();
rotinas_Simulacao.EventoChegadaA8();
rotinas_Simulacao.EventoChegadaA9();
rotinas_Simulacao.EventoChegadaA10();
break;
case 1:
rotinas_Simulacao.EventoPartidaA1();
break;
case 2:
rotinas_Simulacao.EventoPartidaA2();
break;
case 3:
rotinas_Simulacao.EventoPartidaA3();
break;
case 4:
rotinas_Simulacao.EventoPartidaA4();
break;
case 5:
rotinas_Simulacao.EventoPartidaA5();
break;
case 6:
rotinas_Simulacao.EventoPartidaA6();
break;
case 7:
rotinas_Simulacao.EventoPartidaA7();
break;
case 8:
rotinas_Simulacao.EventoPartidaA8();
break;
case 9:
rotinas_Simulacao.EventoPartidaPrioritarioA9();
break;
case 10:
rotinas_Simulacao.EventoPartidaPrioritarioA10();
break;
case 11:
rotinas_Simulacao.EventoPartidaPostoB1();
break;
case 12:
rotinas_Simulacao.EventoPartidaPostoB2();
break;
case 13:
rotinas_Simulacao.EventoPartidaPostoB3();
break;
case 14:
rotinas_Simulacao.EventoPartidaPostoB4();
break;
case 15:
rotinas_Simulacao.EventoPartidaPostoC1();
break;
case 16:
rotinas_Simulacao.EventoPartidaPostoC2();
break;
default: //= -1 podemos terminar já aqui e não precisamos passar à próxima iteração que será desnecessária
terminar = 1;
break;
}
if (terminar == 1)
break;
}

rotinas_Simulacao.ContadoresEstatisticos(TempoTotalSistema);

System.Console.ReadKey();
}
}
}