Jump to content
vinicius.benedito98

Dúvida com vetor em C++

Recommended Posts

Faça um Programa em Linguagem C que receba o nome e a nota de 180 alunos de uma sala e armazene em vetor. Calcule e mostre: 
- A média da sala; 
- O nome do aluno com a maior nota; 
- O nome do aluno com a menor nota; 
- Os nomes dos alunos aprovados;

O meu código é esse :

#define N 180 
int main() { 
int i, ind_maior, ind_menor; 
float nota[N], soma=0, media, min_aprov=7; 
char nome[N][50]; 
for (i=0; i printf("Informe o nome do %dº aluno: ", i+1); 
gets(nome); 
printf("Informe a nota do %dº aluno: ", i+1); 
scanf(" %d ", &nota); 
soma += nota

media = soma / N; 
printf("\nMédia da sal: %.2f\n", media); 
ind_menor = ind_maior = 0; 
for (i=1; i if (nota < nota[ind_menor]) 
ind_menor = i; 
if (nota > nota[ind_maior]) 
ind_maior = i; 

printf("Menor nota: %s com %.2f\n", nome[ind_menor], nota[ind_menor]); 
printf("Maior nota: %s com %.2f\n", nome[ind_maior], nota[ind_maior]); 
printf("Aprovados:"); 
for (i=0; i if (nota >= min_aprov) 
printf("\t%s com: %.2f\n", nome, nota); 

return 0; 
}


Porém quando vou executa-lo, o programa pede para inserir o nome e nota do aluno apenas uma vez, e fica por isso, ele não exibe os resultados, alguém pode me ajudar ?

Share this post


Link to post
Share on other sites

Você pode fazer isso com o laço for

 

for(int i=0; i < 180; i++) {
    printf("Digite o nome e a nota do aluno: ");
    scanf("%s %f", nomeDoAluno, notaDoAluno);
  
    if(maiorNota == NULL) {
        maiorNota = notaDoAluno;
        maiorNotaNomeDoAluno = nomeDoAluno;
        menorNota = notaDoAluno;
        menorNotaNomeDoAluno = nomeDoAluno;
    }else if(maiorNota < notaDoAluno){
        maiorNota = notaDoAluno;
        maiorNotaNomeDoAluno = nomeDoAluno;
    }
     if(menorNota > notaDoAluno) {
        menorNota = notaDoAluno;
        menorNotaNomeDoAluno = nomeDoAluno;
     }
    somaTotal += notaDoAluno;
}

Tenta implementar isso no código, o laço Pega a maior nota, a menor e a Soma total de todas as notas.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By nixfb
    • By pachecok
      Estou iniciando em programação e tenho um trabalho em C que devo:
       
      Construir um programa que leia uma matriz 7x7 de inteiros.
      Após a leitura, calcular o somatório apenas dos elementos abaixo destacados da matriz lida.
      Mostre, os elementos destacados e o somatório.
       
      A soma deve ser entre as posições da matriz refentes a imagem em anexo. 
      É esta a dificuldade que eu encontrei, não sei os passos para realizar esta soma em específico então provavelmente a minha tentativa abaixo foi bizarra. 
       
      Alguém poderia me ajudar? Agradeço desde já. 
       
      #include<stdio.h> #include<conio.h> #define linha 7 #define coluna 7 int main (void ) { int i, j, matriz[linha][coluna], result, soma; printf ("\nDigite valor para os elementos da matriz\n\n"); for ( i=0; i<linha; i++ ){ for ( j=0; j<coluna; j++ ){ printf ("\nElemento[%d][%d] = ", i, j); scanf ("%d", &matriz[ i ][ j ]); } } for ( i=0; i<linha; i++ ){ for ( j=0; j<coluna; j++ ){ printf ("%i", matriz[i][j]); } printf("\n"); } for ( i=0; i<linha; i++ ){ for ( j=0; j<coluna; j++ ){ result=result+matriz[i][j]; } } for ( i=0; i<linha; i++ ){ for ( j=0; j<coluna; j++ ){ soma=soma+matriz[3][3]+matriz[4][2]+matriz[4][3]+matriz[4][4]+matriz[5][1]+matriz[5][2]+matriz[5][3]+matriz[5][4]+matriz[5][5]+matriz[6][0]+matriz[6][1]+matriz[6][2]+matriz[6][3]+matriz[6][4]+matriz[6][5]+matriz[6][6]; } } printf("\n\nA soma de todos valores da matriz: %d\n", result); printf("\n\nA soma dos valores solicitados: %d\n", soma); }  

    • By Lauts
      programa
      {
          inclua biblioteca Matematica
          
          funcao inicio()
          {
              inteiro hom=0, mul=0, rsim=0, rnao=0, rhsim=0, rmsim=0, n, t=4
              real psim, pnao
              caracter sexo, resp
              (n == t)
          {
              leia ("Informe o Sexo: ", sexo)
              leia ("Gostou do produto (S/N): ", resp)
              se (sexo =='1')
              {
                  hom = hom + 1
                  se (resp == '1')
              {
                  rmnao = rmnao + 1
              }
              }
              senao
              {
                  se (sexo == '2')
              {
                  mul = mul + 1
                  se (resp == '2')
              {
                  rhsim = rhsim + 1    
              }    
              }
              }
                  se (resp == '1')
              {
                  rsim = rsim +1            
              }
                  senao
              {
                  se (resp == '2')
              {
                  rnao = rnao +1
              }
              }
          n = n  + 1
          }
              psim = 100 * (rmsim / t)
              pnao = 100 * (rhnao / t)
          }
              escreva ("Quantidade de pessoas que responderam sim: ", rsim)
              escreva ("Quantidade de pessoas que responderam não: ", rnao)
              escreva ("Porcentagem de mulheres que responderam sim: ", psim)
              escreva ("Porcentagem de homens que responderam não: ", pnao)
      }
    • By Kvalo
      estou tentando fazer um programa que verifique 3 valores e informe o maior, o menor e se forem iguais! oq ta errado 
       
      #include<stdio.h>
      #include<stdlib.h>
      #include<locale.h>
      int main()
      {
          setlocale(LC_ALL,"Portuguese");
          int maior,menor;
          float a,b,c;
          printf("\n\tDigite 3 valores: \n");
          scanf("%f%f%f",&a,&b,&c);
          if (a>b&&a>c)
          {
              maior=a;
          }
          else{}
          if (b>a&&b>c)
          {
              maior=b;
          }
          else{}
          if(c>a&&c>b)
          {
              maior=c;
          }
          if (a<b&&a<c)
          {
              menor=a;
          }
          else{}
          if(b<a&&b<c)
          {
              menor=b;
          }
          else{}
          if(c<a&&c<b)
          {
              menor=c;
          }
          else{}
          if (a==b&&b==c&&a==c)
          {
              printf("\n\tValores iguais\n\n");
          }
          else{}
          printf("\n\tO maior é: %d\n\tO menor é: %d\n\n",maior,menor);
          system("pause");
          return 0;
      }
       
    • By cristhianbrd
      Crie uma estrutura chamada pessoa que seja
      capaz de armazenar o nome, o endereço, o CPF
      e a idade de 5 pessoas. fiz ate uma parte do código mas fica dando uns erros 
      #include <iostream> #include <cstdlib> #include <cstring> typedef struct pessoa { char nome[60]; char endereco[60]; float cpf; int idade; }Pessoa; int main (){ cout << "Digite O Nome De alguem" << endl; cin >> pessoa.nome; cout << "Digite o Endereço Da Pessoa" << endl; cin >> pessoa.endereco; cout << "Digite o Cpf da Pessoa" << endl; cin >> pessoa.cpf ; cout << "Digite a Idade Da Pessoa" << endl; cin >> pessoa.idade ;  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.