Ir ao conteúdo

Posts recomendados

Postado

 o programa le as idades de 10 alunos, eu preciso ter funções nesse código e não estou conseguindo fazer, eu tive a ideia de passar o resultado do vetor para criar outras funções para a média, menor idade, maior idade, porém tranquei nisso.

#include <stdio.h>

int main(){
    int a, maior=0, menor=0,soma=0;
    float vetor[10],media;
soma =  0;
printf("informe as idades dos alunos\n");
for (a=0;a<10;a++){
      printf("idade %d : ", a+1);
      scanf("%f", &vetor[a]);

if (vetor[a] <=  14 & vetor[a] >=4 ){
       printf("\nele e do fundamental\n\n\n");}
       else{(vetor[a] > 14  );
              printf("\nele nao e do fundamental\n\n\n");
              return 0;}

      if(a==0){maior=vetor[a];menor=vetor[a];}
      if(vetor[a]>maior){
        maior=vetor[a];
         }
      else{
        if(vetor[a]<menor){
            menor=vetor[a];
            }
         }
    soma = soma + vetor[a];
    media = (float) soma / 10;

    }


    printf("\nmedia =%.2f\n  ", media);
    printf("\na maior idade: %d\n", maior);
    printf("\na menor idade: %d\n\n", menor);


    return 0;
}

 

Postado

Olá, bom dia.

No começo quando eu estava aprendendo funções em linguagem de programação eu tive um pouco de dificuldades para assimilar elas, lembro que o primeiro exercício que minha professora passou sobre esse assunto eu quase ia fazendo uma formula de uma função de segundo grau 🤣🤣🤣🤣, mas não era nada disso, é mais fácil do que parece.

 

Pelo o que eu entendo, a função de uma função (🤣) é meio que reutilizar uma determinada parte do código, passando ou não parâmetros para ela, seja para printar algo na tela ou ate mesmo para fazer cálculos matemáticos, veja o exemplo abaixo:

 

1793736847_Capturadetelade2021-04-0908-54-59.png.616d06fc7c1eef8f7e654f58c73477d5.png

 

Como você pode ver no exemplo acima eu criei uma função chamada hello que apenas printa na tela a palavra hello mais uma variável que eu passo para a função como sendo um parâmetro com o nome name, dessa forma podemos executar essa parte do código varias vezes passando um nome diferente toda vez que chamarmos ela, isso é no minimo interessante não acha?

 

No caso do seu código podemos criar funções para receber os dados, printar os dados na tela, retornar a media, retornar o maior e o menor numero, dessa forma aqui:

 

#include <stdio.h>

int receberIdades(int idades[10]){
  int i;
  for(i = 0; i < 10; i++){
    printf("\nInforme a idade do aluno %d: ", i + 1);
    scanf("%d", &idades[i]);
  }
  return 0;
}

int media(int idades[10]){
  int i, soma, media;
  for(i = 0; i < 10; i++){
    soma = soma + idades[i];
  }
  media = soma / 10;
  return media;
}

int menorValor(int idades[10]){
  int i, menorValor;
  for(i = 0; i < 10; i++){
    if(menorValor > idades[i])
      menorValor = idades[i];      
  }
  return menorValor;
}

int maiorValor(int idades[10]){
  int i, maiorValor;
  for(i = 0; i < 10; i++){
    if(maiorValor < idades[i])
      maiorValor = idades[i];      
  }
  return maiorValor;
}

int main() {
  int idades[10];
  
  receberIdades(idades);
  printf("\nA media he : %d", media(idades));
  printf("\nO menor valor he : %d", menorValor(idades));
  printf("\nO maior valor he : %d", maiorValor(idades));
  
    return 0;
}
  

 

A saída para esse código deve ficar assim: 

 

image.png.6a503b85b92c4b6362f2fd8cb9ab0c23.png

 

 

Então é isso, espero ter ajudado.

 

Postado

esse código que você mandou ta dando bug na maior idade e na média

 

engraçado, no codeblocks da bug mas no site online c compiler funciona

já fiz os ajustes, extremamente grato  um bom final de semana

Postado
1 hora atrás, 907467 disse:

esse código que você mandou ta dando bug na maior idade e na média

Tente iniciar as variáveis das funções. No caso da média atribuindo 0 a soma e nas outras o primeiro valor do vetor, p.ex:

 

int i, menorValor = idades[0];

 

  • 3 anos depois...
Postado

@907467

 

Boa Tarde

 

O Problema

... le as idades de 10 alunos, eu preciso ter funções nesse código e não estou conseguindo fazer (...).

 

 

Uma sugestãp

Funções e programas são semelhantes e existem para produzir uma resposta a uma pergunta em 3 etapas (pelo menos): entrada, processamento e saída.

 

Aqui está suas 3 funcões >Ler

                                         >Calcular

                                         >Mostrar

 

Por exemplo,

 

C'11 - gcc11.4

#include <stdio.h>

typedef int idade;

/* solicita e captura n idade's */
int ler (idade alunos[], size_t n);
int main (void) {
  idade alunos[10];
  size_t n= sizeof alunos/ sizeof(alunos[0]);
  int r= ler (alunos,n);
  printf ("%s%d%s%c","Leu: ",r," aluno(s)",'\n');
  return 0;
  }


int
ler (idade alunos[], size_t n) {
  int answer= 0;
  printf ("%s","Informe ");
  int w= printf ("%zu",n);
  printf (" decimais como idades dos alunos\n");
  for (size_t i= 0 ; i<n ; ++i) {
    alunos[i]= -1;
    printf ("idade do aluno %*zu: ",w,i+ 1);
    int r= scanf ("%d",&alunos[i]);
    if (r==EOF) {
       perror ("Falhou na informação de alunos");
       return 0;
       }
    if (r==1) ++answer;
    while (EOF!=(r= getchar ()) && '\n'!=r);
    }
  return answer;
  } 

 

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...