Domanda

Sono nuovo a C ++ e alla programmazione in generale. Sto provando piccoli programmi solo per sporcarti la mano. Di seguito è riportato un programma che ho creato per calcolare il volume di un cono.

Problema: non importa cosa faccio l'output è sempre un numero intero . Voglio portarlo a due punti decimali. Ho provato a cambiare le variabili in doppio e lungo doppio per ottenere una precisione più alta e nulla funziona.

Come posso risolvere questo problema? E perché sta accadendo? (In dettaglio se possibile) Finora ho anche chiesto a pochi docenti junior di UNI nessuno mi ha dato una risposta adeguata.

int main (){ 
    float radius,length,volume ;
    const float PI =22/7.0f;
    cin >> radius >> length;
    volume =1/3.0f *radius*radius*length;
    cout << "Volume is " << volume <<endl;
    return 0;
}

Sto usando G ++ su Fedora

EDIT: ho provato presto questo con input come 50 60/70 50 /120 40 che dà numeri interi. Input più piccoli come 3 4 danno decimali.

Modifica: setPrecision () Works. Grazie per tutti per aver inviato questo

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top