Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - C++ Devo creare un codice per realizzare un programma con menu, classifica e punteggi di un campionato.
Forum - C/C++ - C++ Devo creare un codice per realizzare un programma con menu, classifica e punteggi di un campionato.

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
MrMind6767 (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 16:44
Sabato, 30/04/2022
Allora salve a tutti, devo fare un programma che gestisca un campionato di calcio che mostri un piccolo menu che dia la possibiltÓ di
1. Inserire le squadre del torneo.
2.Inserire delle partite giocate indicando le squadre che disputano la partita, i gol di ogni squadra.
3. Mostrare la classifica aggiornata.
4. Decretare il vincitore al termine delle 10 partite.
Per ora sono riuscito a completare i primi due punti, ma ho problemi e dilemmi sul terzo punto?.
So che teoricamente dovrei usare if per eseguire un controllo dei vittoriosi e dei perdenti o dei pareggiati, so che dovrei usare delle variabili che conteggino sia le vittorie che sconfitte che pareggi maaaa a livello pratico mi perdo e non so come andare oltre. PLS HELP

Questo Ŕ quanto ho fatto

Codice sorgente - presumibilmente C#

  1. using namespace std;
  2.  
  3. struct partita{
  4. string squ1;
  5. string squ2;
  6. int goals1;
  7. int goals2;
  8. };
  9. struct squadra{
  10.         string squad;
  11.                 int punti;
  12. };
  13.  
  14. int menu(void);
  15. void inser(squadra v[]);
  16. void giocata(int p[],partita p1,partita t1,partita p2, partita t2);
  17. void classifica(squadra v[],int p[],partita p1, partita t1,partita p2, partita t2,int vin,int per, int par,squadra score);
  18.  
  19. int main(){
  20. int scelta;
  21. squadra s[5];//array di 5 perle 5 squadre
  22.         int g[10];//array di 10 perchŔ ci sono 10 giocate
  23.         partita  s1;
  24.         partita  g1;           
  25.     partita s2;
  26.         partita  g2;
  27. int vinte=0;
  28.                 int perse=0;
  29.                 int pareggi=0;
  30. squadra pu;
  31.  
  32.  
  33. do{
  34.                 menu();
  35.                         cout<<"Cosa vuoi fare?\n"<<endl;
  36.                 cin>>scelta;
  37.                
  38.                 switch(scelta){
  39.                         case 1:
  40.                        
  41.                         inser(s);
  42.                                
  43.                                         break;
  44.                                 case 2 :
  45.                                         giocata(g,s1,g1,s2,g2);
  46.                        
  47.                                         break;
  48.                                         case 3 :
  49.                                                 classifica(s,g,s1,g1,s2,g2,vinte,perse,pareggi,pu);
  50.                                                         break;
  51.                                                         case 4:
  52.                                                        
  53.                                                                 break;
  54.                                                                 case 5:
  55.                                                                
  56.                                                                         break;
  57.                 }
  58.         }while(scelta!=5);
  59.        
  60.        
  61. }
  62.  
  63.  
  64. int menu(void){
  65.  
  66.     cout<<"******GESTIONE CAMPIONATO****** "<<endl;
  67.        
  68.         cout<<"1. Inserisci squadre "<<endl;
  69.         cout<<"2. Inserisci partita "<<endl;
  70.         cout<<"3. Mostra classifica "<<endl;
  71.         cout<<"4. Decreta vincitore "<<endl;
  72.         cout<<"5. Esci"<<endl;
  73.        
  74.  
  75. }
  76.  
  77. void inser(squadra v[]){
  78. cout<<"--------INSERIMENTO SQUADRE--------\n"<<endl;
  79. for(int i=0;i<5;i++){
  80.         cout<<"Inserisci il nome della squadra: ";
  81.         cin>>v[i].squad;
  82. }
  83. }
  84.  
  85. void giocata(int p[], partita p1,partita t1,partita p2,partita t2) {
  86. cout<<"--------INSERIMENTO PARTITA--------\n"<<endl;
  87.  
  88.  
  89. for(int i=0;i<1;i++){
  90. do{
  91. cout<<"Inserisci un numero delle partite tra 1 e 10 "<<endl;
  92. cin>>p[i];}while(p[0]>10);
  93. cout<<"Inserisci il nome della 1"<<char (167)<<"squadra: ";
  94. cin>>p1.squ1;
  95. cout<<"Inserisci il risutato della partita: "<<endl;
  96. cin>>t1.goals1;
  97. cout<<"Inserisci il nome della 2"<<char (167)<<"squadra: ";
  98. cin>>p2.squ2;
  99. cout<<"Inserisci il risutato della partita: "<<endl;
  100. cin>>t2.goals2;
  101.  
  102. }
  103.  
  104.  
  105.  
  106.  
  107.  
  108. }
  109. void classifica(squadra v[],int p[],partita p1, partita t1,partita p2, partita t2,int vin,int per,int par,squadra score){
  110.         cout<<"--------CLASSIFICA--------\n";
  111.  
  112.  
  113.                 if(t1.goals1>t2.goals2){
  114.                                
  115.                 score.punti=3;
  116.                 vin++;
  117.         cout<<p1.squ1; cout<<score.punti<<endl;}
  118.                 else{score.punti=0;
  119.                 per++;
  120.                         score.punti++;
  121.                 }      
  122.                        
  123.                 }



Mi Ŕ stato detto di dover usare il selection sort nella classifica per ordina, ma non l'ho mai usato. In pi¨ ho dubbi su come far si  che il ciclo if verifichi anche le altre situzioni. Tipo pareggi, e sconfitte delle 10 partite totali

Ultima modifica effettuata da Thejuster il 01/05/2022 alle 8:38
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6254
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:15
Sabato, 30/04/2022
Puoi usare qualsiasi tipo di ordinamento anche un semplice bubble sort.

Ultima modifica effettuata da AldoBaldo il 12/05/2022 alle 13:16


Ricorda che nessuno Ŕ obbligato a risponderti e che nessuno Ŕ perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilitÓ) chiamava il gioco del Lotto Tassa sulla stupiditÓ.
PM Quote
Avatar
MrMind6767 (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 9:44
Lunedý, 02/05/2022
Il fatto Ŕ che non ho mai usato un tipo di ordinamento, non so come muovermi a livello pratico

PM Quote
Avatar
MrMind6767 (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 9:46
Lunedý, 02/05/2022
Poi il come ho analizzato il punteggio credi vada bene? Non capisco come mai non mi stampi la squadra giocatrice

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6254
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:18
Lunedý, 02/05/2022
Studia il "bubble sort" (ordinamento a bolle) e, quando lo hai compreso bene, lo applichi.
Torni qui con il codice per capire se va bene.

In ogni caso, ci sono molti punti da rivedere/riscrivere. Partendo dall'inserimento squadre, in cui va azzerato il numero di punti per ogni squadra

Codice sorgente - presumibilmente C/C++

  1. void inser(squadra v[])
  2. {
  3.     cout<<"--------INSERIMENTO SQUADRE--------\n"<<endl;
  4.  
  5.    for(int i=0;i<5;i++)
  6.    {
  7.         cout<<"Inserisci il nome della squadra: ";
  8.         cin>>v[i].squad;
  9.         v[i].punti=0;
  10.    }
  11. }



Poi le partite ... intanto il nome delle squadre non va ripetuto all'interno della struttura, ma va messo un riferimento all'indice dell'array delle squadre

Codice sorgente - presumibilmente C++

  1. struct partita
  2. {
  3.    int sqCasa;
  4.    int sqTrasf;
  5.    int gCasa;
  6.    int gTasf;
  7. };



e poi va dichiarato un array delle partite. Dove l'hai messo?

Essendoci 5 squadre le partite saranno 10 partite quindi

Codice sorgente - presumibilmente Plain Text

  1. partita p[10];



poi inserisci i dati nelle partite e aggiorni il primo array con i dati del secondo ... ordini il primo e lo stampi ...

Ultima modifica effettuata da AldoBaldo il 12/05/2022 alle 13:17


Ricorda che nessuno Ŕ obbligato a risponderti e che nessuno Ŕ perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilitÓ) chiamava il gioco del Lotto Tassa sulla stupiditÓ.
PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 632
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 16:07
Martedý, 03/05/2022
Magari ti pu˛ essere utile per farti un'idea di come funzioni il meccanismo dell'ordinamento bubble sort.

http://www.pierotofy.it/pages/sorgenti/dettagli/19429-Bubb ...


ATTENZIONE! Sono un hobbista e l'affidabilitÓ delle mie conoscenze informatiche Ŕ molto limitata. Non prendere come esempio il codice che scrivo, perchÚ non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote
Avatar
MrMind6767 (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 16:30
Mercoledý, 04/05/2022
Testo quotato

Postato originariamente da AldoBaldo:
Magari ti pu├▓ essere utile per farti un'idea di come funzioni il meccanismo dell'ordinamento bubble sort.

http://www.pierotofy.it/pages/sorgenti/dettagli/19429-Bubb ...


grazie

PM Quote
Avatar
MrMind6767 (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 16:43
Mercoledý, 04/05/2022
Stavo sistemando un p˛ di cose ma nel farlo mi ha riportato un errore per il cin, che non riesco a capire


Codice sorgente - presumibilmente C#

  1. #include<iostream>
  2. using namespace std;
  3.  
  4. struct partita{
  5. string squ1;
  6. string squ2;
  7. int goals1;
  8. int goals2;
  9. };
  10. struct squadra{
  11.         string squad;
  12.                 int punti;
  13.                
  14.                
  15.  
  16. };
  17.  
  18. int menu(void);
  19. void inser(squadra v[]);
  20. void giocata(partita p[]);
  21. //void classifica(squadra v[],partita p[],int vin,int per, int par);
  22.  
  23. int main(){
  24. int scelta;
  25. squadra s[5];//array di 5 perle 5 squadre
  26.         partita g[10];//array di 10 perchŔ ci sono 10 giocate
  27. int vinte=0;
  28.                 int perse=0;
  29.                 int pareggi=0;
  30.  
  31.  
  32.  
  33. do{
  34.                 menu();
  35.                         cout<<"Cosa vuoi fare?\n"<<endl;
  36.                 cin>>scelta;
  37.                
  38.                 switch(scelta){
  39.                         case 1:
  40.                        
  41.                         inser(s);
  42.                                
  43.                                         break;
  44.                                 case 2 :
  45.                                         giocata(g);
  46.                        
  47.                                         break;
  48.                                         case 3 :
  49.                                         //      classifica(s,g,vinte,perse,pareggi);
  50.                                                         break;
  51.                                                         case 4:
  52.                                                        
  53.                                                                 break;
  54.                                                                 case 5:
  55.                                                                
  56.                                                                         break;
  57.                 }
  58.         }while(scelta!=5);
  59.        
  60.        
  61. }
  62.  
  63.  
  64. int menu(void){
  65.  
  66.     cout<<"******GESTIONE CAMPIONATO****** "<<endl;
  67.        
  68.         cout<<"1. Inserisci squadre "<<endl;
  69.         cout<<"2. Inserisci partita "<<endl;
  70.         cout<<"3. Mostra classifica "<<endl;
  71.         cout<<"4. Decreta vincitore "<<endl;
  72.         cout<<"5. Esci"<<endl;
  73.        
  74.  
  75. }
  76.  
  77. void inser(squadra v[]){
  78. cout<<"--------INSERIMENTO SQUADRE--------\n"<<endl;
  79. for(int i=0;i<5;i++){
  80.         cout<<"Inserisci il nome della squadra: ";
  81.         cin>>v[i].squad;
  82.         v[i].punti=0;
  83. }
  84. }
  85.  
  86. void giocata(partita p[]) {
  87. cout<<"--------INSERIMENTO PARTITA--------\n"<<endl;
  88.  
  89.  
  90. for(int i=0;i<1;i++){
  91. do{
  92. cout<<"Inserisci un numero delle partite tra 1 e 10 "<<endl;
  93. [b]cin>>p[i][/b];}
  94. while(p[0]>10);
  95. cout<<"Inserisci il nome della 1"<<char (167)<<"squadra: ";
  96. cin>>p[i].squi1;
  97. cout<<"Inserisci il risutato della partita: "<<endl;
  98. cin>>p[i].goals1;
  99. cout<<"Inserisci il nome della 2"<<char (167)<<"squadra: ";
  100. cin>>p[i].squ2;
  101. cout<<"Inserisci il risutato della partita: "<<endl;
  102. cin>>p[i].goals2;
  103.  
  104. }
  105.  
  106.  
  107.  
  108.  
  109.  
  110. }




Al cin che ho evidenziato

[Error] no match for 'operator>>' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'partita'):-?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6254
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:57
Mercoledý, 04/05/2022
Il numero della partita va in una variabile intera

int np;
cin >> np;

Non si capisce cosa vuoi fare con il while seguente.

Ultima modifica effettuata da nessuno il 04/05/2022 alle 19:59


Ricorda che nessuno Ŕ obbligato a risponderti e che nessuno Ŕ perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilitÓ) chiamava il gioco del Lotto Tassa sulla stupiditÓ.
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo