magicoz
Messages postés6Date d'inscriptionmercredi 28 août 2002StatutMembreDernière intervention10 décembre 2002
-
28 août 2002 à 17:01
jfloviou
Messages postés17Date d'inscriptionsamedi 23 mars 2002StatutMembreDernière intervention25 septembre 2002
-
29 août 2002 à 04:08
Je cherche quelqu'un qui pourrait m'aider dans mon problème sur le score de tennis. Je suis en train de péter un plomb car rien ne fonctionne dans mes manip. Aidez moi SVP
magicoz
Messages postés6Date d'inscriptionmercredi 28 août 2002StatutMembreDernière intervention10 décembre 2002 28 août 2002 à 22:46
Mon problème est que je n'arrive pas à insèrer les notions tie break et victoire du match en 2 ou 3 manches. Le hic c'est que je n'arrive plus à y mettre une ligne de code car tout se détraque un peu plus. Peux tu me mettre les lignes nécessaires et m'expliquer ce que tu as fait.
merci d'avance.
voici mon programme
#include <stdio.h>
int main (void) {
int sc1=0,sc2=0,set1=0,set2=0,x=0, fin=0,jeu1=0,jeu2=0;
char nom1[25], nom2[25];
printf("Veuillez entrer les noms des joueurs \n");
printf("Joueur 1 \n");
scanf("%s",nom1);
printf("Joueur 2 \n");
scanf("%s",nom2);
while(!fin) {
printf("Veuillez saisir le numero du vainqueur du point : \n");
scanf("%d",&x);
while((x<1)||(x>2))
{
printf("Votre saisie est fausse, veuillez recommencer \n");
scanf("%d",&x);
}
if(x==1) {
sc1++;
} else if (x==2) {
sc2++;
}
printf("score : ");
if(sc1>3 || sc2>3) {
if(sc1==sc2-1) {
printf("Avantage %s\n",nom2);
} else if(sc2==sc1-1) {
printf("Avantage %s\n",nom1);
} else if (sc1>sc2) {
sc1=0;
sc2=0;
set1++;
printf ("%d - %d \n",set1,set2);
printf ("Jeu %s\n",nom1);
} else if (sc2>sc1) {
sc1=0;
sc2=0;
set2++;
printf ("%d - %d \n",set1,set2);
printf ("Jeu %s\n",nom2);
} else if (sc1==sc2) {
printf ("egalite\n");
}
} else {
switch(sc1) {
case 0 : printf("0");
break;
case 1 : printf("15");
break;
case 2 : printf("30");
break;
case 3 : printf("40");
break;
}
switch(sc2) {
case 0 : printf(" - 0 \n");
break;
case 1 : if(sc1==sc2)
{
printf("A \n");
}
else
{
printf(" - 15\n");
}
break;
case 2 : if(sc1==sc2)
{
printf("A \n");
}
else
{
printf(" - 30\n");
}
break;
case 3 : if(sc1==sc2)
{
printf("A \n");
}
else
{
printf(" - 40\n");
}
break;
}
}
if((set1==6&&set2==5) || (set2==6&&set1==5))
{
while(set1!=7 || set2!=7)
{
sc1=0;
sc2=0;
while((sc1>=6 && sc1>=sc2+2)||(sc2>=6 && sc2>=sc1+2))
{
printf("Veillez saisir le numéro du vanqueur du point (1 ou 2) : \n");
scanf("%d",x);
if(x==1)
{sc1=sc1+1;
}
else
{
sc2=sc2+1;
}
if(sc1>=6 && sc1>=sc2+2)
{set1=set1+1;
fin=(set1==7);
}
if(sc2>=6 && sc2>=sc1+2)
{
set2=set2+1;
fin=(set2==7);
}
}
}
}
mon conseil: utilise le debugger, tes erreurs etaient assez simples qd on detaillait bien. Par ailleurs n'oublie pas les indentations dans ton code: tes erreurs principales etaient des problemes de "if" qui sont dures a voir qd tout le code se suit...
la version ci-dessus tient compte du tie break ds les premieres manches, 3 sets gagnants, pas de tie break a 2-2