vitaohugo
(usa Outra)
Enviado em 02/11/2016 - 21:05h
Implemente um algoritmo que receba 10 idades diferentes e informe em que ano nasceu cada pessoa com as idades
inseridas. Considere que estamos em 2016 e o mês de nascimento e mês atual não importa.
Deve ser utilizado obrigatoriamente vetores para guardar as idades e os anos de nascimento.
Passos:
i. Dê boas vindas ao usuário e explique brevemente a funcionalidade do programa.
ii. Inicialize as variáveis.
iii. Solicite ao usuário que insira dez idades. Utilize a função “for” para variar as posições do vetor e a função “while” para
não permitir que seja inserida idade inexistente. (idade[i] ≥ 0)
iv. Calcule os anos de nascimento e guarde os respectivos valores no vetor ano[i].
v. Calcule também a média aritmética entre as idade inseridas.
vi. Utilizando a função “for” imprima as idades inseridas e seus respectivos anos de nascimento, crie uma frase para tal
atividade de forma que o usuário compreenda perfeitamente do que se trata.
vii. Imprima após a média entre as idades inseridas.
viii. Ao fim do programa, permita o usuário escolher se deseja realizar novo cálculo.
O meu programa ficou assim :
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main()
{
int idade[N], i, ano_nasc[N], soma=0;
char outro;
printf("Oi!\n");
do {
for (i=0; i<N; i++) {
printf("Informe a idade da %dª pessoa: ", i+1);
scanf("%d", &idade[i]);
while (idade[i] < 0) {
printf("Idade inválida. Reinforme a idade da %dª pessoa: ", i+1);
scanf("%d", &idade[i]);
}
ano_nasc[i] = 2016 - idade[i];
soma += idade[i];
}
for (i=0; i<N; i++)
printf("Idade: %d\tAno de nascimento: %.4d\n", idade[i], ano_nasc[i]);
printf("Média das idades: %.2f\n\n", (float) soma / N);
while (getchar() != '\n'); /* Limpa buffer de entrada */
printf("\nOutro cálculo [S/N]: ");
scanf("%c", &outro);
} while (toupper(outro) != 'N');
return 0;
}
mas ele tem alguns pobremas que nao consigo resolver ,tipo as idades tem que ser diferente uma da outra mas ele aceita idades iguis e ele tambem ta aceitando letras como idade