Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
03/07/13 15:13
Pippetto96
Salve, vorrei trovare assieme a voi la soluzione a questo (lunghissimo) programma! Leggiamo la traccia:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
In due array sono registrate le temperature minime e massime per i giorni della settimana.
Scrivere un programma che, con l'utilizzo di un menu, consente di:
1. inserire i valori per una giornata stabilita dall'utente;
2. verificare che tutti i valori siano stati inseriti e comunicare le giornate per cui non sono presenti valori;
3. cercare il giorno della settimana con la temperatura massima più alta;
4. cercare il giorno della settimana con la temperatura minima più bassa;
5. cercare il giorno della settimana con la temperatura massima più bassa;
6. cercare il giorno della settimana con la temperatura minima più alta;
7. cercare il giorno con la maggior escursione termica (max - min).
Svolgere l'esercizio dato utilizzando opportune funzioni, vietato l'utilizzo di strutture.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Ora ragazzi, ho buttato un codice, ma non so ne se rispetta pienamente la traccia, e poi è incompleto, sarà un 40% del programma completo, ecco il codice:

 

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
const int dim=7;

void cond_1(int vett_max[],int vett_min[])
{
    int i,max,min;
    cout<<"Hai scelto Lunedi'!: ";
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
    for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }

}

void cond_2(int vett_max[],int vett_min[])
{
    int i,max,min;
    cout<<"\nHai scelto Martedi'!: "<<endl;
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
    for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }
}

void cond_3(int vett_max[],int vett_min[])
{
    int i,max,min;
    cout<<"\nHai scelto Mercoledi'!: "<<endl;
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
    for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }
}

void cond_4(int vett_max[],int vett_min[])
{
    int i,max,min;
    cout<<"\nHai scelto Giovedi'!: "<<endl;
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
    for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }
}

void cond_5(int vett_max[],int vett_min[])
{
    int i,max,min;
    cout<<"\nHai scelto Venerdi'!: "<<endl;
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
    for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }
}

void cond_6(int vett_max[],int vett_min[])
{
    int i,max,min;
    cout<<"\nHai scelto Sabato'!: "<<endl;
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
    for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }
}

void cond_7(int vett_max[],int vett_min[])
{
    int i,max,min;
    cout<<"\nHai scelto Domenica!: "<<endl;
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
    for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }
}

void verifica(int vett_max[], int vett_min[])
{
   bool trovato=false;
   for(int i=0;i<7;i++)
   {
       if ((vett_max[i]==0 && !trovato) && (vett_min[i] == 0 && !trovato))
       {
           vett_max[i] = 1;
           vett_min[i] = 1;
           trovato = true;
       }
   }
   if (trovato==true)
   cout<<"Tutti i valori sono stati inseriti!";
}

int minimo (int vett_min[])
{
    int min;
    min=vett_min[0];
    for (int i=1;i<7;i++)
    {
        if (vett_min[i]<min)
            min=vett_min[i];
    }
    return min;
}

int massimo (int vett_max[])
{
    int max=0;
    for (int i=0;i<7;i++)
    {
        if (vett_max[i]>max)
            max=vett_max[i];
    }
    return max;
}

int main()
{
    int vett_max[7];
    int vett_min[7];
    int cond,max,min;
    do
    {
        do
        {
        cout<<"Stabilisci un giorno: "<<endl;
        cout<<"1=Lunedi'"<<endl;
        cout<<"2=Martedi'"<<endl;
        cout<<"3=Mercoledi'"<<endl;
        cout<<"4=Giovedi'"<<endl;
        cout<<"5=Venerdi'"<<endl;
        cout<<"6=Sabato"<<endl;
        cout<<"7=Domenica"<<endl;
        cout<<"8=Uscita"<<endl;
        cout<<endl;
        cout<<"Il numero inserito e': ";
        cin>>cond;

      }
    while ((cond<1)&&(cond>8));

    if (cond==1)
    {
        cond_1(vett_max,vett_min);
    }

    if (cond==2)
    {
        cond_2(vett_max,vett_min);
    }

    if (cond==3)
    {
        cond_3(vett_max,vett_min);
    }

    if (cond==4)
    {
        cond_4(vett_max,vett_min);
    }

    if (cond==5)
    {
        cond_5(vett_max,vett_min);
    }

    if (cond==6)
    {
        cond_6(vett_max,vett_min);
    }

    if (cond==7)
    {
        cond_7(vett_max,vett_min);
    }

    if (cond==8)
    {
        cout<<"Termine programma!";
        return 0;
    }
    min=minimo(vett_min);
    cout<<min<<endl;
    max=massimo(vett_max);
    cout<<max<<endl;
}while (cond!=8);

} 


Qualche anima pia che spende un pò del suo tempo per aiutarmi?? Grazie mille e complimentoni per il sito! :k:
Giuseppe :):)
aaa
03/07/13 17:02
lumo
Ciao pippone, purtroppo qua nessuno ha intenzione di farti gli esercizi per casa, quindi se vuoi che ti aiutiamo devi dirci precisamente qual'è il tuo problema e noi possiamo darti una dritta.

Inoltre ti consiglio di unire tutte quelle funzioni cond_, basta che passi come parametro un numero che indica il giorno.
Il for all'interno delle funzioni ha qualche problema concettuale oserei dire.
aaa
03/07/13 17:30
LittleHacker
Poi, nelle funzioni
void cont_n(int vett_max[], int vett_min[])
{
// Codice
}


al posto di "int vett_max[]", io userei "int *vett_max", e poi tu gli passi tranquillamente gli array!

Tipo le stringhe in C, puoi usare:

char stringa[] = "Ciao mondo";

oppure usare
char *stringa = "Ciao mondo"!


:k:
aaa
03/07/13 17:33
lumo
Postato originariamente da LittleHacker:

Poi, nelle funzioni
void cont_n(int vett_max[], int vett_min[])
{
// Codice
}


al posto di "int vett_max[]", io userei "int *vett_max", e poi tu gli passi tranquillamente gli array!

Tipo le stringhe in C, puoi usare:

char stringa[] = "Ciao mondo";

oppure usare
char *stringa = "Ciao mondo"!


:k:


Oggi sono in vena di flame, quindi ti chiedo, e chissene?
aaa
03/07/13 17:39
LittleHacker
Postato originariamente da lumo:

Postato originariamente da LittleHacker:

Poi, nelle funzioni
void cont_n(int vett_max[], int vett_min[])
{
// Codice
}


al posto di "int vett_max[]", io userei "int *vett_max", e poi tu gli passi tranquillamente gli array!

Tipo le stringhe in C, puoi usare:

char stringa[] = "Ciao mondo";

oppure usare
char *stringa = "Ciao mondo"!


:k:


Oggi sono in vena di flame, quindi ti chiedo, e chissene?


:-? :_doubt:
aaa
03/07/13 17:47
LittleHacker
void cond_1(int vett_max[],int vett_min[])
{
    int i,max,min;
    cout<<"Hai scelto Lunedi'!: ";
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
    for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }
 
}


:-?

Primo...cosa ti servono tutte quelle funzioni per sapere i giorni della settimana? Cosa stai facendo? Prima dici di scrivere un valore nelle variabili min e max, e dopo di che gli dai il valore del primo valore dell'array? :-?

void cond(int *vett_max,int *vett_min, int day)
{
    int i,max,min;
    
    switch(day)
    {
         case 0:
         cout<<"Hai scelto Lunedi'!: ";
         break;
         case 1:
         cout<<"Hai scelto Martedi': ";
         break;
         case 3:
         // etc.
         default:
              cout << "Non hai inserito il giorno!"
              return;
    }
    cout<<"Temp Max= ";
    cin>>max;
    cout<<"Temp Min= ";
    cin>>min;
     for (int i=0;i<1;i++)
    {
       max=vett_max[i];
       min=vett_min[i];
    }
}


Cosa ti serve il for? Basta che scrivi:
max = vett_max[1];
min = vett_min[1];
Ultima modifica effettuata da LittleHacker 03/07/13 17:48
aaa
03/07/13 17:48
arack95
Postato originariamente da lumo:
Ciao pippone, purtroppo qua nessuno ha intenzione di farti gli esercizi per casa, quindi se vuoi che ti aiutiamo devi dirci precisamente qual'è il tuo problema e noi possiamo darti una dritta.


Non mi trovo d'accordo con te.. se sgancia la grana svolgo volentieri gli esercizi :heehee:

Primo...cosa ti servono tutte quelle funzioni per sapere i giorni della settimana? Cosa stai facendo? Prima dici di scrivere un valore nelle variabili min e max, e dopo di che gli dai il valore del primo valore dell'array? . . .


Oggi sono in vena di flame, quindi ti chiedo, e chissene?


sottoscrivo :yup:
aaa
03/07/13 18:35
HeDo
Questo topic è in violazione di una o più norme del regolamento: pierotofy.it/pages/extras/forum/9/3839-regolamento/ .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.
aaa