programação em c

1. programação em c

Victor Hugo freire cardoso
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


  


2. Re: programação em c

Paulo
paulo1205

(usa Ubuntu)

Enviado em 03/11/2016 - 03:24h

vitaohugo escreveu:

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


Para fazer com que as idades sejam distintas, você terá de verificar se a idade digitada bate com alguma das outras que tenham sido digitadas anteriormente.

Quanto à validação da entrada, você terá de testar o valor de retorno da função scanf(), pois ela pode não completar com sucesso a operação de leitura (por exemplo, se você digitar letras numa leitura de valor numérico). E se você perceber que a função falhou, terá de tratar a causa da falha (seguindo com o exemplo, você teria de tirar as letras do caminho antes de tentar uma nova leitura do valor numérico).






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts