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 danisj
      #include<iostream>
      using namespace std;
      int BuscaBin (int lista[], int baixo, int alto, int chave)
      {
          int central;
          int valorcentral;
          while (baixo <= alto)
          {
              central = (baixo + alto)/2;
              valorcentral = lista[central];
              if (chave == valorcentral)
                  return central;
              else if (chave < valorcentral)
                  alto = central -1;
              else
                  baixo = central + 1;
          }
      }
      int main()
      {
          int a[10];
          int chave, pos;
          cout << "Introduza uma lista de 10 inteiros:";
          for (pos = 0; pos < 10; pos++)
              cin >> a[pos];
          cout << "Introduza chave a buscar:";
          cin >> chave;
          pos = 0;
          while ((pos = BuscaBin(a, 0, 9, chave))!= -1)
          {
              pos++;
          }
          cout << chave << " está na lista "  << " vezes na lista " << endl;
      }
          
      O objetivo é inserir uma lista e resultar  numa busca binária e ele retornar a chave, não posso alterar a função BuscaBin
    • By Nwband
      programar um determinado programa pf
       
      Preciso de um programa em C que seja capaz de ler uma frase com ate 100 caracteres e imprimi-la, conseguir identificar quantas letras maiusculas e minusculas tem na frase e escreve-la ao contrario
    • By Auface
      Pessoal estou iniciando na programaçaoem C e tenho este trabalho para fazer.
       
      Ajudem por favor , programação em C, e não tenho a minima ideia de como fazer, o enunciado é em inglês e está, neste link, é o exercício B(building a field).
      http://maratona.ime.usp.br/hist/2018/resultados18/contest_onesided.pdf
      Por enquanto eu fiz isso, mas não tenho certeza se começo assim.eu acho também que tenho que fazer este exercício a partir de um arquivo e lendo ele, mas também n sei como fazer.
       
      #include <stdio.h> int main() {     float x1,y1,x2,y2;     printf("Ponto 1: \n");     scanf("%f %f",&x1,&y1);     printf("Pont 2: \n");     scanf("%f %f",&x2,&y2);     printf("%.4f\n",(sqrt(pow(x2-x1,2)+pow(y2-y1,2))));     return 0; }
    • By eduardobraz
      Corrigir dois erros:
       
      entrada:
      10 4
      -93 -86 49 -62 -90 -63 40 72 11 67
       
      Saída
      NAO
      6
      5
      4
      2
      1
       
      Mais com esse está assim
      NAO
      1
      3
      4
      5
       
       
      #include <stdio.h>
      int main(){
          int n, k, i, j, cont, vetor[1000], aux, po;
          while (1){
              
              scanf("%d %d", &n, &k);
              
              if(n <= 1000 && n >= 0 && k <= 1000 && k >= 0){
                  
                  break;
                  
              }
          }
          for(i = 0; i < n; i++){
              
              scanf("%d", &vetor);
              
          }
          for(i = 0; i < n; i++){
          
              if(vetor <= 0){
                  cont++;
              }
          }
          if(cont >= k){
              printf("NAO\n");
              for(i=1; i<n; i++){
                  if (vetor <= 0){
                      aux = vetor;
                      po=i;                 
                      printf("%d\n", po);
                  }
              }
          }
          else{
              printf("SIM\n");
          }
      }
    • By Matex5
      Sua tarefa é implementar uma árvore de busca binária que armazene strings. A ordem de inserção deverá ser alfabética crescente, ou seja, se o valor do elemento da raiz for “iguana”, então a palavra “beterraba” deverá ser inserida na subárvore da esquerda, enquanto a palavra “pagode” deverá ser inserida na subárvore da direita.
      Devem ser declaradas a struct e implementadas as seguintes funções da árvore:
      • criar(): inicialização da árvore.
      • buscar(): busca de um elemento na árvore.
      • inserir(): inserção de um elemento na árvore.
      • remover(): remove um elemento da lista.
      • estaVazia(): retorna um booleano indicando se a árvore está vazia.
      • ehEstritamenteBinaria(): retorna um booleano indicando se a árvore é estritamente binária.
      • ehQuaseCompleta(): retorna um booleano indicando se a árvore é quase completa.
      • ehCompletaCheia(): retorna um booleano indicando se a árvore é completa (cheia).
      • preOrdem(): visita e imprime os elementos da árvore em PRÉ-ORDEM (“RED”).
      • emOrdem(): visita e imprime os elementos da árvore EM-ORDEM (“ERD”).
      • posOrdem(): visita e imprime os elementos da árvore em PÓS-ORDEM (“EDR”). Após implementar a estrutura de dados, escreva um programa em C/C++ que permita ao usuário executar as funções acima

×

Important Information

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