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