Array
(
)

Problema com Float

Ksedrez
   - 08 out 2007

Olá, pessoal to com um problema com um código. Na funçao ´lePositivo()´ ele tem q ler um valor float e ver se ele eh positivo, se for retorna ele, se nao continua solicitando que o user entre com um numero valido. o problema eh q no BCB da um erro na segunda leitura do float: ´invalid floating operation´ uma coisa assim...
o codigo eh o seguinte:

#Código


#include<iostream.h>
include<conio.h>

void sair()
{
system("cls");
cout<<"\t\tAplicativo fechado com sucesso.\n\n";
cout<<"\t\tPressione [ENTER] para sair.\n\n\t\t";
getch();
}
float lePositivo()
{
float num;
cin>>num;
if(num>0)
{
return num;
}
else
{
do
{
cout<<"\n\n";
cout<<"Valor invalido, entre com um novo valor positivo";
cin>num;
}while(num<=0);

return num;
}
}


float areaCirculo()
{
float raio,area,realRaio;
system("cls");
cout<<"AREA CIRCULO";
cout<<"\n\n";
cout<<"Digite o valor do raio (em centimetros): ";
realRaio=lePositivo();
cout<<"\n\n"<<realRaio;
getch();

}

void main()
{
int opc;
cout<<"\t\tEXERCICIO 5 - CSTSI - WINETU KAUE SEDREZ BILHALVA\n\n";
getch();

do
{
system("cls");
cout<<"\nEscolha a funcao:\n\n";
cout<<"Legenda:\n";
cout<<"[1] Area do Circulo\n[2] Area do Retangulo\n";
cout<<"[3] Area do Triangulo\n[4] Area Elipse\n";
cout<<"[5] Area do Trapezio\n[6] Sair";
cout<<"\n\n\t\t\tENTER COMMAND: ";
cin>>opc;

switch(opc)
{
case 1:
areaCirculo();
break;
case 6:
continue;
break;
}

}while(opc!=6);
sair();


}


Com int funciona blz! O problema eh o float. Ajuda aew, valeu ..