Problema com Float

08/10/2007

1

[b:b4b58ac13a]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:

#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 ..[/b:b4b58ac13a]


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira