Potreste dirmi dove sbaglio?
devo scrivere il seguente programma :
• Scrivere un programma C++ che legge i dati relativi ad una sequenza di
rettangoli, calcola e stampa a video il numero di rettangoli che giacciono sul
primo quadrante e hanno una diagonale maggiore di 7.0.
• Ogni rettangolo è rappresentato da quattro interi, corrispondenti alle
coordinate x e y del vertice in basso a sinistra e del vertice in alto a destra.
• La lettura dei rettangoli si deve interrompere quando l'utente inserisce i dati
relativi ad un rettangolo con altezza e larghezza pari a zero.
il problema è che una volta letti i rettangoli non esegue le istruzioni successive...
#include <iostream>
#include <math.h>
using namespace std;
void leggiRettangolo(int& xBassoSn, int& yBassoSn, int& xAltoDs, int& yAltoDs) {
cout << " leggi coordinate del punto in alto a destra " << endl;
cin >> xAltoDs;
cin >> yAltoDs;
cout << " leggi coordinate del punto in basso a sinistra " << endl;
cin >> xBassoSn;
cin >> yBassoSn;
return;
}
bool fineLettura(int xBassoSn, int yBassoSn, int xAltoDs, int yAltoDs) {
float base, altezza;
bool continua;
base = yAltoDs-yBassoSn;
altezza = xAltoDs-xBassoSn;
if (base == 0 && altezza == 0){
continua = true;
}else{
continua = false;
}
return continua;
}
float calcolaDiagonale(int xBassoSn, int yBassoSn, int xAltoDs, int yAltoDs) {
float base, altezza, diagonale;
base = yAltoDs-yBassoSn;
altezza = xAltoDs-xBassoSn;
diagonale = sqrt(base*base+altezza*altezza);
return diagonale;
}
bool nelPrimoQuadrante(int xBassoSn, int yBassoSn, int xAltoDs, int yAltoDs){
bool continua;
float base, altezza;
base = yAltoDs-yBassoSn;
altezza = xAltoDs-xBassoSn;
if (base>0 && altezza>0){
continua = true;
}else{
continua = false;
}
return continua;
}
int main () {
int xBassoSn, yBassoSn, xAltoDs, yAltoDs;
int x1, y1, x2, y2;
int contaRettangoli = 0;
bool continua = true;
leggiRettangolo(xBassoSn, yBassoSn, xAltoDs, yAltoDs);
if (nelPrimoQuadrante(x1,y1,x2,y2) && calcolaDiagonale(x1,y1,x2,y2) > 7.0){
contaRettangoli++;
}
if (fineLettura(x1,y1,x2,y2)){
cout << " stop " << endl;
}
cout << " numero rettangoli richiesti " << contaRettangoli << endl;
system("pause");
}