PDA

View Full Version : [C++]Controllo esercizio


maestrale
05-06-2008, 23:16
Ciao a tutti,
Da qualche settimana ho iniziato lo studio del C++,dopo qualche difficoltà ho trovato un buon manuale,per la cronaca "Fondamenti di programmazione in C++"di Luis joyanes Aguilar....A fine di ogni capitolo ci sono degli esercizi con soluzioni ma haimè in un capitolo queste non sono presenti....:confused: :cry: ....

Vi chiedo solo di dare un'occhiata a come ho svolto uno di questi esercizi e dirmi se c'è qualcosa che non va perchè alla fine mi rende dei valori strani tipo...3.5462e-11..:mbe:

Esercizio
La forza di attrazione di due masse m1 e m2
separate da una distanza d è data dalla formula:

F=(G*m1*m2)/d(al quadrato) //non so come mettere l'esponente:muro:

Dove G=(6.673*10(alla -8))è la costante di gravitazione
universale.Scrivere un programma che legga la distanza
dei due corpi e la loro distanza e ottenga la forza di attrazione.


Svolgimento

#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
int m1,m2;
float d;
double F;
double GRAVITA ;
GRAVITA=pow(1.0/10.0,8.0);
cout<<"inserire m1 e m2 e la ditsanza d"<<endl;
cin>>m1>>m2>>d;
F=(GRAVITA*m1*m2)/pow(d,2);

cout<<F<<endl;

system ("PAUSE");
return EXIT_SUCCESS;
}

Grazie a tutti quelli che risponderanno
ciao

wingman87
05-06-2008, 23:26
GRAVITA non l'hai inizializzata bene. Ad ogni modo è normale ottenere valori molto piccoli se in input non dai valori molto grandi (per le masse).

maestrale
06-06-2008, 00:13
Wow grazie per la risposta velocissima:)

Ho aggiunto la costante e ora è:

double GRAVITA ;
GRAVITA=6.673*(pow(1.0/10.0,8.0));

Cosa intendi che non è inizializzata bene...non è un double?o mancava il 6.673?

Cmq provando con numeri molto grandi alle masse escono valori più plausibili....:p :D

grazie

wingman87
06-06-2008, 13:58
Cosa intendi che non è inizializzata bene...non è un double?o mancava il 6.673?

La seconda, adesso va bene.

Cmq provando con numeri molto grandi alle masse escono valori più plausibili....:p :D

grazie
Di nulla :)