CALCUL DE POINTS AU TENNIS DE TABLE

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 28 oct. 2003 à 12:48
PierreAd Messages postés 63 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 20 février 2006 - 27 nov. 2003 à 19:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/17459-calcul-de-points-au-tennis-de-table

PierreAd Messages postés 63 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 20 février 2006
27 nov. 2003 à 19:43
oui, je sais pour les "ratios" (ce sont en fait des coefficients ;o)....)... le problme c'est que tant que je suis incapable de stocker ces données dans un fichier, ça sert pas a grand chose que je mette des coeff ou autre chose... donc des que je peux, j'essaierai de m'occuper de la sauvegarde, puis apres je pourrai m'occuper des coeff !!!

merci de la remarque, CT sympa :)

PierreAd
dafunker Messages postés 47 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 10 décembre 2006
27 nov. 2003 à 17:19
Hum, c pas pour critiquer le code, je suis moi meme newB, je veux juste critiquer un petit point.
En fait, au tennis de table, en fonction des competitions (internationales, regionales) correspond un ratio, plus la competition est importante, plus les points sont augmenter.
Par exemple, si tu gagne 50 points en competition internationale, ca ne sera pas 50 mais 50 * 2 ou 1.5, je ne me souviens plus, mais en tout cas, c bcp plus important qu'en departementale. Bref, sinon, le code est bien :)
Mais le code ne sera pas utilisé si le ratio n'y est pas car les points que nous marques ne seront pas valable en fonction de la competition.
Voila, have fun :)
PierreAd Messages postés 63 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 20 février 2006
29 oct. 2003 à 12:12
Ah oui OK, effectivement c'est beaucoup plus simple si j'utilise un return pour chaque cas, comme ça on sort de la fonction !?! bon je vais faire ça alors, merci !!! parce que avec if - else c'était pas génial...

>> ymca : je connaissais pas les else if..... ça a l'air plutot pratique !!! ppour les tableaux et structures, j'en suis pas encore tout a fait là en fait.. quand je dis que je suis débutant, c'est au sens le plus strict du terme lol !!! mais promis je vais m'y mettre bientot !!! ;)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 oct. 2003 à 00:10
double pts_defaite(int diff_pts)
{
if(diff_pts >= 0 && diff_pts <= 24) return -5;
idem pour autres cas vu qu'ils sont exclusifs
}
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
28 oct. 2003 à 23:34
En utilisant des Else if le code sera plus facile à lire :

if (diff_pts >= 0 && diff_pts <= 24)
pts_match = -5 ;
else if (diff_pts >= 25 && diff_pts <= 49)
pts_match = -6 ;
else if (diff_pts >= 50 && diff_pts <= 99)
pts_match = -7 ;
else if (diff_pts >= 100 && diff_pts <= 149)
pts_match = -8 ;
...etc


Ou alors, tu peux utiliser un tableau avec une structure contenant :
la borme min, la borne max et les points. En parcourant le tableau avec une boucle il suffira de rechercher dans quek intervalle tu est et récupérer le score
PierreAd Messages postés 63 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 20 février 2006
28 oct. 2003 à 13:41
euh..... mais ça va être un sacré bazar si je dois imbriquer tous ces if non ??? tu veux dire que je dois utiliser if-then-else ??? bon je vais essayer ça.... confirme moi si j'ai bien compris ce que tu voulais dire stp....

En fait au début je voulais faire ça avec un switch, mais on peut utiliser switch (variable) que dans le cas ou variable vaut une valeur particulière, pas pour une valeur comprise entre deux nombres ?! c'est bien ça ?

sinon, je m'excuse mais pour l'instant je l'ai pas fait, ce code est bon seulement pour moi en fait, dans la fonction main(), il faut remplacer la constante pts_persos par votre nombre de points a vous (1301, c'est pour moi...)
désolé c'est aussi quelque chose dont je dois m'occuper, j'ai plutot posté cette premiere version pour le fonctionnement et la syntaxe.....
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 oct. 2003 à 12:48
if(diff_pts >= 25 && diff_pts <= 49) alors NE PAS faire les autres tests.
Valable pour toutes des suites de if.
Rejoignez-nous