Ir ao conteúdo
  • Cadastre-se
Leonardo Lopes Paggiani

Problemas com métodos e listagem de vetores em c#

Recommended Posts

E ai galera, estou com problemas com uma atividade urgente da faculdade com vetores em C# .

Abaixo, programa que o professor passou em aula.

 

/* Programa de calouros Raul Gil 
 * FATEC-Itaquá - JCB - 06/09/2016 - Versão 0.0
 * Adaptado por Leonardo Lopes Paggiani - Curso: GTI 2° Semestre
 * */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RaulGil
{
    class Program
    {
        //  Atributos private - somente membros da classe enxergam
        /// <summary>
        /// Dimensionamento do programa
        /// </summary>
        private const int QTDE_MAX_CALOUROS = 20,
            QTDE_MIN_CALOUROS = 5,
            NOTA_MINIMA = 0,
            NOTA_MAXIMA = 10;
        private const char MASCULINO = 'M',         // sexo masculino
            FEMININO = 'F';                         // sexo feminino
        /// <summary>
        /// vetor de nomes dos calouros que irão cantar hoje
        /// </summary>
        private static string[] vetNomesCalouros;
        /// <summary>
        /// vetor de sexos dos calouros que irão cantar hoje
        /// M - masculino e F - feminino
        /// </summary>
        private static char[] vetSexosCalouros;
        /// <summary>
        /// vetor de notas dos calouros que irão cantar hoje
        /// A nota será 0 <= nota <= 10
        /// </summary>
        private static int[] vetNotasCalouros;
        /// <summary>
        /// Entry point do programa
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            int i,                          // indice e contador genérico
                nQtdeCalouros = 0,          // qtde de calouros de hoje
                nNotaTrono = -1;            // nota do calouro no trono
            string szTrono = string.Empty;  // nome do calouro no trono
            char cSexoTrono = ' ';          // sexo do calouro no trono
            // pedir uma quantidade válida de calouros
            do
            {
                Console.Write("Informe a quantidade de calouros entre " +
                    QTDE_MIN_CALOUROS + " e " + QTDE_MAX_CALOUROS +
                    Environment.NewLine +
                    "Ou zero para cancelar a execução do programa: ");
                nQtdeCalouros = Convert.ToInt32(Console.ReadLine());
                if (nQtdeCalouros == 0)          // cancelar?
                    return;                      // volta ao Sistema Operacional
            } while (nQtdeCalouros < QTDE_MIN_CALOUROS ||
                nQtdeCalouros > QTDE_MAX_CALOUROS); // loop até uma qtde válida
            // temos uma qtde válida - instanciar os vetores e dimensionar
            vetNomesCalouros = new string[nQtdeCalouros];
            vetNotasCalouros = new int[nQtdeCalouros];
            vetSexosCalouros = new char[nQtdeCalouros];

            // loop para receber os calouros que irão cantar hoje
            for (i = 0; i < nQtdeCalouros; i++)  // loop de qtde calouros
            {
                Console.Write(Environment.NewLine + "Nome do calouro de ordem " +
                    (i + 1) + " de " + nQtdeCalouros + ": ");
                vetNomesCalouros = Console.ReadLine();
                do
                {
                    Console.Write("Sexo do calouro " +
                        vetNomesCalouros + " (" +
                        MASCULINO + "-masculino e " +
                        FEMININO + "-feminino): ");
                    // digita um string converte para maiúscula e
                    // converte para char e armazena no vetor de sexo
                    vetSexosCalouros =
                        Convert.ToChar(Console.ReadLine().ToUpper());
                } while (vetSexosCalouros != MASCULINO &&
                    vetSexosCalouros != FEMININO); // loop até um sexo válido
                // pedir uma nota válida
                do
                {
                    Console.Write("Nota entre " + NOTA_MINIMA + " e " +
                        NOTA_MAXIMA + ": ");
                    vetNotasCalouros = Convert.ToInt32(Console.ReadLine());
                } while (vetNotasCalouros < NOTA_MINIMA ||
                    vetNotasCalouros > NOTA_MAXIMA); // loop de nota válida
                // verificar se esse calouro vai para o trono
                if (vetNotasCalouros > nNotaTrono)    // vai para o trono?
                {   // o calouro vai para o trono
                    nNotaTrono = vetNotasCalouros;    // nota do melhor calouro
                    szTrono = vetNomesCalouros;       // salva o nome do melhor
                    cSexoTrono = vetSexosCalouros;    // salva o sexo do melhor
                }
            } // for i
            // sabemos que cantou melhor
            Console.WriteLine("O melhor foi: " + szTrono +
                " Sexo: " + cSexoTrono + " Nota: " + nNotaTrono);
            Console.WriteLine("Digite qualquer tecla para continuar.....");
            Console.ReadKey();                             // pausa
        } // main
        /// <summary>
        /// Método que lista os vetores dos calouros
        /// </summary>
        /// <param name="vetNomes">endereço do vetor de nomes</param>
        /// <param name="vetSexos">endereço do vetor de sexos</param>
        /// <param name="vetNotas">endereço do vetor de notas</param>
        /// <param name="szCabecalho"></param>
        static void ListarCalouros(string[] vetNomes, char[] vetSexos, int[] vetNotas,
            string szCabecalho)
        {
            }
            // método para ordenar os vetores em ordem nota crescente
            // invocar o método que lista
            // método para ordenar os vetores em ordem alfabética 
            // invocar o método que lista

        }
    }
}
 

Eis o programa que o meu professor passou em sala e no final nos passou alguns parâmetros para seguir, a partir da nova "main".

O intuito dessa nova main é listar os vetores digitados pelo operador (Nome, Sexo e Nota). Só que há regras que o professor pediu para seguir, a maior é criar funções.

 

// método para ordenar os vetores em ordem nota crescente

// invocar o método que lista

// método para ordenar os vetores em ordem alfabética 

// invocar o método que lista

 

Esse é o que o professor quer que façamos, mas não consigo!!!

Já tentei com for, if, do...while ... Mas nada :/

Por favor, me ajudem ao menos com a estruturação.

Obs. não queria códigos prontos, só uma ajudinha pra abrir minha mente!!!

 

Valeuuu

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×