Problème dans un programme sur le score de tennis

magicoz Messages postés 6 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 10 décembre 2002 - 28 août 2002 à 15:37
cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 - 28 août 2002 à 20:42
bonjour,
J'ai un programme de tennis, dans lequel je n'arrive pas à intégrer les notions de tie break et le critères d'arret à 3 sets gagnants. Après de nombreux essais, je ne parviens à aucun résultat. Pourriez vous m'aider, merci d'avance.
Voici la partie que j'ai déjà :
#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);
}
}
}
}

fin = ((set1==6 && set2<5) || (set2==6 && set1<5));
if (set1==6 && set2<5)
{
jeu1=jeu1+1;
printf("jeu %d - %d",jeu1,jeu2);
}
if(set2==6 && set1<5)
{
jeu2=jeu2+1;
printf("jeu %d - %d",jeu1,jeu2);
}
}
return 0;
}

1 réponse

cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 1
28 août 2002 à 20:42
if(sc1==3 && sc2==3)

essaye ca pour l egalite
Chevalier Pheno Starboard, membre de la Freeman-Corp
0
Rejoignez-nous