Faire un classement en C
Fermé
nico
-
18 juin 2008 à 14:58
kazouu Messages postés 466 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 24 juillet 2008 - 19 juin 2008 à 09:45
kazouu Messages postés 466 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 24 juillet 2008 - 19 juin 2008 à 09:45
A voir également:
- Faire un classement en C
- Logiciel classement photo - Guide
- Logiciel de classement de documents gratuit - Télécharger - Bureautique
- Gmail regle de classement - Guide
- Nostale classement ✓ - Forum Excel
- Logiciel de chronométrage et classement gratuit - Télécharger - Sport
22 réponses
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 15:01
18 juin 2008 à 15:01
essai (*e1)->nom
acyd
Messages postés
11
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
19 juin 2008
3
18 juin 2008 à 15:05
18 juin 2008 à 15:05
Bonjour, apparemment vous passez à la fonction match un pointeur vers la structure classement (&c.e[0]) alors qu'elle attend un pointeur vers une équipe (&e[0]).
Pas sur, mais je crois que c'est autour de cela qu'il faut chercher...
A+
Pas sur, mais je crois que c'est autour de cela qu'il faut chercher...
A+
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 15:10
18 juin 2008 à 15:10
moi je dirai plutot
match ( &(c.e[0]) , &(c.e[1]) );
match ( &(c.e[0]) , &(c.e[1]) );
Non on peut pas faire ca, le compilateur ne vas pas reconnaitre e appartenant à c;
Le mieux c'est peut d'être de mettre c en entrée sortie et le numero des équipes en entrée.
Le mieux c'est peut d'être de mettre c en entrée sortie et le numero des équipes en entrée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 15:17
18 juin 2008 à 15:17
je pense que tu peux le faire comme ca
match attend une equipe*
void match(struct Equipe* e1,struct Equipe* e2)
or
c.e[0] est une équipe donc il faut lui passer l'adresse
match attend une equipe*
void match(struct Equipe* e1,struct Equipe* e2)
or
c.e[0] est une équipe donc il faut lui passer l'adresse
il me met toujours
request for member «nom» in something not a structure or union dans la fonction match
si je fais ca kazzouu
request for member «nom» in something not a structure or union dans la fonction match
si je fais ca kazzouu
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 15:18
18 juin 2008 à 15:18
oui mais ca t'enleve deja la 2eme erreur c'est deja ca
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 15:20
18 juin 2008 à 15:20
pour la fonction match ca doit etre soit
printf("match %s contre %s",(*e1).nom,(*e2).nom);
soit
printf("match %s contre %s",(*e1)->nom,(*e2)->nom);
pas trop envi de sortir le compilateur =)
printf("match %s contre %s",(*e1).nom,(*e2).nom);
soit
printf("match %s contre %s",(*e1)->nom,(*e2)->nom);
pas trop envi de sortir le compilateur =)
en fait j'ai pas mis toute les erreurs c'est à chaque fois que j'utilise *e1 dans la fonction match que ca marque cette erreur
comme si il reconnait pas que c'est une structure
comme si il reconnait pas que c'est une structure
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 15:27
18 juin 2008 à 15:27
essai comme ca alors ce devrai marcher niquel
void match(struct Equipe* e1,struct Equipe* e2) {
int score1,score2;
printf("match %s contre %s",(*e1).nom,(*e2).nom);
scanf("%d",&score1);
scanf("%d",&score2);
(*e1).butpour+=score1;
(*e1).butcontre+=score2;
(*e2).butpour+=score2;
(*e2).butcontre+=score1;
}
void match(struct Equipe* e1,struct Equipe* e2) {
int score1,score2;
printf("match %s contre %s",(*e1).nom,(*e2).nom);
scanf("%d",&score1);
scanf("%d",&score2);
(*e1).butpour+=score1;
(*e1).butcontre+=score2;
(*e2).butpour+=score2;
(*e2).butcontre+=score1;
}
par contre j'aurais une question pratique
que me conseillez vous pour garder en mémoire tout les résultats de tout les matchs.
J'ai pensé à rajouter 1 tableau adversaire(pour savoir contre qui une equipe a déjà joué)
et une matrice pour enregistrer tout les resultats
j'ai pour but de tout enregistrer dans une base de donnée pour regarder à tout moment les scores des anciennes rencontres et comme j'ai jamais fait d'uml je sais pas trop comment faire.
que me conseillez vous pour garder en mémoire tout les résultats de tout les matchs.
J'ai pensé à rajouter 1 tableau adversaire(pour savoir contre qui une equipe a déjà joué)
et une matrice pour enregistrer tout les resultats
j'ai pour but de tout enregistrer dans une base de donnée pour regarder à tout moment les scores des anciennes rencontres et comme j'ai jamais fait d'uml je sais pas trop comment faire.
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 15:53
18 juin 2008 à 15:53
moi je te conseil un write dans un fichier .txt
ouai ca sera pas trop lourd, un peu chiant à programmer avec des concatenations et deconcatenations de chaine
mais après ca ira
et c'est pas trop embettant non plus si j'ai envie de modifier mon programme, par exemple en faisant un tirage au sort pour savoir contre qui vont jouer les equipes.
mais après ca ira
et c'est pas trop embettant non plus si j'ai envie de modifier mon programme, par exemple en faisant un tirage au sort pour savoir contre qui vont jouer les equipes.
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 16:24
18 juin 2008 à 16:24
les concaténation de chaine se font très bien avec STRCONCAT et le write y'a pas plus simple
ca à l'air de marcher.
je dois juste me concentrer sur l'algorithme qui va s'occuper de calculer la position des equipes au classement selon les vrais regles de football et l'afficher.
je dois juste me concentrer sur l'algorithme qui va s'occuper de calculer la position des equipes au classement selon les vrais regles de football et l'afficher.
kazouu
Messages postés
466
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
24 juillet 2008
12
18 juin 2008 à 16:32
18 juin 2008 à 16:32
tu as juste a comparer le score que tu rentre dans la fonction match et a incrementer les points de chacune des deux equipes en fonction du score :)
void match(struct Equipe* e1,struct Equipe* e2) {
int score1,score2;
printf("match %s contre %s",(*e1).nom,(*e2).nom);
scanf("%d",&score1);
scanf("%d",&score2);
(*e1).butpour+=score1;
(*e1).butcontre+=score2;
(*e2).butpour+=score2;
(*e2).butcontre+=score1;
if(score1>score2)(*e1).score+=3;
if(score1<score2)(*e2).score+=3;
else {(*e1).score+=1;(*e1).score+=1;}
}
void match(struct Equipe* e1,struct Equipe* e2) {
int score1,score2;
printf("match %s contre %s",(*e1).nom,(*e2).nom);
scanf("%d",&score1);
scanf("%d",&score2);
(*e1).butpour+=score1;
(*e1).butcontre+=score2;
(*e2).butpour+=score2;
(*e2).butcontre+=score1;
if(score1>score2)(*e1).score+=3;
if(score1<score2)(*e2).score+=3;
else {(*e1).score+=1;(*e1).score+=1;}
}