JasonEtco / create-an-issue

A GitHub Action for creating a new issue from a template file.
MIT License
258 stars 83 forks source link

SIGSEGV, segmentation fault #133

Closed BennyFonta closed 1 year ago

BennyFonta commented 1 year ago

include

include

include

include

using namespace std;

struct InfoAbitazione { double VCF, Aint, Amuri, Aest, VCIU, VCEU; int Abitanti; string Indirizzo;

};

double ValoreCatastaleNormalizzato (double A, double VCU, double N) {

double VCG, VCN;

VCG = A * VCU;
VCN = VCG * N;      
return VCN;

}

void ValoreCatastale (double Aint, double Amuri, double Aest, double VCIU, double VCEU, double &VCF) {

double A, VCU, N, VCNT;
int i;

for (i = 0; i < 2; i++) {

    if (i == 0) {
        A = Aint - Amuri;
        VCU = VCIU;
        N = 1.05;
    }

    if (i == 1) {
        A = Aest;
        VCU = VCEU;
        N = 1.072;
    }

    VCNT += ValoreCatastaleNormalizzato (A, VCU, N);
}

VCF = VCNT * 0.9899;

}

main()

{

int x,i; InfoAbitazione Casa [x];

cout << "Di quante case si vuole calcolare il valore catastale?\n"; cin >> x;

for (i = 0; i < x; i++) {

cout << "Per calcolare il valore catastale della abitazione numero "<<i+1<<" sono necessari alcuni dati riguardanti la planimetria\n\nSuperficie interna calpestabile: ";
cin >> Casa[i].Aint; 
cout << "Superficie interna occupata da mura: ";
cin >> Casa[i].Amuri; 
cout << "Superficie esterna: ";
cin >> Casa[i].Aest;
cout << "\n\nSono necessari inoltre i valori catastali unitari di qeust'anno riguardanti questa regione\n\nValore catastale unitario interno: ";
cin >> Casa[i].VCIU; 
cout << "Valore catastale unitario esterno: ";
cin >> Casa[i].VCEU;
cout << "\nInserire il numero di abitanti di quest'abitazione ";
cin >> Casa[i].Abitanti;
cout << "\nInserire l'indirizzo dell'abitazione";
cin >> Casa[i].Indirizzo;

ValoreCatastale (Casa[i].Aint, Casa[i].Amuri, Casa[i].Aest, Casa[i].VCIU, Casa[i].VCEU, Casa[i].VCF);
cout <<"\nIl valore catastale finale dell'abitazione "<<i+1<<" equivale a : "<<Casa[i].VCF<<"\n\n";
}

}

The code runs normally till: -- cin >> Casa[i].Abitanti; --. When it get there the program ends and it returns the value 3221225477. The debugger says the program received signal SIGSEGV, segmentation fault.