PDA

Visualizza la versione completa : Un aiutino con questo programmino?


Scarysuicide
19-10-2017, 23:04
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!!


#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;
}

AmedeoFalco
20-10-2017, 01:09
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!!


#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


&max=campionato[0]; //modifica il valore del puntatore

Loading