PDA

View Full Version : Problema gestione campionato


Luc@s
16-06-2002, 19:34
Ho sto cod:

#include <stdio.h>
#include "type.h"
#include "funz.h"
intero esci;
classifica campionato[10];
int main()
{
do{
puts("\n\tOpzioni possibili");
puts("1. Guarda la Classifica");
puts("2. Aggiorna la classifica");
puts("3. Esci");
printf("\n");
scanf("%i", &esci);
printf("\n");
if (esci == 1)
{
mostra();
}
}while(esci != 3);

return 0;
}

void mostra()
{
int j;
printf("\tNome squadra\tPunteggio\n");
for(j=0;j<10;j++){
printf("\tcampionato.squadra\tcampionato.punti");
printf("\t%\ts%i",campionato[j].squadra,campionato[j].punti);
}
}


Il prog si compila è va ma se provo a eseguire guarda() mi esce sempre in ordine........ uno 0, Nome Squadra, Punteggio........... e sono tutti sballati:(


Help me.........

ilsensine
17-06-2002, 08:32
Intanto è sbagliata questa riga:
- printf("\t%\ts%i",campionato[j].squadra,campionato[j].punti);
+ printf("\t%s\t%i",campionato[j].squadra,campionato[j].punti);

Luc@s
17-06-2002, 13:01
cosi nin va:(

#include <stdio.h>
#include <conio.h>
#include "type.h"
#include "funz.h"
NUMERO esci;
classifica campionato[MAX];
int main()
{
do{
puts("\n\tOpzioni possibili");
puts("1. Guarda la Classifica");
puts("2. Aggiorna la classifica");
puts("3. Esci");
printf("\n");
scanf("%i", &esci);
printf("\n");
if (esci == 1)
{
mostra();
}
}while(esci != 3);

return 0;
}

void mostra()
{
NUMERO j;
printf("\tNome squadra\tPunteggio\n");
for(j=0;j<MAX;j++){
printf("\t%s\t%i",campionato[j].squadra,campionato[j].punti);
}
}


:(

ilsensine
17-06-2002, 14:11
"cosi nin va" non è una richiesta di aiuto molto chiara

Domanda: in mostra() stampi il contenuto dell'array campionato...ma chi lo inizializza?

Luc@s
17-06-2002, 14:38
Originariamente inviato da ilsensine
[B]"cosi nin va" non è una richiesta di aiuto molto chiara

Domanda: in mostra() stampi il contenuto dell'array campionato...ma chi lo inizializza?

cioè???????
Non lo si inizializza cossi:classifica campionato[MAX]; ????????

ilsensine
17-06-2002, 14:48
Chi "riempie" campionato[j].squadra e campionato[j].punti?

Luc@s
17-06-2002, 14:53
Originariamente inviato da ilsensine
[B]Chi "riempie" campionato[j].squadra e campionato[j].punti?

In teoria squadra è il nome di una squadra(Lazio ad es.) e punti i punti delle partite(1 pareggio, 0 perdita, 3 vittoria):(

Ma sto ciclo è giusto??????
for(j=0;j<MAX;j++){
printf("\t%s\t%i",campionato[j].squadra,campionato[j].punti);
}

ilsensine
17-06-2002, 14:58
E' giusto se:
- classifica::squadra è tdi tipo char *
- classifica:: punti è di tipo int
- "qualcuno" ha inizializzato i valori nell'array campionato. Nota che la dichiarazione

classifica campionato[MAX];

instanzia l'array, ma non inizializza un bel niente. O hai "omesso" la parte di codice che mette "lazio", "roma" ecc. dentro campionato, o mi stai facendo diventare matto inutilmentte ;)

Luc@s
17-06-2002, 15:08
e come si inizializza?????? sai, io nn ho mai usato array di struct:(

ilsensine
17-06-2002, 15:18
Questo con il gcc funziona; su altri compilatori forse va ritoccato qualcosa:


#define MAX 3 /* ad esempio */

typedef struct classifica {
char *squadra;
int punti;
} classifica;

classifica campionato[MAX] = {
{"Roma", 0},
{"Lazio", 0},
{"Juventus", 0}
};

Luc@s
17-06-2002, 15:19
ho capito come fa, mo provo e ti dico........