예제 #1
0
        static void Main()
        {
            /* Aula introdutoria
             *  int quantidadeVezes = 100;
             *
             *  for(int contador = 1; contador <= quantidadeVezes; contador++){
             *      Console.WriteLine(" Contador: " + contador + " Quantidade de vezes: " +  quantidadeVezes);
             *      Console.WriteLine($" Contador: {contador} Quantidade de vezes: {quantidadeVezes}");
             *  }
             *
             *  Console.WriteLine("/");
             */

            /* Aula Pilha
             * var pilha = new Pilha();
             *
             * pilha.Empilha(2);
             * pilha.Empilha(3);
             * pilha.Empilha(1);
             *
             * Console.WriteLine(pilha.Desempilha());
             * Console.WriteLine(pilha.Desempilha());
             * Console.WriteLine(pilha.Desempilha());
             *
             * // Testar o exception
             * // Console.WriteLine(pilha.Desempilha());
             *
             */

            /* Fila */
            var fila       = new Fila();
            var nomeMusica = "Dont stop the music";

            fila.Enfileirar(nomeMusica);

            nomeMusica = "Como eu quero";
            fila.Enfileirar(nomeMusica);

            fila.Desenfileirar();
            fila.Desenfileirar();
        }
예제 #2
0
        static void Main(string[] args)
        {
            /*Quando o programa inicia ja cria-se o arquivo de saída.*/
            FileStream arquivo = new FileStream("Out.txt", FileMode.Create);

            arquivo.Close();

            /*A fila é preenchida com os índices do pool (A fila sempre deve conter os mesmos indices segundo o tamanho do pool).*/
            Console.WriteLine("=========================");
            Console.WriteLine("Disparando requisições...");
            Console.WriteLine("=========================");
            for (int i = 0; i < pool.Length; i++)
            {
                fila.Enfileirar(i);
            }

            /*Dispara o metodo de gerar requisição a cada 1 segundo durante o intervalo do for.*/
            for (int i = 1; i <= 60; i++)
            {
                CriarRequisicao(i);
                Console.Title = "Tempo: " + i;
                Thread.Sleep(1000);
            }

            /*Após o término da geração de requisições aguarda até a ultima thread ser executada, quando a fila tem o mesmo
             * tamanho do pool significa que todos os índices estão disponíveis.*/
            Console.WriteLine("=========================\n" +
                              "Aguardando a última thread ser atendida...." +
                              "\n=========================");
            while (fila.GetTamanho() != pool.Length)
            {
                //Espera
            }

            /*Ao final do programa é impresso a quantidade de threads negadas, atendidas e finalizadas.*/
            Console.WriteLine("=========================");
            Console.WriteLine("======= RESULTADO =======");
            Console.WriteLine("=========================");
            Console.WriteLine("Negadas: " + perdidas);
            Console.WriteLine("Atendidas: " + finalizadas);
            Console.WriteLine("Inicializadas: " + inicializadas);
            Console.WriteLine("Concluídas: " + finalizadas);
            Console.ReadKey();
        }
예제 #3
0
        private void button2_Click(object sender, EventArgs e)
        {
            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri("http://localhost:4000/");

            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = client.GetAsync("Alunos/" + textBox1.Text).Result;

            if (response.StatusCode.ToString().Equals("NotFound"))
            {
                MessageBox.Show("Aluno não encontrado.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                client.Dispose();
                limparTela();
                return;
            }

            response = client.GetAsync("Disciplina/" + textBox3.Text).Result;

            if (response.StatusCode.ToString().Equals("NotFound"))
            {
                MessageBox.Show("Disciplina não encontrada.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                client.Dispose();
                limparTela();
                return;
            }

            response = client.GetAsync("Matricula/" + textBox1.Text + "/" + textBox3.Text).Result;

            if (response.StatusCode.ToString().Equals("NotFound"))
            {
                MessageBox.Show("Matrícula não encontrada.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                client.Dispose();
                limparTela();
                return;
            }

            response = client.GetAsync("Resultado/" + textBox1.Text + "/" + textBox3.Text).Result;

            if (!response.StatusCode.ToString().Equals("NotFound"))
            {
                MessageBox.Show("Este resultado já foi cadastrado.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                client.Dispose();
                limparTela();
                return;
            }

            client.Dispose();

            for (int i = 0; i < fila.GetQtd(); i++)
            {
                if (fila.Get(i).RA == short.Parse(textBox1.Text) && fila.Get(i).Cod == short.Parse(textBox3.Text))
                {
                    MessageBox.Show("O dado já foi inserido!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    limparTela();
                    return;
                }
            }

            dataGridView1.Rows.Add();
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = textBox1.Text;
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[1].Value = textBox3.Text;
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[2].Value = textBox4.Text;
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[3].Value = textBox2.Text;

            Resultados res = new Resultados(short.Parse(textBox1.Text), int.Parse(textBox3.Text), float.Parse(textBox4.Text), float.Parse(textBox2.Text));

            fila.Enfileirar(res);
            limparTela();
            button2.Enabled = false;
            button1.Enabled = true;
        }