AIUTOOOO!!!! Risolvere un'Esercizio con le CLASSI C++

di Anonimizzato5321 il
5 risposte
Amici vi Prego aiutatemi, ho la necessità di risolvere quest'esercizio

Creare la Classe OROLOGIO con le ore,minuti e secondi.I metodi della classe consentono di azzerare l'orario,correggere l'ora,leggere l'orario completo con ORE,MINUTI,SECONDI.

Vi PREGO so che per qualcuno di voi risulta facilissimo se potete mi servirebbero anche qualche commento per poterlo capire al meglio.
Ovviamente la classe può essere inserita direttamente nel corpo del programma, ancora ci devo arrivare a farlo funzionare al di fuori del "corpo programma"
GRAZIE DI CUORE a presto ciao

5 Risposte

  • Prima posta qualcosa di quello che hai fatto, anche se non funzionante....
  • asd ha scritto:


    prima posta qualcosa di quello che hai fatto, anche se non funzionante....
    Beh Scusami hai proprio ragione ma a volte è più facile farne uno nuovo che cercare di modificare il mio con qualche errore.
    #include<iostream>
    using namespace std;

    #include<iostream>
    using namespace std;

    class Orologio{
    //Attributi
    int ore,minuti,secondi;
    public:
    //metodi
    void AzzeraOra(int h,int m,int s){ //Dove h,m,s sono rispettivamente le variabile che gestiscono l'ora minuti e secondi
    ore=h;
    minuti=m;
    secondi=s;
    }
    void CorreggiOra(int h, int m, int s){
    ore=h;
    minuti=m;
    secondi=s;
    }
    void LeggereOra(int h, int m, int s){
    ore=h;
    minuti=m;
    secondi=s;
    }
    int main(){
    Orologio Quarz;
    int scelta;
    do {
    // menu delle scelte
    cout<<" 1 Azzera Orologio"<<endl;
    cout<<" 2 Correggi Ora"<<endl;
    cout<<" 3 Visualizza Ora"<<endl;
    cin>>scelta;
    switch(scelta) {
    case 1:
    AzzeraOra();
    break;
    case 2:
    CorreggiOra();
    break;
    case 3:
    LeggereOra();
    break;
    }

    } while (scelta !=3);
    return 0;
    }
    void Azzera(){
    h=0;
    m=0;
    s=0;
    return;
    }
    void CorreggiOra(){
    cout<<"Inserisci Ora"<<endl;
    cin>>h;
    cout<<"Inserisci Min"<<endl;
    cin>>m;
    cout<<"Inserisci Sec"<<endl;
    cin>>s;
    }
    void LeggereOra(){
    cout<<"Orologio segna :"<<endl;
    cout<<h<< " : ";
    cout<<m<<" : ";
    cout<<s<<" : ";
    return;
    }
    QUESTO è come stavo cercando di farlo io ma mi da un sacco di errori che nn so nemmeno da dove inizare..sono errori stupidi o di logica??
    AIUTATEMI VI PREGO
    GRAZIE
  • O crei l'instanza dell'oggetto Orologio in globale in modo tale da essere vista in tutto il modulo, oppure alle funzioni che chiami dal menu passi come parametro un puntatore all'instanza dell'oggetto.
    #include<iostream>
    using namespace std;

    #include<iostream>
    using namespace std;

    class Orologio{
    //Attributi
    int ore,minuti,secondi;
    public:
    //metodi
    void AzzeraOra(int h,int m,int s){ //Dove h,m,s sono rispettivamente le variabile che gestiscono l'ora minuti e secondi
    ore=h;
    minuti=m;
    secondi=s;
    }
    void CorreggiOra(int h, int m, int s){
    ore=h;
    minuti=m;
    secondi=s;
    }
    void LeggereOra(int h, int m, int s){
    ore=h;
    minuti=m;
    secondi=s;
    }
    int main(){
    Orologio Quarz;
    int scelta;
    do {
    // menu delle scelte
    cout<<" 1 Azzera Orologio"<<endl;
    cout<<" 2 Correggi Ora"<<endl;
    cout<<" 3 Visualizza Ora"<<endl;
    cin>>scelta;
    switch(scelta) {
    case 1:
    AzzeraOra(&Quarz);
    break;
    case 2:
    CorreggiOra(&Quarz);
    break;
    case 3:
    LeggereOra(&Quarz);
    break;
    }

    } while (scelta !=3);
    return 0;
    }
    void Azzera(Orologio *quarz){
    h=0;
    m=0;
    s=0;
    quarz->Azzera();
    return;
    }
    void CorreggiOra(Orologio *quarz){
    cout<<"Inserisci Ora"<<endl;
    cin>>h;
    cout<<"Inserisci Min"<<endl;
    cin>>m;
    cout<<"Inserisci Sec"<<endl;
    cin>>s;
    quarz->CorreggiOra();
    }
    void LeggereOra(Orologio *quarz){
    cout<<"Orologio segna :"<<endl;
    cout<<h<< " : ";
    cout<<m<<" : ";
    cout<<s<<" : ";
    quarz->LeggereOra();
    return;
    }

    non l'ho testato.
  • CI SONO MOLTI PIU' ERRORI DEL MIO E CMQ NN RIESCO A VENIRNE FUORI
    GRAZIE LO STESSO


    Overflow ha scritto:


    o crei l'instanza dell'oggetto Orologio in globale in modo tale da essere vista in tutto il modulo, oppure alle funzioni che chiami dal menu passi come parametro un puntatore all'instanza dell'oggetto.
    #include<iostream>
    using namespace std;

    #include<iostream>
    using namespace std;

    class Orologio{
    //Attributi
    int ore,minuti,secondi;
    public:
    //metodi
    void AzzeraOra(int h,int m,int s){ //Dove h,m,s sono rispettivamente le variabile che gestiscono l'ora minuti e secondi
    ore=h;
    minuti=m;
    secondi=s;
    }
    void CorreggiOra(int h, int m, int s){
    ore=h;
    minuti=m;
    secondi=s;
    }
    void LeggereOra(int h, int m, int s){
    ore=h;
    minuti=m;
    secondi=s;
    }
    int main(){
    Orologio Quarz;
    int scelta;
    do {
    // menu delle scelte
    cout<<" 1 Azzera Orologio"<<endl;
    cout<<" 2 Correggi Ora"<<endl;
    cout<<" 3 Visualizza Ora"<<endl;
    cin>>scelta;
    switch(scelta) {
    case 1:
    AzzeraOra(&Quarz);
    break;
    case 2:
    CorreggiOra(&Quarz);
    break;
    case 3:
    LeggereOra(&Quarz);
    break;
    }

    } while (scelta !=3);
    return 0;
    }
    void Azzera(Orologio *quarz){
    h=0;
    m=0;
    s=0;
    quarz->Azzera();
    return;
    }
    void CorreggiOra(Orologio *quarz){
    cout<<"Inserisci Ora"<<endl;
    cin>>h;
    cout<<"Inserisci Min"<<endl;
    cin>>m;
    cout<<"Inserisci Sec"<<endl;
    cin>>s;
    quarz->CorreggiOra();
    }
    void LeggereOra(Orologio *quarz){
    cout<<"Orologio segna :"<<endl;
    cout<<h<< " : ";
    cout<<m<<" : ";
    cout<<s<<" : ";
    quarz->LeggereOra();
    return;
    }

    non l'ho testato.
  • Ciao ascolta gli ho dato un occhio veloce e questa e la soluzione piu rapida
    #include <iostream>
    using namespace std;
    
    class Orologio{
    //Attributi
    
    public:
    	int ore,minuti,secondi;
    	
    	Orologio(){
    		ore = 0;
    		minuti = 00;
    		secondi = 00;
    	}
    	
    //metodi
    	void AzzeraOra(int h,int m,int s){ //Dove h,m,s sono rispettivamente le variabile che gestiscono l'ora minuti e secondi
    	ore=h;
    	minuti=m;
    	secondi=s;
    }
    void CorreggiOra(int h, int m, int s){
    	ore=h;
    	minuti=m;
    	secondi=s;
    }
    
    };
    
    void Azzera(Orologio &q){
    	q.ore=0;
    	q.minuti=0;
    	q.secondi=0;
    }
    void CorreggiOra(Orologio &q){
    	int h,m,s;
    	
    	cout<<"Inserisci Ora"<<endl;
    	cin>>h;
    	cout<<"Inserisci Min"<<endl;
    	cin>>m;
    	cout<<"Inserisci Sec"<<endl;
    	cin>>s;
    	q.CorreggiOra(h,m,s);
    	
    }
    void LeggereOra(Orologio &q){
    	cout<<"Orologio segna :"<<endl;
    	cout<<q.ore<< " : ";
    	cout<<q.minuti<<" : ";
    	cout<<q.secondi<<" : "<<endl;
    }
    
    int main(){
    	Orologio Quarz;
    	int scelta;
    	do {
    // menu delle scelte
    		cout<<" 1 Azzera Orologio"<<endl;
    		cout<<" 2 Correggi Ora"<<endl;
    		cout<<" 3 Visualizza Ora"<<endl;
    		cout<<" 4 esci"<<endl;
    		cin>>scelta;
    		switch(scelta) {
    			case 1:
    			Azzera(Quarz);
    			break;
    			case 2:
    			CorreggiOra(Quarz);
    			break;
    			case 3:
    			LeggereOra(Quarz);
    			break;
    		}
    
    	} while (scelta !=4);
    	return 0;
    }
    cmq il programma va letto top - down se chiami funzioni nel main e le definisci sotto ... il compiler si impianta...

    ciao spero ti serva ancora
Devi accedere o registrarti per scrivere nel forum
5 risposte