Erro ao mostrar menor valor

1. Erro ao mostrar menor valor

VInicius Vidima
xSliMx

(usa Outra)

Enviado em 15/05/2016 - 23:35h

Pessoal, quando ele vai mostrar o menor valor ele não mostra e sim outro qualquer sou iniciante ainda nao sei como resolver

#include <stdio.h>
#include <stdlib.h>

void main()
{
float i,media,soma=0,contador=0,maiorv=0,menorv=0;
for(;i!=-1;){
printf("Digite um numero ou -1 para sair: ");
scanf("%f",&i);
if(i!=-1){
contador++;
soma=soma+i;
menorv=i;

if(i>maiorv){
maiorv=i;
} if(i<menorv){
menorv=i;

}
}
media=soma/contador;
}
printf("%2.1f e a media e o maiorvalor e %2.1f e o menor valor e %2.1f ",media,maiorv,menorv);
}


  


2. Re: Erro ao mostrar menor valor

Paulo
paulo1205

(usa Ubuntu)

Enviado em 16/05/2016 - 08:46h

Primeiro você testa a condição de parada, e depois você lê o valor da variável usada para testar tal condição. Será que essa é a ordem certa?

Fora isso, o programa tem outros problemas:

1) O tipo de retorno de main() tem de ser int; usar void é uma violação direta do padrão, que infelizmente se popularizou, apesar de todo o erro, por causa de dois produtos de muita penetração no mundo do C: o livro “C: The Complete Reference” (traduzido em Português como “C Completo e Total”), de Herbert Schildt, e os compiladores da Borland (Turbo C, Turbo C++ e Borland C++), cuja documentação está cheia de exemplos que usam void.

2) Já que o tipo de retorno de main() é int, você deve retornar um valor inteiro quando o programa terminar. Por convenção, o valor zero tipicamente indica que a execução foi bem sucedida, e valores diferentes de zero costumam ser usados para sinalizar diferentes tipos de erro. Os padrões mais recentes do C aceitam omitir o comando return em main() se você quiser que ela retorne zero (sucesso), mas a versão original do padrão (que ainda é usada por padrão em vários compiladores) precisa que você coloque tal comando no seu programa.

3) Também a lista de parâmetros de main() diverge do que prescreve o padrão. Com lista vazia, o C entende que a função pode ser chamada com qualquer quantidade de argumentos de quaisquer tipos. O padrão diz que, se você não quiser argumentos, deve usar void na lista de parâmetros; se os quiser, deve ter exatamente dois parâmetros: o primeiro do tipo int, e com sentido de contador da quantidade de strings no segundo argumento, e o segundo que tem tipo char **, e funciona como vetor de strings.

4) Possivelmente seria mais apropriado usar inteiros para o contador.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts