Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Esercizio con array, funzioni e tanto altro!
Forum - C/C++ - Esercizio con array, funzioni e tanto altro!

Avatar
Pippetto96 (Normal User)
Newbie


Messaggi: 2
Iscritto: 03/07/2013

Segnala al moderatore
Postato alle 17:13
Mercoledì, 03/07/2013
Questo topic è stato chiuso dal moderatore

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:

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. using namespace std;
  5. const int dim=7;
  6.  
  7. void cond_1(int vett_max[],int vett_min[])
  8. {
  9.     int i,max,min;
  10.     cout<<"Hai scelto Lunedi'!: ";
  11.     cout<<"Temp Max= ";
  12.     cin>>max;
  13.     cout<<"Temp Min= ";
  14.     cin>>min;
  15.     for (int i=0;i<1;i++)
  16.     {
  17.        max=vett_max[i];
  18.        min=vett_min[i];
  19.     }
  20.  
  21. }
  22.  
  23. void cond_2(int vett_max[],int vett_min[])
  24. {
  25.     int i,max,min;
  26.     cout<<"\nHai scelto Martedi'!: "<<endl;
  27.     cout<<"Temp Max= ";
  28.     cin>>max;
  29.     cout<<"Temp Min= ";
  30.     cin>>min;
  31.     for (int i=0;i<1;i++)
  32.     {
  33.        max=vett_max[i];
  34.        min=vett_min[i];
  35.     }
  36. }
  37.  
  38. void cond_3(int vett_max[],int vett_min[])
  39. {
  40.     int i,max,min;
  41.     cout<<"\nHai scelto Mercoledi'!: "<<endl;
  42.     cout<<"Temp Max= ";
  43.     cin>>max;
  44.     cout<<"Temp Min= ";
  45.     cin>>min;
  46.     for (int i=0;i<1;i++)
  47.     {
  48.        max=vett_max[i];
  49.        min=vett_min[i];
  50.     }
  51. }
  52.  
  53. void cond_4(int vett_max[],int vett_min[])
  54. {
  55.     int i,max,min;
  56.     cout<<"\nHai scelto Giovedi'!: "<<endl;
  57.     cout<<"Temp Max= ";
  58.     cin>>max;
  59.     cout<<"Temp Min= ";
  60.     cin>>min;
  61.     for (int i=0;i<1;i++)
  62.     {
  63.        max=vett_max[i];
  64.        min=vett_min[i];
  65.     }
  66. }
  67.  
  68. void cond_5(int vett_max[],int vett_min[])
  69. {
  70.     int i,max,min;
  71.     cout<<"\nHai scelto Venerdi'!: "<<endl;
  72.     cout<<"Temp Max= ";
  73.     cin>>max;
  74.     cout<<"Temp Min= ";
  75.     cin>>min;
  76.     for (int i=0;i<1;i++)
  77.     {
  78.        max=vett_max[i];
  79.        min=vett_min[i];
  80.     }
  81. }
  82.  
  83. void cond_6(int vett_max[],int vett_min[])
  84. {
  85.     int i,max,min;
  86.     cout<<"\nHai scelto Sabato'!: "<<endl;
  87.     cout<<"Temp Max= ";
  88.     cin>>max;
  89.     cout<<"Temp Min= ";
  90.     cin>>min;
  91.     for (int i=0;i<1;i++)
  92.     {
  93.        max=vett_max[i];
  94.        min=vett_min[i];
  95.     }
  96. }
  97.  
  98. void cond_7(int vett_max[],int vett_min[])
  99. {
  100.     int i,max,min;
  101.     cout<<"\nHai scelto Domenica!: "<<endl;
  102.     cout<<"Temp Max= ";
  103.     cin>>max;
  104.     cout<<"Temp Min= ";
  105.     cin>>min;
  106.     for (int i=0;i<1;i++)
  107.     {
  108.        max=vett_max[i];
  109.        min=vett_min[i];
  110.     }
  111. }
  112.  
  113. void verifica(int vett_max[], int vett_min[])
  114. {
  115.    bool trovato=false;
  116.    for(int i=0;i<7;i++)
  117.    {
  118.        if ((vett_max[i]==0 && !trovato) && (vett_min[i] == 0 && !trovato))
  119.        {
  120.            vett_max[i] = 1;
  121.            vett_min[i] = 1;
  122.            trovato = true;
  123.        }
  124.    }
  125.    if (trovato==true)
  126.    cout<<"Tutti i valori sono stati inseriti!";
  127. }
  128.  
  129. int minimo (int vett_min[])
  130. {
  131.     int min;
  132.     min=vett_min[0];
  133.     for (int i=1;i<7;i++)
  134.     {
  135.         if (vett_min[i]<min)
  136.             min=vett_min[i];
  137.     }
  138.     return min;
  139. }
  140.  
  141. int massimo (int vett_max[])
  142. {
  143.     int max=0;
  144.     for (int i=0;i<7;i++)
  145.     {
  146.         if (vett_max[i]>max)
  147.             max=vett_max[i];
  148.     }
  149.     return max;
  150. }
  151.  
  152. int main()
  153. {
  154.     int vett_max[7];
  155.     int vett_min[7];
  156.     int cond,max,min;
  157.     do
  158.     {
  159.         do
  160.         {
  161.         cout<<"Stabilisci un giorno: "<<endl;
  162.         cout<<"1=Lunedi'"<<endl;
  163.         cout<<"2=Martedi'"<<endl;
  164.         cout<<"3=Mercoledi'"<<endl;
  165.         cout<<"4=Giovedi'"<<endl;
  166.         cout<<"5=Venerdi'"<<endl;
  167.         cout<<"6=Sabato"<<endl;
  168.         cout<<"7=Domenica"<<endl;
  169.         cout<<"8=Uscita"<<endl;
  170.         cout<<endl;
  171.         cout<<"Il numero inserito e': ";
  172.         cin>>cond;
  173.  
  174.       }
  175.     while ((cond<1)&&(cond>8));
  176.  
  177.     if (cond==1)
  178.     {
  179.         cond_1(vett_max,vett_min);
  180.     }
  181.  
  182.     if (cond==2)
  183.     {
  184.         cond_2(vett_max,vett_min);
  185.     }
  186.  
  187.     if (cond==3)
  188.     {
  189.         cond_3(vett_max,vett_min);
  190.     }
  191.  
  192.     if (cond==4)
  193.     {
  194.         cond_4(vett_max,vett_min);
  195.     }
  196.  
  197.     if (cond==5)
  198.     {
  199.         cond_5(vett_max,vett_min);
  200.     }
  201.  
  202.     if (cond==6)
  203.     {
  204.         cond_6(vett_max,vett_min);
  205.     }
  206.  
  207.     if (cond==7)
  208.     {
  209.         cond_7(vett_max,vett_min);
  210.     }
  211.  
  212.     if (cond==8)
  213.     {
  214.         cout<<"Termine programma!";
  215.         return 0;
  216.     }
  217.     min=minimo(vett_min);
  218.     cout<<min<<endl;
  219.     max=massimo(vett_max);
  220.     cout<<max<<endl;
  221. }while (cond!=8);
  222.  
  223. }



Qualche anima pia che spende un pò del suo tempo per aiutarmi?? Grazie mille e complimentoni per il sito! :k:
Giuseppe :):)

PM
Avatar
lumo (Member)
Expert


Messaggi: 413
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 19:02
Mercoledì, 03/07/2013
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.

PM
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 19:30
Mercoledì, 03/07/2013
Poi, nelle funzioni
Codice sorgente - presumibilmente C/C++

  1. void cont_n(int vett_max[], int vett_min[])
  2. {
  3. // Codice
  4. }



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:

Codice sorgente - presumibilmente C/C++

  1. char stringa[] = "Ciao mondo";


oppure usare
Codice sorgente - presumibilmente C/C++

  1. char *stringa = "Ciao mondo"!



:k:


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM
Avatar
lumo (Member)
Expert


Messaggi: 413
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 19:33
Mercoledì, 03/07/2013
Testo quotato

Postato originariamente da LittleHacker:

Poi, nelle funzioni
Codice sorgente - presumibilmente C/C++

  1. void cont_n(int vett_max[], int vett_min[])
  2. {
  3. // Codice
  4. }



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:

Codice sorgente - presumibilmente C/C++

  1. char stringa[] = "Ciao mondo";


oppure usare
Codice sorgente - presumibilmente C/C++

  1. char *stringa = "Ciao mondo"!



:k:



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

PM
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 19:39
Mercoledì, 03/07/2013
Testo quotato

Postato originariamente da lumo:

Testo quotato

Postato originariamente da LittleHacker:

Poi, nelle funzioni
Codice sorgente - presumibilmente C/C++

  1. void cont_n(int vett_max[], int vett_min[])
  2. {
  3. // Codice
  4. }



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:

Codice sorgente - presumibilmente C/C++

  1. char stringa[] = "Ciao mondo";


oppure usare
Codice sorgente - presumibilmente C/C++

  1. char *stringa = "Ciao mondo"!



:k:



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



:-? :_doubt:


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 19:47
Mercoledì, 03/07/2013
Codice sorgente - presumibilmente C++

  1. void cond_1(int vett_max[],int vett_min[])
  2. {
  3.     int i,max,min;
  4.     cout<<"Hai scelto Lunedi'!: ";
  5.     cout<<"Temp Max= ";
  6.     cin>>max;
  7.     cout<<"Temp Min= ";
  8.     cin>>min;
  9.     for (int i=0;i<1;i++)
  10.     {
  11.        max=vett_max[i];
  12.        min=vett_min[i];
  13.     }
  14.  
  15. }



:-?

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? :-?

Codice sorgente - presumibilmente C++

  1. void cond(int *vett_max,int *vett_min, int day)
  2. {
  3.     int i,max,min;
  4.    
  5.     switch(day)
  6.     {
  7.          case 0:
  8.          cout<<"Hai scelto Lunedi'!: ";
  9.          break;
  10.          case 1:
  11.          cout<<"Hai scelto Martedi': ";
  12.          break;
  13.          case 3:
  14.          // etc.
  15.          default:
  16.               cout << "Non hai inserito il giorno!"
  17.               return;
  18.     }
  19.     cout<<"Temp Max= ";
  20.     cin>>max;
  21.     cout<<"Temp Min= ";
  22.     cin>>min;
  23.      for (int i=0;i<1;i++)
  24.     {
  25.        max=vett_max[i];
  26.        min=vett_min[i];
  27.     }
  28. }



Cosa ti serve il for? Basta che scrivi:
Codice sorgente - presumibilmente Plain Text

  1. max = vett_max[1];
  2. min = vett_min[1];


Ultima modifica effettuata da LittleHacker il 03/07/2013 alle 19:48


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM
Avatar
arack95 (Member)
Pro


Messaggi: 144
Iscritto: 15/11/2010

Segnala al moderatore
Postato alle 19:48
Mercoledì, 03/07/2013
Testo quotato

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:

Testo quotato

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? . . .



Testo quotato

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



sottoscrivo :yup:


Take life less seriously!
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 20:35
Mercoledì, 03/07/2013
Questo topic è in violazione di una o più norme del regolamento: http://www.pierotofy.it/pages/extras/forum/9/3839-regolame ... .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.


Ingegnere Informatico
https://ldlagency.it
PM