J'ai un probleme de compilation avec dev cpp

papa -  
sfel Messages postés 1645 Statut Membre -
Bonjour,
j'ai un probleme avec dec cppqui m'affiche
syntaxe error before "tp"(qui est une de mes variables)
voici le code
#include <stdio.h>
#include <stdlib.h>
#define ligne 5
#define colonne 6

main()
{
typedef char tab[ligne][colonne];
typedef int tampon[colonne];
int i,j,plein=0,c;
tab t;
tampon tp;
for(i=0;i<=5;i++)
for(j=0;j<=6;j++)
t[i][j]=' ';
while(plein==0)
{
printf("%s\n%s\n","joueur1","dans quelle colonne jouez vous?");
scanf("%d\n",&c);
while((c>6) || (tp[c]>=6))
{
printf("%s\n","colonne pleine ou invalide");
printf("%s\n","choisissez en une autre");
scanf("%d\n",&c);
}
t[5-tp[c]][c]='x';
tp[c]+=1;
plein=1;
for(j=0;j<=6;j++)
if tp[j]<=5
plein=0;
if plein==0
{
printf{"%s\n%s\n","joueur2","dans quelle colonne jouez vous?");
scanf("%d\n",&c);
while((c>6) || (tp[c]>=6))
{
printf("%s\n","colonne pleine ou invalide");
printf("%s\n","choisissez en une autre");
scanf("%d\n",&c);
}
t[5-tp[c]][c]='o';
tp[c]+=1;
plein=1;
for(j=0;j<=6;j++)
if tp[j]<=5
plein=0;
}
}
printf("%s","le jeu est terminé");
system("PAUSE");
return 0;
}

je vous prie de bien vouloir me venir en aide
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. sfel Messages postés 1645 Statut Membre 430
     
    voila ton code corrigé

    j'explique les modifications, après celui-ci

    #include <stdio.h>
    #include <stdlib.h>
    #define ligne 5
    #define colonne 6
    
    int main()
    {
    	typedef char tab[ligne][colonne];
    
    	typedef int tampon[colonne];
    
    	int i,j,plein=0,c;
    	tab t;
    	tampon tp;
    
    	for(i=0;i<=5;i++)
    		for(j=0;j<=6;j++)
    			t[i][j]=' ';
    
    	while(plein==0)
    	{
    		printf("%s\n%s\n","joueur1","dans quelle colonne jouez vous?");
    		scanf("%d",&c);
    
    		while((c>6) || (tp[c]>=6))
    		{
    			printf("%s\n","colonne pleine ou invalide");
    			printf("%s\n","choisissez en une autre");
    			scanf("%d",&c);
    		}
    
    		t[5-tp[c]][c]='x';
    		tp[c]+=1;
    		plein=1;
    
    		for(j=0;j<=6;j++)
    			if (tp[j]<=5)
    				plein=0;
    
    		if (plein==0)
    		{
    			printf("%s\n%s\n","joueur2","dans quelle colonne jouez vous?");
    			scanf("%d",&c);
    
    			while((c>6) || (tp[c]>=6))
    			{
    				printf("%s\n","colonne pleine ou invalide");
    				printf("%s\n","choisissez en une autre");
    				scanf("%d",&c);
    			}
    
    			t[5-tp[c]][c]='o';
    			tp[c]+=1;
    			plein=1;
    
    			for(j=0;j<=6;j++)
    				if (tp[j]<=5)
    					plein=0;
    		}
    	}
    
    	printf("%s","le jeu est terminé");
    	system("PAUSE");
    
    	return 0;
    } 


    - en ligne 37, 40 et 47, il te faut mettre les conditions du "if" entre parenthèses.

    - également ligne 42,
    j'ai remplacer ton

    printf{"%s\n%s\n","joueur2","dans quelle colonne jouez vous?");

    par

    printf("%s\n%s\n","joueur2","dans quelle colonne jouez vous?");

    - il y avait une accolade à la place de la parenthèse, juste après ton printf.

    - enlevé les \n dans tes scanf

    - et puis, j'ai mis "main" de type int, car en fonction des compilateurs, c'est pas automatique...

    voili voilou
    0