Ciao ragazzi mi servirebbe un aiuto per un programma in C clean, praticamente dovrei utilizzare il flusso d'entrata e d'uscita nei sottoprogrammi di lettura e di stampa a video. Quindi usare la libreria fstream. In poche parole dovrebbe prendere i dati e stamparli in due file di testo.
Vi rilascio il programma completo con flussi di lettura e di stampa a video.
#include <cstdlib>
#include <iostream>
#include <math.h>
const int N = 4;
using namespace std;
void leggiCerchi(int cerchi[N][3]) {
int i;
for(i = 0; i< N; i++) {
cout << "-------------------------------------------";
cout << "Cerchio " << i << endl;
cout << "Inserire le coordinate x e y del centro: ";
cin >> cerchi[i][0];
cin >> cerchi[i][1];
cout << "Inserire il raggio: ";
cin >> cerchi[i][2];
}
return;
}
void stampaCerchi(int cerchi[N][3]) {
int i;
for(i = 0; i< N; i++) {
cout << "-------------------------------------------";
cout << "Cerchio " << i << ":" << endl;
cout << "\tcentro: (" << cerchi[i][0] << ",\t" << cerchi[i][1]<< ")";
cout << "\traggio: " << cerchi[i][2];
cout << endl;
}
return;
}
float circonferenza(int cerchi[N][3],float c[N]) {
float pigreco = 3.14;
for(int i=0; i<N; i++) {
c[i]= (2*pigreco*cerchi[i][2]);
cout << "La circoferenza del cerchio " << i << " e': " << c[i];
cout << endl;
}
}
float sommaCirconferenza(int cerchi[N][3],float c[N]) {
float cTot=0;
for (int i=0; i<N; i++){
cTot+=c[i];
}
cout << "La somma delle circonferenze e' :" << cTot;
cout << endl;
return cTot;
}
bool contenuto(int cerchi[N][3],float c[N], float distanza[N]){
bool cipolla = false;
int i = 0;
int j = 0;
int contatore = 0;
for (i=0;i<N;i++) {
float distanza1 = (pow(((cerchi[i][0])-(cerchi[i+1][0])),2)) + (pow(((cerchi[i][1])-(cerchi[i+1][1])),2));
distanza[i] = sqrt(distanza1);
if((distanza[i]+(cerchi[i+1][2]))<=(cerchi[i][2])){
contatore++;
}
}
if (contatore==N-1) {
cipolla = true;
}
if (cipolla==true) {
cout << "OK" << endl;
} else {
cout << "NO" <<((N-1)-contatore) << endl;
}
return cipolla;
}
int main()
{
int cerchi[N][3];
float c[N];
float distanza[N];
leggiCerchi(cerchi);
stampaCerchi(cerchi);
circonferenza(cerchi,c);
sommaCirconferenza(cerchi,c);
contenuto(cerchi,c,distanza);
system("PAUSE");
return EXIT_SUCCESS;
}