Zackk Postado Junho 14, 2010 Denunciar Share Postado Junho 14, 2010 Para esse algoritmo preciso usar vetores, a função #define e criar minhas funções sempre que possivel./*01) Faça um programa que leia a idade de 10 alunos e armazene num vetor. Depois imprima a média de idade da turma, o aluno mais velho,o aluno mais novo, e o total de alunos com mais de 18 anos.*/#include<stdio.h>#include<stdlib.h>int med = 0;float media(float n1,int j){ med = n1/j; return med;}int main(){ int alunos[10], maiorid = 0, cont = 0, i,menorid = 150; float somaid = 0; for(i = 0; i < 10; i++){ do{ printf("\n\nInforme a idade o aluno %d : ",i + 1); scanf("%d",&alunos); if(alunos < 0 || alunos > 150){ printf("\n\n\aIdade invalida!!"); } }while(alunos < 0 || alunos > 150); somaid += alunos; if(maiorid < alunos){ maiorid = alunos; } if(menorid > alunos){ menorid = alunos; } if(alunos > 18){ cont++; } } system("cls"); printf("\n\nA media de idade dos alunos é : %.2f",media(somaid/i)); printf("\nA maior idade foi : %d\nA menor idade foi : %d\nHa %d alunos com mais de 18 anos",maiorid,menorid,cont);}Ele esta dando erro e não sei como usar o #define,se alguém pudesse me ajudar a usar o #define e ele esta dando erro na linha 11 e 39.Ah e eu uso o compilado codeblocks.Se alguém puder me ajudar, eu agradeceria, obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Miltonlp Postado Junho 15, 2010 Denunciar Share Postado Junho 15, 2010 Bom dia,Não entendi o porque do uso do define, mas de qualquer forma o #define, "define" um valor para uma variável. Essa variável será SEMPRE esse valor.Por exemplo, a linha#define A 10 Esse valor em nenhum momento poderá ser alterado no programa. Vamos agora ao erro no programa. Na função você passa desse jeito no printf media([B]somaid/i[/B]) Nessa linha você não passa os parâmetros da função, pelo que entendi você está tentando dividir os dois não é? Mas isso é feito DENTRO da função, além do que, não é uma maneira correta de passar parâmetros para a função. Tente assim media(somaid, i)Dessa forma estará correto. Tente agora e veja se compila.Aqui compilou normal, apesar de que fiz outras modificações, caso precisa poste a duvidaAtt Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Zackk
Para esse algoritmo preciso usar vetores, a função #define e criar minhas funções sempre que possivel.
/*01) Faça um programa que leia a idade de 10 alunos e armazene num vetor. Depois imprima a média de idade da turma, o aluno mais velho,
o aluno mais novo, e o total de alunos com mais de 18 anos.*/
#include<stdio.h>
#include<stdlib.h>
int med = 0;
float media(float n1,int j){
med = n1/j;
return med;
}
int main(){
int alunos[10], maiorid = 0, cont = 0, i,menorid = 150;
float somaid = 0;
for(i = 0; i < 10; i++){
do{
printf("\n\nInforme a idade o aluno %d : ",i + 1);
scanf("%d",&alunos);
if(alunos < 0 || alunos > 150){
printf("\n\n\aIdade invalida!!");
}
}while(alunos < 0 || alunos > 150);
somaid += alunos;
if(maiorid < alunos){
maiorid = alunos;
}
if(menorid > alunos){
menorid = alunos;
}
if(alunos > 18){
cont++;
}
}
system("cls");
printf("\n\nA media de idade dos alunos é : %.2f",media(somaid/i));
printf("\nA maior idade foi : %d\nA menor idade foi : %d\nHa %d alunos com mais de 18 anos",maiorid,menorid,cont);
}
Ele esta dando erro e não sei como usar o #define,se alguém pudesse me ajudar a usar o #define e ele esta dando erro na linha 11 e 39.
Ah e eu uso o compilado codeblocks.
Se alguém puder me ajudar, eu agradeceria, obrigado.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.