Ciao a tutti!
Sono nuovo e ho cominciato a programmare con C++ da circa 3 settimane. Ho creato questo programma che, in base ai dati inseriti calcola diversi dati incogniti di un triangolo.
C'è però un problema: se inserisco tutti i dati lasciando incognitiIl lato BC e AB (la base) il programma dovrebbe, prima calcolare AB (area diviso altezza), poi BC, conoscendo il perimetro e i due lati AB e CA (perimetro meno AB meno CA), invece lascia BC incognito e restituisce errore!!
Qualcuno saprebbe dirmi come fare??![]()
Grazie in anticipo!
codice:#include <iostream> using namespace std; int main() { double AB=0, BC=0, CA=0, p=0, A=0, h=0; cout<<"Benvenuto!\ngrazie a questo programma puoi calcolare dati incogniti di un triangolo\n a partire dal quelli conosciuti\ninserisci i dati del problema scrivendo '0' per quelli incogniti...\n\n\n" <<" C"<<endl <<" *"<<endl <<" * *"<<endl <<" * *"<<endl <<" * * * * * *"<<endl <<" A B"<<endl<<endl<<endl; cout<<"AB:"; cin>>AB; cout<<"BC:"; cin>>BC; cout<<"CA:"; cin>>CA; cout<<"p:"; cin>>p; cout<<"A:"; cin>>A; cout<<"h:"; cin>>h; cout<<endl<<endl<<"Ecco i risultati:"<<endl<<endl; if(AB==0) AB=p-BC-CA; if(BC==0) BC=p-AB-CA; if(CA==0) CA=p-BC-AB; if(p==0) p=AB+BC+CA; if(A==0) A=AB*h; if(h==0) h=A/AB; if(AB==0) AB=A/h; if(BC==0) BC=p-AB-CA; if(CA==0) CA=p-BC-AB; if(p==0) p=AB+BC+CA; if(A==0) A=AB*h; if(h==0) h=A/AB; cout<<"AB:"<<AB<<endl; cout<<"BC:"<<BC<<endl; cout<<"CA:"<<CA<<endl; cout<<"p:"<<p<<endl; cout<<"A:"<<A<<endl; cout<<"h:"<<h<<endl; if(AB==0||BC==0||CA==0||A==0||p==0||h==0)cout<<"ERRORE!! DATI INSUFFICENTI PER ELABORARE!\a\a\a\n\n"; }

Rispondi quotando

