Ir ao conteúdo

Posts recomendados

Postado
#include <iostream>
#include <string.h>
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <stdio.h>

using namespace std;

  /*Criando a struct */
  
struct dados_aluno
  {
    char nome[50];
    char disciplina[50];
    float nota_prova1;
    float nota_prova2;
    float nota_prova3;
    float nota_prova4;
    float media_nota;
    int situacao;
    int idade;
  };

dados_aluno Aluno [5];  /*Criando a variável aluno que será do
  tipo struct dados_aluno */
int i;
main()
{

  setlocale(LC_ALL, "Portuguese");
  cout<<" \n---------- Cadastro de Alunos -----------\n\n\n";
  for (i=0; i<5;i++)
  {
  cout<<"\n \n Informe os dados do:  "<<i+1<< "º Aluno";
  cout<<"\n Nome do aluno ......: ";
  fflush(stdin); //Para limpar o buffer em Windows, use o: fflush(stdin) 
  gets(Aluno[i].nome);
  cout<<" \n Disciplina ......: ";
  fflush(stdin);
  gets(Aluno[i].disciplina);
  cout<<"\nInforme a Idade do Aluno ..: ";
  cin>>Aluno[i].idade;
  cout<<"\nInforme a 1a. nota ..: ";
  do
  {
  	cin>>Aluno[i].nota_prova1;
  	if (Aluno[i].nota_prova1<0 || Aluno[i].nota_prova1>10 )
  	{
  	  cout<<"\n Favor digitar notas entre 0 e 10";
	  cout<<"\n Favor digitar novamente a nota da prova 1:   ";
  	  cin>>Aluno[i].nota_prova1;	 	  	
	 }
  }while (Aluno[i].nota_prova1<0 || Aluno[i].nota_prova1>10 );
  cout<<"\nInforme a 2a. nota ..: ";
  do
  {
  cin>>Aluno[i].nota_prova2;
  if (Aluno[i].nota_prova2<0 || Aluno[i].nota_prova2>10 )
  {
  	cout<<"\n Favor digitar notas entre 0 e 10";
	cout<<"\n Favor digitar novamente a nota da prova 2 :   ";
  	cin>>Aluno[i].nota_prova2;	 	  	
  }
  }while (Aluno[i].nota_prova2<0 || Aluno[i].nota_prova2>10 );
 
  cout<<"\nInforme a 3a. nota ..: ";
  do
  {
  cin>>Aluno[i].nota_prova3;
  if (Aluno[i].nota_prova3<0 || Aluno[i].nota_prova3>10 )
  {
   cout<<"\n Favor digitar notas entre 0 e 10";
   cout<<"\n Favor digitar novamente a nota da prova 3 :   "; 
   cin>>Aluno[i].nota_prova3;	 	
	  }
  }while (Aluno[i].nota_prova3<0 || Aluno[i].nota_prova3>10 );
  cout<<"\nInforme a 4a. nota ..: ";
  do
  {
   cin>>Aluno[i].nota_prova4;
   if (Aluno[i].nota_prova4<0 || Aluno[i].nota_prova4>10 )
  	{
  	  cout<<"\n Favor digitar notas entre 0 e 10";
	  cout<<"\n Favor digitar novamente a nota da prova 4 :   ";
  	  cin>>Aluno[i].nota_prova4;	  	
    }
  }while (Aluno[i].nota_prova4<0 || Aluno[i].nota_prova4>10 );
 }
   for (i=0; i<5;i++)
   {
   	Aluno[i].media_nota=(Aluno[i].nota_prova1+Aluno[i].nota_prova2+Aluno[i].nota_prova3+Aluno[i].nota_prova4)/4;	
   }
 
   for (i=0; i<5;i++)
   {
   	if (Aluno[i].media_nota>=7)	
	{
   	Aluno[i].situacao=1;	
    }
    else
    {
    Aluno[i].situacao=0;
	}
   }
  cout<<"\n\n --------------------------------------------------";
  cout<<"\n\n --------- IMPRIMINDO os dados da struct ---------";
  for (i=0; i<5;i++)
  {
  cout<<"\n\n ____________________________________________________";
  cout<<"\n\n Nome ...........:";
  puts (Aluno[i].nome);
  cout<<"\n Disciplina .....: ";
  puts(Aluno[i].disciplina);
  cout<<"\n Idade do Aluno ...: " << Aluno[i].idade;
  cout<<"\n Nota da Prova 1 ...: " << Aluno[i].nota_prova1;
  cout<<"\n Nota da Prova 2 ...: " << Aluno[i].nota_prova2;
  cout<<"\n Nota da Prova 3 ...: " << Aluno[i].nota_prova3;
  cout<<"\n Nota da Prova 4 ...: " << Aluno[i].nota_prova4;
  cout<<"\n Média do Aluno ...: " << Aluno[i].media_nota;
  if (Aluno[i].situacao==1)
  {
  cout<<"\n Aluno Aprovado ";
  }
  else if (Aluno[i].situacao==0)
  {
  cout<<"\n Aluno Reprovado";	
  }
  }
   

}

Boa noite, não to conseguindo rodar esse código

adicionado 11 minutos depois

*Erro*

 

 

Screenshot from 2020-06-10 20-13-14.png

Postado

conio.h é exclusivo de Windows.

adicionado 58 minutos depois
  • Fiz algumas modificações em prol da organização e alguma otimizações de performance.
  • Removi cabeçalhos inúteis.
  • Portei o código para C++ puro. Removi coisas que não pertencem à linguagem c++
#include <iostream>

using namespace std;

typedef struct {
    string nome;
    string disciplina;
    double nota1;
    double nota2;
    double nota3;
    double nota4;
    double media;
    bool situacao;
    int idade;
} Aluno;

int main() {
    setlocale(LC_ALL, "Portuguese");

    const int quantidade = 5;

    Aluno alunos[]{
            (Aluno) {"", "", 0, 0, 0, 0, 0, false, 0},
            (Aluno) {"", "", 0, 0, 0, 0, 0, false, 0},
            (Aluno) {"", "", 0, 0, 0, 0, 0, false, 0},
            (Aluno) {"", "", 0, 0, 0, 0, 0, false, 0},
            (Aluno) {"", "", 0, 0, 0, 0, 0, false, 0}
    };

    cout << "------------------------------------------------------------ \n"
         << "-------------------- CADASTRO de Alunos -------------------- \n"
         << "------------------------------------------------------------ \n";

    for (int i = 0; i < quantidade; i++) {
        cout << "Informe os dados do " << (i + 1) << "º aluno \n"
             << "Nome ..........................: ";
        getline(cin, alunos[i].nome);
        cout << "Disciplina ....................: ";
        getline(cin, alunos[i].disciplina);
        cout << "Idade .........................: ";
        cin >> alunos[i].idade;
        cin.ignore();

        do {
            cout << "Informe a 1ª nota [ 0 - 10 ] ..: ";
            cin >> alunos[i].nota1;
            cin.ignore();
        } while (alunos[i].nota1 < 0 || alunos[i].nota1 > 10);

        do {
            cout << "Informe a 2ª nota [ 0 - 10 ] ..: ";
            cin >> alunos[i].nota2;
            cin.ignore();
        } while (alunos[i].nota2 < 0 || alunos[i].nota2 > 10);

        do {
            cout << "Informe a 3ª nota [ 0 - 10 ] ..: ";
            cin >> alunos[i].nota3;
            cin.ignore();
        } while (alunos[i].nota3 < 0 || alunos[i].nota3 > 10);

        do {
            cout << "Informe a 4ª nota [ 0 - 10 ] ..: ";
            cin >> alunos[i].nota4;
            cin.ignore();
        } while (alunos[i].nota4 < 0 || alunos[i].nota4 > 10);

        alunos[i].media = (alunos[i].nota1 + alunos[i].nota2 + alunos[i].nota3 + alunos[i].nota4) / 4;
        alunos[i].situacao = alunos[i].media >= 7;

        if (i + 1 < quantidade) {
            cout << "\n";
        }
    }

    cout << "------------------------------------------------------------ \n\n\n"
         << "------------------------------------------------------------ \n"
         << "--------------- IMPRIMINDO os dados da struct -------------- \n"
         << "------------------------------------------------------------ \n";

    for (int i = 0; i < quantidade; i++) {
        cout << "Nome ..............: " << alunos[i].nome << "\n"
             << "Disciplina ........: " << alunos[i].disciplina << "\n"
             << "Idade do Aluno ....: " << alunos[i].idade << "\n"
             << "Nota da Prova 1 ...: " << alunos[i].nota1 << "\n"
             << "Nota da Prova 2 ...: " << alunos[i].nota2 << "\n"
             << "Nota da Prova 3 ...: " << alunos[i].nota3 << "\n"
             << "Nota da Prova 4 ...: " << alunos[i].nota4 << "\n"
             << "Média do Aluno ....: " << alunos[i].media << "\n"
             << "Situação ..........: " << (alunos[i].situacao ? "Aprovado" : "Reprovado") << "\n";

        if (i + 1 < quantidade) {
            cout << "\n";
        }
    }

    cout << "------------------------------------------------------------ \n";
    return EXIT_SUCCESS;
}

 

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!