/*
**************************************************************************
**************************************************************************
**************************************************************************
CUIDADO JA ESTA COM A SOLUÇÂO!!
**************************************************************************
**************************************************************************
**************************************************************************
*/
#include <stdio.h>
#include <stdlib.h>
#define TAMANHO_VETOR 10
void exibirMenu();
/*
//TODO: Pessoal nosso cõdigo ainda pode apresentar
um comportamento indesejado. Ajustar para representar melhor
quando o vetor estiver vazio - Desafio próxima semana.
*/
int main()
{
printf("Controle de Dados:\n");
int valores[TAMANHO_VETOR];
int posicaoAtual = 0;
int continuar = 1;
int opcao;
int valor;
int maior, indiceMaior;
//*********************************************************
//SOLUÇÃO
int menor, indiceMenor;
do{
exibirMenu();
printf("Informe um valor:");
scanf("%i", &opcao);
switch(opcao){
case 0:
printf("Obrigado!\n");
continuar = 0;
break;
case 1:
printf("Informe o valor:");
scanf("%i", &valor);
//Colocar o valor dentro do vetor
if(posicaoAtual < TAMANHO_VETOR){
valores[posicaoAtual] = valor;
posicaoAtual++;
} else {
printf("Vetor esta cheio!\n");
}
break;
case 6:
//Mostra o vetor
printf("Exibe o conteudo do vetor:\n");
for(int i =0 ; i < posicaoAtual ; i++){
printf("No indice: %i temos: %i\n",i, valores[i]);
}
break;
case 2:
if(posicaoAtual != 0){
maior = valores[0];
indiceMaior = 0;
for(int i = 0; i< posicaoAtual; i++){
if(valores[i] > maior){
maior = valores[i];
indiceMaior = i;
}
}
printf("Maior valor %i que esta na posicao %i\n", maior, indiceMaior);
} else {
printf("Vetor vazio!\n");
}
break;
//*********************************************************
//SOLUÇÃO
case 3:
if(posicaoAtual != 0){
menor = valores[0];
indiceMenor = 0;
for(int i = 0; i< posicaoAtual; i++){
if(valores[i] < menor){
menor = valores[i];
indiceMenor = i;
}
}
printf("Menor valor %i que esta na posicao %i\n", menor, indiceMenor);
} else {
printf("Vetor vazio!\n");
}
break;
//*********************************************************
//SOLUÇÃO
case 4:
if(posicaoAtual != 0){
float soma;
for(int i= 0; i < posicaoAtual; i++){
soma += valores[i];
}
float media = soma/posicaoAtual;
printf("Valor médio: %.3f\n", media);
} else {
printf("Vetor vazio!\n");
}
break;
//*********************************************************
//SOLUÇÃO
case 5:
if(posicaoAtual > 0){
posicaoAtual--;
}
break;
default:
printf("Opcao Invalida\n");
break;
}
}while(continuar);
return 0;
}
void exibirMenu(){
printf("1 - Adicionar valor\n");
printf("2 - Maior valor\n");
printf("3 - Menor valor\n");
printf("4 - Valor Medio\n");
printf("5 - Remover valor (ultimo)\n");
printf("6 - Mostrar vetor!\n");
printf("0 - Sair\n");
}
Comments