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. - Pagina 3

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:55
Lunedì, 09/05/2022
Qui

Codice sorgente - presumibilmente Plain Text

  1. for(j=0;j<5;j++)



j non è dichiarata.


Ha ragione il compilatore.

Queste

Codice sorgente - presumibilmente Plain Text

  1. v[i].punti=+1;
  2. v[i+1].punti=+1;
  3. v[i].punti=+3;



sono sbagliate, devono essere

Codice sorgente - presumibilmente Plain Text

  1. v[i].punti += 1;  ( oppure v[i].punti++; )
  2. v[i+1].punti += 1;   ( oppure v[i+1].punti++; )
  3. v[i].punti += 3;



Devi conoscere bene le basi della sintassi del linguaggio prima di scrivere codice, altrimenti è inutile dire che impazzisci.


Ultima modifica effettuata da nessuno il 09/05/2022 alle 17:00


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: 16
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 21:27
Lunedì, 09/05/2022
nonostante aver coorretto tutto non mi stampa la classifica, ma solo lo cout classifica

PM Quote
Avatar
MrMind6767 (Normal User)
Newbie


Messaggi: 16
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 22:53
Lunedì, 09/05/2022
Testo quotato

Postato originariamente da AldoBaldo:
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.  
  11. struct squadra {
  12.     string squad;
  13.     int punti;
  14. };
  15.  
  16. int menu(void);
  17. void inser(squadra v[]);
  18. void giocata(partita p[]);
  19. void classifica(squadra v[],partita p[],int vin,int per, int par);
  20.  
  21. int main() {
  22.     int scelta;
  23.     squadra sq[5];   //array di 5 per le 5 squadre
  24.     partita par[10]; //array di 10 per le 10 partite
  25.     int vinte=0;     //contatore delle vinte
  26.     int perse=0;     //contatore delle perse
  27.     int pareggi=0;   //contatore dei pareggi
  28.    
  29.     do {
  30.         menu();
  31.         cout<<"Cosa vuoi fare?\n"<<endl;
  32.         cin>>scelta;
  33.                
  34.         switch(scelta){
  35.             case 1:
  36.                 inser(sq);
  37.                 break;
  38.            
  39.             case 2:
  40.                 giocata(par);
  41.                 break;
  42.                
  43.             case 3:
  44.                 classifica(sq,par,vinte,perse,pareggi);
  45.                 break;
  46.            
  47.             case 4:
  48.                 break;
  49.            
  50.             case 5:
  51.                 break;
  52.         }
  53.     } while(scelta!=5);
  54. }
  55.  
  56.  
  57. int menu(void) {
  58.     cout<<"******GESTIONE CAMPIONATO****** "<<endl;
  59.     cout<<"1. Inserisci squadre "<<endl;
  60.     cout<<"2. Inserisci partita "<<endl;
  61.     cout<<"3. Mostra classifica "<<endl;
  62.     cout<<"4. Decreta vincitore "<<endl;
  63.     cout<<"5. Esci"<<endl;
  64. }
  65.  
  66. void inser(squadra v[]) {
  67.     cout<<"--------INSERIMENTO SQUADRE--------\n"<<endl;
  68.     for(int i=0;i<5;i++) {
  69.         cout<<"Inserisci il nome della squadra: ";
  70.         cin>>v[i].squad;
  71.         v[i].punti=0;
  72.     }
  73. }
  74.  
  75. void giocata(partita p[]) {
  76.     cout<<"--------INSERIMENTO PARTITA--------\n"<<endl;
  77.     int num;
  78.  
  79.     do {
  80.         cout<<"Inserisci un numero delle partite tra 1 e 10 "<<endl;
  81.         cin>>num;
  82.     } while((num<=0)||(num>10));
  83.  
  84.     for(int i=0;i<1;i++) {
  85.         cout<<"Inserisci il nome della 1"<<char (167)<<"squadra: ";
  86.         cin>>p[i].squ1;
  87.         cout<<"Inserisci il risutato della partita: "<<endl;
  88.         cin>>p[i].goals1;
  89.         cout<<"Inserisci il nome della 2"<<char (167)<<"squadra: ";
  90.         cin>>p[i].squ2;
  91.         cout<<"Inserisci il risutato della partita: "<<endl;
  92.         cin>>p[i].goals2;
  93.     }
  94. }
  95.  
  96. void classifica(squadra v[],partita p[],int vin,int per, int par) {
  97.     cout<<"--------CLASSIFICA--------\n";
  98.  
  99.     for(int i=0;i<10;i++) {
  100.         if(p[i].goals1>p[i].goals2) {
  101.             for(j=0;j<5;j++) {                  // in questo blocco j non è
  102.                 if(p[j].squ1==v[j].squad)       // dichiarato - per dichiararlo
  103.                     v[j].punti=v[j].punti+3;    // basta aggiungere int prima
  104.             }                                   // di j=0...
  105.         }
  106.         else if(p[i].goals1==p[i].goals2) {    
  107.             for(int j=0;j<5;j++ ) {             // ...come hai fatto qui
  108.                 if(p[i].squ1==v[j].squad)
  109.                     v[j].punti=v[j].punti+3;
  110.             }              
  111.        
  112.             v[i].punti=+3;
  113.         }
  114.         else if(p[i].goals1>p[i].goals2) {
  115.             v[i].punti=+1;
  116.             v[i+1].punti=+1;
  117.         }
  118.         else {
  119.             v[i].punti=+3;
  120.         }
  121.     }
  122. }



Può essere stata una svista, ma se non è così l'argomento da riconsiderare riguarda l'àmbito di visibilità delle variabili (in inglese lo trovi indicato come scope).


si una svista grazieee

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:08
Martedì, 10/05/2022
Non hai fatto le modifiche.

Manca la stampa della classifica.

Ultima modifica effettuata da nessuno il 10/05/2022 alle 16:10


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: 16
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 21:28
Martedì, 10/05/2022

Codice sorgente - presumibilmente C++

  1. void classifica(squadra v[],partita p[],int vin,int per, int par){
  2.         cout<<"--------CLASSIFICA--------\n";
  3.  
  4. for(int i=0;i<10;i++){
  5.  
  6.                 if(p[i].goals1>p[i].goals2){
  7.                        
  8.                         for(int j=0;j<5;j++){
  9.                        
  10.                                 if(p[j].squ1==v[j].squad){v[j].punti=v[j].punti+3;
  11.                                 }
  12.                         }
  13.         }       else if(p[i].goals1==p[i].goals2){
  14.                 for(int j=0;j<5;j++ ){
  15.                         if(p[i].squ1==v[j].squad){
  16.                                 v[j].punti=v[j].punti+3;
  17.                        
  18.        
  19.         }
  20.         }              
  21.        
  22.         v[i].punti+=3;  }
  23.         else if(p[i].goals1>p[i].goals2){
  24.                 v[i].punti+=1;
  25.                 v[i+1].punti+=1;
  26.                
  27.         }
  28. else{
  29.        
  30.         v[i].punti+=3;
  31. }       cout<<v[i].squad<<endl<<v[i].punti;
  32. }
  33.  
  34. }




Non in questo modo giusto?

PM Quote
Avatar
MrMind6767 (Normal User)
Newbie


Messaggi: 16
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 12:02
Sabato, 21/05/2022
Risolto

Ultima modifica effettuata da MrMind6767 il 21/05/2022 alle 12:07
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:21
Sabato, 21/05/2022
Grazie per la notizia


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: 16
Iscritto: 30/04/2022

Segnala al moderatore
Postato alle 16:49
Domenica, 22/05/2022

Codice sorgente - presumibilmente C#

  1. #include<iostream>
  2. #include <cstdlib>
  3. #define N 5
  4.  
  5. using namespace std;
  6.  
  7. struct partita{                                   //utilizzo due strutture una per il tipo partita e una per il tipo squadra
  8. string squ1;                                    
  9. string squ2;
  10. int goals1;
  11. int goals2;
  12. };
  13. struct squadra{
  14.         string squad;
  15.                 int punti=0;
  16.                
  17.                
  18.  
  19. };
  20.  
  21. int menu(void);
  22. void inser(squadra v[]);
  23. void giocata(partita p[],squadra v[]);
  24. void classifica(squadra v[]);
  25. void vincitore (squadra v[]);
  26.  
  27. int main(){
  28. int scelta;
  29.     squadra sq[5];//array di 5 per le 5 squadre
  30.         partita par[10];//array di 10 per le 10 partite
  31.  
  32.  
  33.            //uno switch per poter scegliere tra le possibilità del menu e un do while per far ripetere il menu, fino alla scelta 5 che lo arrestA
  34. do{
  35.                 menu();                        
  36.                         cout<<"Cosa vuoi fare?\n"<<endl;
  37.                 cin>>scelta;
  38.                
  39.                 switch(scelta){
  40.                         case 1:
  41.                        
  42.                         inser(sq);
  43.                                
  44.                                         break;
  45.                                 case 2 :
  46.                                         giocata(par,sq);
  47.                        
  48.                                         break;
  49.                                         case 3 :
  50.                                                 classifica(sq);
  51.                                                         break;
  52.                                                         case 4:
  53.                                                         vincitore(sq);
  54.                                                                 break;
  55.                                                                 case 5:
  56.                                                                
  57.                                                                         break;
  58.                 }
  59.         }while(scelta!=5);
  60.        
  61.        
  62. }
  63.  
  64. //funzione per la creazione del menu anche più sistematico
  65. int menu(void){
  66.  
  67.     cout<<"******GESTIONE CAMPIONATO****** "<<endl;
  68.        
  69.         cout<<"1. Inserisci squadre "<<endl;
  70.         cout<<"2. Inserisci partita "<<endl;
  71.         cout<<"3. Mostra classifica "<<endl;
  72.         cout<<"4. Decreta vincitore "<<endl;
  73.         cout<<"5. Esci"<<endl;
  74.        
  75.  
  76. }
  77. //funzione per l'inserimento delle 5 squadre del campionato
  78. void inser(squadra v[]){
  79. cout<<"--------INSERIMENTO SQUADRE--------\n"<<endl;
  80. for(int i=0;i<5;i++){
  81.         cout<<"Inserisci il nome della squadra: ";
  82.         cin>>v[i].squad;
  83.         v[i].punti=0;
  84. }
  85. }
  86. //funzione per l'inserimento delle squadre che giocano per ciascuna delle 10 partite
  87. void giocata(partita p[],squadra v[]) {
  88. cout<<"--------INSERIMENTO PARTITA--------\n"<<endl;
  89.  
  90. int num;
  91.  
  92.     do {
  93.         cout<<"Inserisci un numero delle partite tra 1 e 10 "<<endl;
  94.         cin>>num;
  95.     } while((num<=0)||(num>10));
  96.  
  97.  
  98. for(int i=0;i<1;i++){
  99. cout<<"Inserisci il nome della 1"<<char (167)<<"squadra: ";
  100. cin>>p[i].squ1;
  101. cout<<"Inserisci il risutato della partita: "<<endl;
  102. cin>>p[i].goals1;
  103. cout<<"Inserisci il nome della 2"<<char (167)<<"squadra: ";
  104. cin>>p[i].squ2;
  105. cout<<"Inserisci il risutato della partita: "<<endl;
  106. cin>>p[i].goals2;
  107.  
  108.  if (p[i].goals1>p[i].goals2) {
  109.         for (int j=0; j<5; j++) {
  110.             if (p[i].squ1==v[j].squad) {
  111.                 v[j].punti=v[j].punti+3;}
  112.         }
  113.     }
  114.         else if (p[i].goals1==p[i].goals2) {
  115.                 for (int j=0; j<5; j++) {
  116.                     if (p[i].squ1==v[j].squad) {
  117.                         v[j].punti=v[j].punti+1;
  118.                        
  119.                     }
  120.                     if (p[i].squ1==v[j].squad) {
  121.                         v[j].punti=v[j].punti+1;
  122.                    
  123.                 }
  124.                
  125.             }
  126.         }
  127.         else {
  128.           for (int j=0; j<5; j++) {
  129.               if (p[i].squ1==v[j].squad) {
  130.                   v[j].punti=v[j].punti+3;
  131.               }
  132.         }
  133. }
  134. }
  135. }
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144. void classifica (squadra v[]) {
  145.     squadra temp;
  146.     int min;
  147.     for(int i=0; i<N-1; i++)
  148.     {
  149.     min=i;
  150.  
  151.     for(int j=i+1; j<N; j++)
  152.       if(v[j].punti>v[min].punti)
  153.         min=j;
  154.  
  155.     temp=v[min];
  156.     v[min].punti=v[i].punti;
  157.     v[i]=temp;
  158.     }
  159.     for (int i=0; i<5; i++) {
  160.         cout<<v[i].squad<<" "<<v[i].punti<<endl;
  161.     }
  162. }
  163. void vincitore (squadra v[]) {
  164.     for (int i=0; i<1; i++) {
  165.         if (v[i].punti>v[i+1].punti) {
  166.             cout<<"La squadra "<<v[0].squad<<" vince con "<<v[0].punti<<" punti "<<endl;
  167.         }
  168.            
  169.         }
  170.     }




Che ne pensate?

Ultima modifica effettuata da MrMind6767 il 22/05/2022 alle 16:51
PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo