Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Un aiutino con questo programmino?

    Ragazzi ho creato questo programma che mi stampa il bomber con più reti nel campionato utilizzando record ecc...Però mi da errore e non riesco a capirlo. Se qualcuno di voi riesce a dirmi l'errore e magari a spiegarmelo così da non rifarlo per il futuro ne sarei lieto.

    In pratica ho già cercato di modificare il passaggio dei parametri, perchè supponevo che dovessi passare la N mantenendo il suo valore mentre la I (l'indice) potevo anche crearne un nuovo nel sottoprogramma seguente però comunque mi dava errore. Sono sicuro che il problema di fondo sia nel passaggio dei parametri però proprio non riesco a capire. Sicuramente è qualcosina che ho dimenticato per colpa della mia poca esperienza in merito.

    Ps: Sono alle prime armi non uccidetemi sono ancora giovane!!

    codice:
    #include <iostream>#include <string.h>
    
    
    using namespace std;
    
    
    struct calciatori
    {
        string nome;
        string cognome;
        string squadra;
        int reti;
    }campionato[100];
    
    
    void caricamentocalciatori(int i,const int &n)
    {
        cout<<"Quanti calciatori vuoi inserire?"<<endl;
        cin>>n;
        
        for(i=0;i<n;i++)
        {
            cout<<"Inserire nome: ";
            cin>>campionato[i].nome;
            cout<<"Inserire cognome ";
            cin>>campionato[i].cognome;
            cout<<"Inserire squadra ";
            cin>>campionato[i].squadra;
            cout<<"Inserire reti ";
            cin>>campionato[i].reti;
        }
    }
    
    
    int calcolomassimo(int k,int n)
    {
        max=campionato[0];
        
        for(k=0;k<n;k++)
        {
            if(max.reti<campionato[i].reti)
            max=campionato[i];
        }
    }
    
    
    void stampabomber (&max)
    {
        cout<<"Il bomber del campionato e': "<<max.nome<<"  "<<max.cognome<<"  "<<max.reti;
    }
    
    
    int main()
    {
      caricamentocalciatori(i,n);
      calcolomassimo(k,n);
      stampabomber(max);
      
      return 0; 
    }
    Ultima modifica di Scarysuicide; 19-10-2017 a 22:21 Motivo: Ho dimenticato di inserire nel titolo "LINGUAGGIO C++"

  2. #2
    Quote Originariamente inviata da Scarysuicide Visualizza il messaggio
    Ragazzi ho creato questo programma che mi stampa il bomber con più reti nel campionato utilizzando record ecc...Però mi da errore e non riesco a capirlo. Se qualcuno di voi riesce a dirmi l'errore e magari a spiegarmelo così da non rifarlo per il futuro ne sarei lieto.

    In pratica ho già cercato di modificare il passaggio dei parametri, perchè supponevo che dovessi passare la N mantenendo il suo valore mentre la I (l'indice) potevo anche crearne un nuovo nel sottoprogramma seguente però comunque mi dava errore. Sono sicuro che il problema di fondo sia nel passaggio dei parametri però proprio non riesco a capire. Sicuramente è qualcosina che ho dimenticato per colpa della mia poca esperienza in merito.

    Ps: Sono alle prime armi non uccidetemi sono ancora giovane!!

    codice:
    #include <iostream>#include <string.h>
    
    
    using namespace std;
    
    
    struct calciatori
    {
        string nome;
        string cognome;
        string squadra;
        int reti;
    }campionato[100];
    
    
    void caricamentocalciatori(int i,const int &n)
    {
        cout<<"Quanti calciatori vuoi inserire?"<<endl;
        cin>>n;
        
        for(i=0;i<n;i++)
        {
            cout<<"Inserire nome: ";
            cin>>campionato[i].nome;
            cout<<"Inserire cognome ";
            cin>>campionato[i].cognome;
            cout<<"Inserire squadra ";
            cin>>campionato[i].squadra;
            cout<<"Inserire reti ";
            cin>>campionato[i].reti;
        }
    }
    
    
    int calcolomassimo(int k,int n)
    {
        max=campionato[0];
        
        for(k=0;k<n;k++)
        {
            if(max.reti<campionato[i].reti)
            max=campionato[i];
        }
    }
    
    
    void stampabomber (&max)
    {
        cout<<"Il bomber del campionato e': "<<max.nome<<"  "<<max.cognome<<"  "<<max.reti;
    }
    
    
    int main()
    {
      caricamentocalciatori(i,n);
      calcolomassimo(k,n);
      stampabomber(max);
      
      return 0; 
    }

    Allora la n dichiara la nel ma in e poi la passi come puntatore alle funzioni ; quindi nel main gli scriverai digita quanti calciatori vuoi inserire etc..!! Poi nel main k,max,i ed n chi sono? Devi dichiararli anche li !! La funzione stampa ha come puntatore max che non tiene traccia di quello che viene salvato nella variabile messa sopra!! Quindi nella funzione calcolo massimo devi passare come parametro il puntatore max,il puntatore n e la variabile intera k!

    Quindi dichiara nel ma in max,n,k,i e poi passi come puntatore n alla prima funzione , e alla funzione calcolomassimo che avrà come parametro anche il puntatore max e poi scrivi
    codice:
    &max=campionato[0]; //modifica il valore del puntatore

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.