Ir ao conteúdo

Posts recomendados

Postado

Sou iniciante em programação e estou desenvolvendo um programa em c++ para faculdade, mas está dando erro ao inserir os dados da av1 (avaliação). Tentei varias vezes encontrar o problema e sem sem sucesso, peço me deem pelo menos uma luz gente kkk

O programa deve gravar 2 alunos em espaços vazios e gravar a av1, av2, av3.

creio que o erro esteja no "inserirAv1" ou na forma como declarei a av1

 

#include<iostream>
#include<string>
#include<locale.h>


using namespace std;



#define totalAlunos 2 //DEFINE O TOTAL DE ALUNOS PARA UM VALOR CONSTANTE. USEM ESSA CONSTANTE PARA O VALOR MAXIMO DE UM LAÇO.



struct dadosAluno{
    string nome;
    float matricula, av1, av2, av3;


}aluno[totalAlunos];//STRUCT DOS DADOS DE TODOS OS ALUNOS



//PROTOTIPOS DAS FUNÇÕES
void exibeOpcoes(void); //EXIBE AS OPÇÕES
int posicaoVazia(void); //BUSCA A POSIÇÃO VAZIA PARA GRAVAR UM ALUNO
void inserirAluno(void);//INSERE UM ALUNO
void inserirAv1(void);//INSERE NOTA AV1



int main(void)
{
    setlocale (LC_ALL, "portuguese");
    
    int x = 0;
    int op = -1;
    
    for (x=0; x<totalAlunos; x++)//DEFINE TODOS OS VALORES DE "dadosAlunos" PARA VAZIO.
    {
        aluno[x].nome = "";
        aluno[x].matricula = 0;
        aluno[x].av1 = 0;
        aluno[x].av2 = 0;
        aluno[x].av3 = 0;
    }
    
    
    while (op != 0)//LAÇO DE REPETIÇÃO DAS OPÇÕES
    {
        exibeOpcoes();
        cin >> op;
        system ("CLS");
        
        switch (op)
        {
            case 0 : cout << "Encerrando o programa"; break;
            
            case 1 : inserirAluno(); break;
            
            case 5 : inserirAv1(); break; 
            
            default : cout << "Opção invalida!"<<endl<<endl;
        }

    }
        
}//FIM DO INT MAIN

//EXIBE O MENU DE OPÇÕES
void exibeOpcoes(void)
{
    cout << "Opções disponiveis:" <<endl<<endl;
    
    cout << "1 - Inserir um aluno."<<endl;
    cout << "2 - Editar um aluno."<<endl;
    cout << "3 - Excluir um aluno."<<endl;
    cout << "4 - Pesquisar um aluno por matrícula."<<endl;
    cout << "5 - Digitar notas de AV1."<<endl;
    cout << "6 - Digitar notas de AV2."<<endl;
    cout << "7 - Digitar notas de AV3."<<endl;
    cout << "8 - Exibir notas dos alunos."<<endl;
    cout << "9 - Exibir situação final."<<endl;
    cout << "10 - Exibir alunos em AV3."<<endl;
    cout << "0 - Sair"<<endl<<endl;
    
    cout << "Digite a opção desejada: ";
}//FIM DO EXIBE MENU opções

//BUSCA A POSIÇÃO QUE ESTÁ VAZIA PARA GRAVAR UM ALUNO
int posicaoVazia(void) 
{
    int x;
    
    for (x=0; x<totalAlunos; x++){
    if(aluno[x].matricula == 0){break;}
    }
    
    if (x==totalAlunos) return -1;
    else return x;
}//FIM DO BUSCAR POSIÇÃO VAZIA

//INSERE UM ALUNO
void inserirAluno(void)
{
    int posicao, x, y;
    posicao = posicaoVazia();
    
    if (posicao == -1)
    {
        cout<<"Não é possivel inserir mais nenhum aluno. Exclua ou edite um aluno para continuar."<<endl;
        cout<<"Exclua ou edite um aluno para continuar."<<endl<<endl;
    }
    else
    {    
        do
        {
            y=1;
            cout << "Digite o nome do aluno: ";
            cin >> aluno[posicao].nome;
            cout << "Digite a matricula do aluno: ";
            cin >> aluno[posicao].matricula;
            system("CLS");
            for (x=0; x<totalAlunos; x++)
            {
                if (posicao != x)
                {
                    if (aluno[posicao].matricula == aluno[x].matricula)
                    {
                        cout<<"A matricula "<<aluno[posicao].matricula<<" já pertence a um aluno."<<endl;
                        cout<<"Por favor informe outra matricula!"<<endl<<endl;
                        y=0;        
                    }                    
                }
            }            
        }while(y==0);
        cout << "O Aluno: "<<aluno[posicao].nome<<endl;
        cout << "Matrícula: "<<aluno[posicao].matricula<<endl;
        cout << "Foi cadastrado com sucesso!"<<endl<<endl;
    }
}//FIM DO INSERIR ALUNO

//INSERE A AV1
void inserirAv1(void)
{
    float buscaAv, nota=0;
    
    cout << "Informe a matricula do aluno: ";
    cin >> buscaAv;
    system("CLS");
    
    int busca = -1;
    
    int x;

    for(x=0; x<totalAlunos; x++)
    {
        if(aluno[x].matricula == buscaAv)
        {
            busca = x;
            break;
        }
    }
    
    if(busca == -1)
    {
        cout << "A matrícula não existe."<<endl;
        cout << "Por favor informe uma matrícula válida."<<endl<<endl;
    }
    else
    {
        cout << "Aluno: "<<aluno[busca].nome<<endl;
        cout << "Matrícula: "<<aluno[busca].matricula<<endl;
        cout << "Digite a nota da AV1: ";
        cin >> nota;

        if(nota>=0 && nota<=10)
        {
            if(nota>4)
            {
                aluno[busca].av1 = 0;
            }
            else
            {
                aluno[busca].av1 = nota;
            }
            
            cout<<"Nota Gravada com sucesso!"<<endl<<endl;
        
        }
        else
        {
            cout<<"Nota inválida!"<<endl<<endl;
        }
        
    }
}//FIM DO INSERE AV1

 

  • Curtir 1
Postado
            if(nota>4)
            {
                aluno[busca].av1 = 0;
            }
            else
            {
                aluno[busca].av1 = nota;
            }
            

Aqui tudo funcionou corretamente como está programado, a única coisa que achei estranha que é para notas acima de 4 ele recebe nota 0?

  • Curtir 1
  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!