(c) trouve pas mes erreurs
erreur?
-
41 Messages postés 51 Statut Membre -
41 Messages postés 51 Statut Membre -
Bonjour,
je n'arrive pas à trouver mes erreurs dans mon code! pouvez -vous m'aider??
[ en c jeu puissance 4]
merci
je n'arrive pas à trouver mes erreurs dans mon code! pouvez -vous m'aider??
[ en c jeu puissance 4]
merci
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char *creer_grille(int,int);
void afficher_grille(char *,int,int);
int verifgrille(char *p4,int colonnes,int lignes,char *joueuractuel);
int main (void) {
char joueur,joueur2;
char *joueuractuel=NULL; /* Pointeur joueuractuel vers joueur */
int choix,nmbrerandom,JEU=1,CHOIXVALIDE=1; /* nmbrerandom pour la fonction random */
int colonnes,lignes=6;
char *p4=NULL;
/* Menu du jeu */
while(CHOIXVALIDE) { /* Operateur logique boolen, tant que choixvalide != 0, on relance le menu */
printf("\nSelectionnez le type de partie souhait\n\n");
printf("-> Humain vs Humain : 1\n");
printf("-> Humain vs CPU : 2\n");
printf("-> CPU vs CPU : 3\n\n");
printf("Votre choix : ");
scanf("%d",&choix);
switch(choix) {
case 1:
joueur='O',joueur2='X',CHOIXVALIDE=0;
break;
case 2:
joueur='O',joueur2='S',CHOIXVALIDE=0;
break;
case 3:
joueur='S',joueur2='T',CHOIXVALIDE=0;
break;
default:
break; } }
/* Fin Menu du jeu */
/* Creer la grille */
printf("\nNombre de colonnes : ");
scanf("%d",&colonnes);
p4=creer_grille(colonnes,lignes);
/* fin de creer la grille */
/* random qui renvoie 0 ou 1 et determine le joueur qui commence */
srand(time(NULL)); /* On initialise le gnrateur de nombre alatoires */
nmbrerandom=(rand() % 2);
if(nmbrerandom==0)
joueuractuel=&joueur;
joueuractuel=&joueur2;
/* fin random */
/* Debut de la boucle */
while(JEU) { /* Operateur logique JEU , tant que JEU != 0 (que personne n'a gagn) on continue le jeu */
afficher_grille(p4,colonnes,lignes); /* Affichage de la grille */
int i,j;
/* test */
*p4='O';
afficher_grille(p4,colonnes,lignes);
/*fin test */
int condition= verifgrille(p4,colonnes,lignes,joueuractuel); /* test si qqn a gagn */
if(condition == 1)
printf("gagne");
printf("perdu\n");
return 0; } }
/* Debut des fonctions */
/* Fonction crer grille */
char *creer_grille(int col,int lignes) {
int i,j;
char *p4=malloc(lignes*sizeof(*p4));
if(p4==NULL) exit(0);
for(i=0;i<lignes;i++)
p4=malloc(col*sizeof(*p4));
for(i=0;i<lignes;i++)
for(j=0;j<col;j++)
*p4=' ';
return p4; }
/* Fonction Afficher grille */
void afficher_grille(char *p4,int colonnes,int lignes) {
int i,j;
for(i=0;i<lignes;i++) {
printf("\n");
for(j=0;j<colonnes;j++)
printf("| %c ",*p4); }
printf("\n");
for(i=0;i<colonnes;i++)
printf("%d ",i);
printf("\n\n"); }
/* Fonction Verifier Grille */
int verifgrille(char *p4,int colonnes,int lignes,char *joueuractuel) {
/* verif horizontale */
int compteur=0;
int i,j,condition;
for(i=(lignes-1);i>=0;i--) {
if(compteur==4) {
printf("Celui qui a les pions %c a gagn\n",*joueuractuel);
return 1; }
else compteur=0;
for(j=0;j<colonnes;j++) {
if(compteur==4) {
printf("Celui qui a les pions %c a gagn\n",*joueuractuel);
return 1; }
if(*p4 != *joueuractuel) compteur=0;
else compteur++; } }
/* verif verticale */
compteur=0;
for(j=0;j<colonnes;j++) {
if(compteur==4) {
return 1; }
else compteur=0;
for(i=(lignes-1);i>=0;i--) {
if(compteur==4) {
printf("Vous avez gagn\n");
return 1; }
if(*p4 != *joueuractuel) compteur=0;
else compteur++; } }
return 0;
}
/* Fin des fonctions */
A voir également:
- (c) trouve pas mes erreurs
- Pourquoi ma tv ne trouve pas toutes les chaînes - Guide
- Ou se trouve le presse papier - Guide
- Où se trouve mon adresse url ? - Guide
- Word a trouvé du contenu illisible - Guide
- Ou se trouve la corbeille de whatsapp - Guide
4 réponses
C'est trop long, j'arrive pas à suivre! est ce que vous avez des erreurs pendant la compilation ou pendant l'execution.
il y en a 3 les voici:
C:\Program Files\Microsoft Visual Studio\MyProjects\44\p4.c(74) : error C2143: syntax error : missing ';' before 'type' C:\Program Files\Microsoft Visual Studio\MyProjects\44\p4.c(83) : error C2143: syntax error : missing ';' before 'type' C:\Program Files\Microsoft Visual Studio\MyProjects\44\p4.c(85) : error C2065: 'condition' : undeclared identifier Error executing cl.exe.
Pour la ligne 85, essaye :
if(condition == 1)
{
printf("gagne");
}
else
{
printf("perdu\n");
}
Pour les 2 autres, essaye de déclarer tes variables indépendamment avant de les utiliser, je sais pas si ça changera quelque chose, auquel cas cherche des erreurs de syntaxe, de ";" particulièrement, mais j'en vois aucune moi.
if(condition == 1)
{
printf("gagne");
}
else
{
printf("perdu\n");
}
Pour les 2 autres, essaye de déclarer tes variables indépendamment avant de les utiliser, je sais pas si ça changera quelque chose, auquel cas cherche des erreurs de syntaxe, de ";" particulièrement, mais j'en vois aucune moi.