Aidez moi svp !!! Urgent!!!!

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 à 17:01
jfloviou Messages postés 17 Date d'inscription samedi 23 mars 2002 Statut Membre Dernière intervention 25 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

3 réponses

cs_kjus Messages postés 269 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 9 juin 2003
28 août 2002 à 22:04
quel problème ?
***raph***
0
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 à 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);
}
}
}
}

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;
}
0
jfloviou Messages postés 17 Date d'inscription samedi 23 mars 2002 Statut Membre Dernière intervention 25 septembre 2002
29 août 2002 à 04:08
#include <stdio.h>

int main (void) {
int sc1=3,sc2=0,set1=0,set2=0,x=0, finset=0,fin=0,jeu1=0,jeu2=0,manche1=0,manche2=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)
{
finset=0;
sc1=0;
sc2=0;
set1=0;
set2=0;
printf("%d manches à %d\n",manche1,manche2);
while(!finset)
{
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)
{
manche1++;
printf("Set : %s\n",nom1);
finset=1;
}
if(set2==6 && set1<5)
{
manche2++;
printf("Set : %s\n",nom2);
finset=1;
}

if((set1==6&&set2==6))
{
sc1=0;
sc2=0;
if (manche1+manche2<4)
{
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");
do
{
scanf("%d",&x);
} while(x!=1 && x!=2);
if(x==1)
{
sc1=sc1+1;
}
else
{
sc2=sc2+1;
}
printf("score : %d - %d\n",sc1,sc2);
if(sc1>=6 && sc1>=sc2+2)
{
set1=set1+1;
printf("Set : %s\n",nom1);
manche1++;
finset=1;
//fin=(set1==7);
//set1=0;
}
if(sc2>=6 && sc2>=sc1+2)
{
set2=set2+1;
printf("Set : %s\n",nom2);
manche2++;
finset=1;
//fin=(set2==7);
}
}
}
}
if (set1>6 && set1>set2+1)
{
printf("Set : %s\n",nom1);
manche1++;
finset=1;
}
if (set2>6 && set2>set1+1)
{
printf("Set : %s\n",nom2);
manche2++;
finset=1;
}
}
if (manche1-manche2==3)
{
fin=1;
printf("vainqueur %s !!!!",nom1);
return 0;
}
if (manche2-manche1==3)
{
fin=1;
printf("vainqueur %s !!!!",nom2);
return 0;
}
}
return 0;
}

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

voila il ya pêut etre qques bugs !

jaja
0
Rejoignez-nous