AGRADECIMENTO...

Pessoal, Gostaria de pedir desculpas aqueles que deixam perguntas/comentários/elogios/críticas e ainda não foram respondidos.

Aproveito a oportunidade para informar a todos que devido a correria do dia a dia não conclui o curso de BSI, por isso meus conhecimentos são limitados rsrsrs...

Ainda não retirei o blog do ar porque tem ajudado a diversos estudantes, principalmente os iniciantes.

As vezes, quando o trabalho me permite, ainda arrisco tentar resolver algumas questões rs... mas para não deixar esse blog parar no tempo, o ESTUDANTE que quiser enviar a resolução de alguma questão (código próprio) para o meu e-mail, terei o prazer de posta-la neste blog e será mantido a autoria.

Desde já agradeço a todos pelas visitas e desejo bons estudos.

Thiago Campos
(srthiago@hotmail.com)

quarta-feira, 27 de junho de 2012

Cadastro de aluno e notas - Uso de funções e vetores

Escrever um aplicativo que possa armazenar o nome, as duas notas e a média dos alunos de uma turma. O aplicativo deverá apresentar o seguinte menu:

1 - Cadastrar aluno
2 - Consultar dados de aluno
3 - Alterar dados de aluno
4 - Consultar media da turma
5 - Sair

Implementar cada uma das opções. A média de um aluno é calculada pela média ponderada das notas, sendo que a primeira nota tem peso 3 e a segunda nota tem peso 7.

Código Java


//Autor: Thiago Campos
//Data: 26.06.2012

/**
 *
 * @author Thiago
 */
import java.util.Scanner;

public class Questao03 {

    public static float mediaT = 0; //media da turma
    public static int tam = 50; //var que indica o tamando dos vetores   
    //vetores
    public static Scanner leia = new Scanner(System.in);
    public static int ver[] = new int[tam]; //vetor de verificação
    public static String nome[] = new String[tam]; //vetor que armazena o nome
    public static float nota1[] = new float[tam]; //vetor que armazena a nota1
    public static float nota2[] = new float[tam];  //vetor que armazena a nota2
    public static float media[] = new float[tam];  //vetor que armazena a nota2

    public static void main(String[] args) {
        //declaração de variaveis  
        int menu = 0; //var do menu
        int k = 0; //var usada para indicar o novo cadastro
        int d = 0; //var usada para armazenar a qtd de alunos
        String alterar; //armazena o nome que terar suas notas alteradas
        do {
            System.out.print("\nInforme a opção desejada:"
                    + "\n1 - Cadastrar aluno"
                    + "\n2 - Consultar dados de aluno"
                    + "\n3 - Alterar dados de aluno"
                    + "\n4 - Consultar media da turma"
                    + "\n5 - Sair\n->");
            menu = leia.nextInt();

            switch (menu) {
                case 1:
                    System.out.println("\nOpção 1:\nCADASTRAR UM NOVO ALUNO\n...");

                    d = Cadastrar(k, d); //função cadastrar - retornando d

                    k += 1; //preserva o aluno cadastrado anteriormente
                    break;
                case 2:
                    System.out.println("\nOpção 2:\nCONSULTA DO CADASTRO DE ALUNOS\n...");

                    Consultar(ver); //função consultar
                    break;
                case 3:
                    System.out.println("\nOpção 3: \nALTERAR AS NOTAS DE UM ALUNO CADASTRADO\n...");
                    System.out.println("Informe o nome do aluno para alterar as notas:");
                    alterar = leia.nextLine();
                    alterar = leia.nextLine();

                    Alterar(alterar); //função Alterar
                    break;
                case 4:
                    System.out.println("\nOpção 4:\nCONSULTAR A MÉDIA DA TURMA\n...");

                    mediaT = Media(mediaT) / d; //função media dividido por numero de alunos cadastrados

                    System.out.printf("A média da turma é %.2f\n", mediaT);

                    mediaT = 0; //zerar a var para uma nova consulta
                    break;
                case 5:
                    System.out.println("\nOpção 5:\nPrograma fechado.\n...");
                    break;
                default:
                    System.out.println("Opção Errada");
                    break;
            }
        } while (menu != 5);

    } //fim do main

    /**
     * .................FUNÇÃO PARA CADASTRAR UM NOVO ALUNO....................
     */
    public static int Cadastrar(int k, int d) {
        for (int i = k; i < nome.length; i++) {
            System.out.println("Informe o nome do aluno " + (i + 1) + ":");
            nome[i] = leia.nextLine();
            nome[i] = leia.nextLine();
            ver[i] = 1; //informa que esta entrada está ativa
            d += 1; //conta a qtd de aluno
            System.out.print("Informe a nota 1 do aluno " + (i + 1) + ":");
            nota1[i] = leia.nextFloat();
            System.out.print("Informe a nota 2 do aluno " + (i + 1) + ":");
            nota2[i] = leia.nextFloat();
            media[i] = (nota1[i]*3 + nota2[i]*7) / 10;
            break;
        }
        return (d);
    } //fim da Função cadastrar

    /**
     * ................FUNÇÃO PARA CONSULTAR CADASTRO DE ALUNO.................
     */
    public static void Consultar(int ver[]) {
        for (int i = 0; i < nome.length; i++) {
            if (ver[i] == 1) {
                System.out.println((i + 1) + ") " + nome[i] + " - notas: " + nota1[i]
                        + ", " + nota2[i] + " - média:" + media[i]);
            } //fim do for
        }
    } //fim da funçao Consultar

    /**
     * ................FUNÇÃO PARA ALTERAR CADASTRO DE ALUNO.................
     */
    public static void Alterar(String alterar) {
        for (int i = 0; i < nome.length; i++) {
            if (alterar.equalsIgnoreCase(nome[i])) {
                System.out.print("Informe a primeira nota do aluno " + nome[i] + ":");
                nota1[i] = leia.nextFloat();
                System.out.print("Informe a segunda nota do aluno " + nome[i] + ":");
                nota2[i] = leia.nextFloat();
                media[i] = (nota1[i]*3 + nota2[i])*7 / 10;
            }
        }
    } //fim da função Alterar

    /**
     * ................FUNÇÃO PARA ALTERAR CADASTRO DE ALUNO.................
     */
    public static float Media(float mediaT) {
        for (int i = 0; i < nome.length; i++) {
            mediaT = mediaT + media[i];
        }
        return mediaT;
    } //fim da função Media   
} //fim da classe

Um comentário:

  1. Boa noite Thiago! Sou Antonio Bernardo,moro na cidade de Teresina-PI, é com muito prazer que me dirigo a você. Estou iniciando meus estudos em java e estou utilizando o códifo que você postou para aprendizado. Gostaria de saber como ficaria o método deletar.

    ResponderExcluir