Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...