Pages : 1
#1 Le 14/12/2007, à 17:34
- alix_46
problème en c
bonjour à tous!
je suis bloqué avec mon code en C et je ne sais pas comment le résoudre!!!
svp aidez moi, c'est urgent!!
merci d'avance
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 4
/* prototype fontion*/
/* fin prototype*/
/* fonction principale main*/
int main (void)
{
int vect_ordi[MAX], vect_joueur[MAX], limite= 4;
int ntour=0;
int i;
printf(" ***MASTER MIND** \n");
printf(" deviner une combinaison de quatre couleurs parmi les sept proposés\n");
printf(" vous avez droit a 10 essais!!!!!\n");
printf(" couleurs proposés\n");
printf(" 1 = rouge\n");
printf(" 2 = bleu\n");
printf(" 3 = vert\n");
printf(" 4 = jaune\n");
printf(" 5 = blanc\n");
printf(" 6 = orange\n");
printf(" 7 = noir\n");
/* combinaison_ordi=*/ initialiser_vecteur ()/*( *vect_ordi[0],*limite);*/
//on tire au hasard
for(i=0;i<limite;i++)
combinaison_ordi= (rand()%7)+1;
printf("que la partie commence");
while( comparer_nbr_bp(int vect_ordi,int vect_joueur,int ntour == 0)
{
printf(" il vous reste %d coup a jouer ", (10-ntour));
demande_combinaison_joueur= demande_nbr ( *vect_joueur[0],*limite);
lire_combinaison_joueur= lire_nbr ( *vect_joueur[0],*limite);
bien_placer= comparer_nbr_bp ( *vect_ordi[0],*vect_joueur[0],*limite);
mal_placer = comparer_nbr_mp ( *vect_ordi[0],*vect_joueur[0],*limite);
trouve_pas = comparer_nbr_tp ( *vect_ordi[0],*vect_joueur[0],*limite);
ntour ++;
}
if (ntour != 10)
printf("bravo , vous avez gagner");
else
printf(" dommage, perdu");
getchar();
return 0;
}
/* les differents fonctions*/
void initialiser_vecteur ( int *vect_ordi[0],int *limite)
{
int i;
printf(" les nombres choisit par lordinateur");
for ( i=0;i<limite;i++)
{
vect_ordi[i]= (rand()%7+1;
}
return i;
}
void demande_nbr ( int *vect_joueur[0],int *limite)
{
int i;
for ( i=0;i<limite;i++)
{
printf("%d",vect_joueur[0]);
}
}
void lire_nbr ( int *vect_joueur[0],int *limite)
{
int i;
for ( i=0;i<limite;i++,vect_joueur++)
{
printf("%d",*vect_joueur);
}
return i;
}
void comparer_nbr_bp ( int *vect_ordi[0],int *vect_joueur[0],int *limite, int *ntour);
{
int i;
int trouve=0;
for ( i=0;i<limite;i++)
{
if(vect_ordi[i] == vect_joueur[i])
{
printf(" la couleur %d est bien correct,i+1);
trouve++;
}
if(trouve == 4)
return 1;
if (ntour == 10)
return 1;
}
return 0
}
/*void mal_placer = comparer_nbr_mp ( *vect_ordi[0],*vect_joueur[0],*limite)
{
int i,j,k;
if (*
*/
void comparer_nbr_tp ( int *vect_ordi[0],int *vect_joueur[0],int *limite)
{
int i;
int trouve=0;
for ( i=0;i<limite;i++)
{
if(vect_ordi[i] != vect_joueur[i])
{
printf(" la couleur %d ne se trouve pas dans la combinaison ,i+1);
trouve++;
}
}
return trouve
}
Dernière modification par slasher-fun (Le 18/09/2011, à 13:00)
#2 Le 14/12/2007, à 17:40
- slasher_fun
Re : problème en c
Euh... des détails ? C'est bien gentil de nous balancer un code avec "aidez moi c'est urgent", mais on est là pour t'aider, par pour tout faire à ta place...
Hors ligne
#3 Le 14/12/2007, à 17:46
- Tycho Brahe
Re : problème en c
Le truc bien visible est que tu as oublié les prototypes des fonctions tout au début (d'ailleur tu avais prévu des commentaires pour définir la zone prévue a cet effet). Forcément, si elles sont après le main ça va pas marcher tout seul
Après je n'irais pas regarder un code sans connaitre le soucis, je n'aime pas trop les devinettes, surtout quand elles sont sans coloration syntaxique.
Dernière modification par Tycho Brahe (Le 14/12/2007, à 17:47)
Loi de Newton :
Si tu restes à glander sous le pommier, tu pourrais bien prendre une pomme sur la gueule.
Hors ligne
#4 Le 14/12/2007, à 17:56
- slasher_fun
Re : problème en c
Ah effectivement les fonctions utilisées avant leurs déclarations spakoul
Hors ligne
#5 Le 14/12/2007, à 18:26
- alix46
Re : problème en c
j'ai modifié un peu le code!
je veux juste savoir ce qui ne va pas pour savoir ce que je dois changer!!
et je ne trouve pas comment faire pour dire qu'un nombres est mal placé!
merci
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 4
/* prototype fonction*/
void initialiser_vecteur ()
void demande_combinaison_joueur= demande_nbr ( int *vect_joueur[0],int*limite);
int lire_combinaison_joueur= lire_nbr ( int *vect_joueur[0],int *limite);
int bien_placer= comparer_nbr_bp ( int *vect_ordi[0],int*vect_joueur[0],int*limite);
int mal_placer = comparer_nbr_mp (int *vect_ordi[0],int*vect_joueur[0],int*limite);
int trouve_pas = comparer_nbr_tp ( int *vect_ordi[0],int*vect_joueur[0],int*limite);
/* fin prototype*/
/* fonction principale main*/
int main (void)
{
int vect_ordi[MAX], vect_joueur[MAX], limite= 4;
int ntour=0;
int i;
printf(" ***MASTER MIND** \n");
printf(" deviner une combinaison de quatre couleurs parmi les sept proposés\n");
printf(" vous avez droit a 10 essais!!!!!\n");
printf(" couleurs proposés\n");
printf(" 1 = rouge\n");
printf(" 2 = bleu\n");
printf(" 3 = vert\n");
printf(" 4 = jaune\n");
printf(" 5 = blanc\n");
printf(" 6 = orange\n");
printf(" 7 = noir\n");
/* combinaison_ordi=*/ initialiser_vecteur ()/*( *vect_ordi[0],*limite);*/
//on tire au hasard
for(i=0;i<limite;i++)
combinaison_ordi= (rand()%7)+1;
printf("que la partie commence");
while( comparer_nbr_bp(int vect_ordi,int vect_joueur,int ntour == 0)
{
printf(" il vous reste %d coup a jouer ", (10-ntour));
demande_combinaison_joueur= demande_nbr ( *vect_joueur[0],*limite);
lire_combinaison_joueur= lire_nbr ( *vect_joueur[0],*limite);
bien_placer= comparer_nbr_bp ( *vect_ordi[0],*vect_joueur[0],*limite);
mal_placer = comparer_nbr_mp ( *vect_ordi[0],*vect_joueur[0],*limite);
trouve_pas = comparer_nbr_tp ( *vect_ordi[0],*vect_joueur[0],*limite);
ntour ++;
}
if (ntour != 10)
printf("bravo , vous avez gagner");
else
printf(" dommage, perdu");
getchar();
return 0;
}
/* les differents fonctions*/
void initialiser_vecteur ( int *vect_ordi[0],int *limite)
{
int i;
printf(" les nombres choisit par lordinateur");
for ( i=0;i<limite;i++)
{
vect_ordi[i]= (rand()%7+1;
}
return i;
}
void demande_nbr ( int *vect_joueur[0],int *limite)
{
int i;
for ( i=0;i<limite;i++)
{
printf("%d",vect_joueur[0]);
}
}
void lire_nbr ( int *vect_joueur[0],int *limite)
{
int i;
for ( i=0;i<limite;i++,vect_joueur++)
{
printf("%d",*vect_joueur);
}
return i;
}
void comparer_nbr_bp ( int *vect_ordi[0],int *vect_joueur[0],int *limite, int *ntour);
{
int i;
int trouve=0;
for ( i=0;i<limite;i++)
{
if(vect_ordi[i] == vect_joueur[i])
{
printf(" la couleur %d est bien correct",i+1);
trouve++;
}
if(trouve == 4)
return 1;
if (ntour == 10)
return 1;
}
return 0
}
/*void mal_placer = comparer_nbr_mp ( in*vect_ordi[0],int*vect_joueur[0],int*limite)
{
int i,j,k;
if (*
*/
void comparer_nbr_tp ( int *vect_ordi[0],int *vect_joueur[0],int *limite)
{
int i;
int trouve=0;
for ( i=0;i<limite;i++)
{
if(vect_ordi[i] != vect_joueur[i])
{
printf(" la couleur %d ne se trouve pas dans la combinaison" ,i+1);
trouve++;
}
}
return trouve
}
#6 Le 14/12/2007, à 19:12
- freebird
Re : problème en c
Il faut que tu dises quel problème tu rencontres. Sans ça c'est pas gagné de t'aider ;-)
Si c'est une erreur de compilation, copie le message d'erreur que tu as.
Hors ligne
#7 Le 14/12/2007, à 21:04
- telliam
Re : problème en c
ça ne peut pas compiler, il y a des fautes de syntaxe :
la déclaration des prototypes est mal construite ( oubli de ; et initialisation de variable avec le prototype)...
de plus tu ne dois pas déclarer le parametre limite comme un int * mais comme un int.
Règles d'abord les problèmes de compilation, ensuite tu pourras attaquer les autres problèmes
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
Pages : 1