Dovrei modificare questo programma in modo da poter utilizzare la classe nel main con un vettore.

di Anonimizzato28172 il
4 risposte
#include<iostream>
using namespace std;

class D {
int g,m,a;
bool val(int d,int m, int y);
public:
void out();
void mod(int gg,int mm,int aa);
D(int gg,int mm,int aa);
};
bool D::val(int d,int m, int y){
if((d > 31) || (m > 12))return 0;
else if((m==11 || m==4 || m==6 || m==9) && d > 30)return 0;
else if(y/4!=0 && m==2 && d > 28)return 0;
else return 1;
}
void D::out(){
if(g==0)cout << "data non valida";
else cout << endl << g << "." << m << "." << a << endl;
}
void D::mod(int gg,int mm,int aa){ if(val(gg,mm,aa)){g=gg;m=mm;a=aa;}
}
D::D(int gg,int mm,int aa){ if(val(gg,mm,aa)){g=gg;m=mm;a=aa;}
else{a=0;g=0;m=0;}
}
main(){
D d(11,2,70);
d.out();
d.mod(29,2,70);
d.out();
d.mod(22,8,95);
d.out();
}

4 Risposte

  • Se magari spieghi meglio il problema, inserisci il codice tra tag CODE e leggi il REGOLAMENTO del forum ...
  • Francesco Rossi ha scritto:



    
    #include<iostream>[code][code]
    [/code]
    using namespace std;

    class D {
    int g,m,a;
    bool val(int d,int m, int y);
    public:
    void out();
    void mod(int gg,int mm,int aa);
    D(int gg,int mm,int aa);
    };
    bool D::val(int d,int m, int y){
    if((d > 31) || (m > 12))return 0;
    else if((m==11 || m==4 || m==6 || m==9) && d > 30)return 0;
    else if(y/4!=0 && m==2 && d > 28)return 0;
    else return 1;
    }
    void D::out(){
    if(g==0)cout << "data non valida";
    else cout << endl << g << "." << m << "." << a << endl;
    }
    void D::mod(int gg,int mm,int aa){ if(val(gg,mm,aa)){g=gg;m=mm;a=aa;}
    }
    D::D(int gg,int mm,int aa){ if(val(gg,mm,aa)){g=gg;m=mm;a=aa;}
    else{a=0;g=0;m=0;}
    }
    main(){
    D d(11,2,70);
    d.out();
    d.mod(29,2,70);
    d.out();
    d.mod(22,8,95);
    d.out();
    }
  • Dovrei modificarlo in modo da usare un arrey di oggetti e avere lo stesso risultato cosi è comprensibile.
    Ho provato a fare una funzione apposita
    
    void D::D(int n,D date[]){
         	for (int i=0;i<n;i++)		 
         	date.insert();
    
  • Mi dispiace ma non ti riesci a spiegare... passo
Devi accedere o registrarti per scrivere nel forum
4 risposte