Demande de test.

Demande de test. - C - Programmation

Marsh Posté le 19-03-2007 à 09:58:16    

Salut tout le monde. J'ai un pb avec mon programme. La compilation est nikelle et le programme se lance sans pb mais il me donne une erreur windows et je ne comprends pas pkoi. Si vous pouviez m'aider... Merci d'avance
 

Citation :


#include <stdio.h>
 
 void Code_Alea (int Code[],int Test_Code[]) {
 
  int i;
   
  printf ("\n Entrez les 5 chiffres du Code separes par un espace:" );
  printf ("\n *Les chiffres doivent etre compris entre 1 et 8*\n" );
  printf ("\n :" );
 
  for (i=0;i<5;i++) {
    scanf ("%d",&Code[i]);
    Test_Code[i]=Code[i];
  }
 }
 
 
 void Saisie_J (int Prop[]) {
 
  int i;
   
  printf ("\n Proposez 5 chiffres sspares par un espace:" );
  printf ("\n *Les chiffres doivent etre compris entre 1 et 8*\n" );
  printf ("\n\n - Pour quitter rentrez le code 0 0 0 0 0 -" );
  printf ("\n :" );
 
  for (i=0;i<5;i++) {
      scanf ("%d",&Prop[i]);
      }
}
 
  void Bien_Place (int Test_Code[],int Test_Prop[],int *Compt_Bien_Place) {
    int i;
 
    for (i=0;i<5;i++){
         if (Test_Code[i]==Test_Prop[i]) {
         Test_Code[i]=0;
            Test_Prop[i]=0;
            *Compt_Bien_Place=*Compt_Bien_Place+1;
            }
        }
}
 
  void Mal_Place (int Test_Code[],int Test_Prop[],int *Compt_Mal_Place) {
   
  int i,j;
  int flag=0;
   
  for (i=0;i<5;i++) {
      for (j=0;j<5;j++) {
          if (Test_Code[i]==Test_Prop[j] && i!=j && Test_Code[i]!=0 && flag==0) {
             Test_Code[i]=9;
             Test_Prop[j]=9;
             flag=1;
             *Compt_Mal_Place=*Compt_Mal_Place+1;
             }
          }
     }
}
 
 
 
int main () {
  int i,ii;
  int Code[5];
  int Prop[5];
  int Test_Prop[5];
  int Test_Code[5];
  int Compt_Bien_Place;
  int Compt_Mal_Place;
  int Nbre_Essai;
  int Boucle_Princ;
  int Choix;
  int end;
   
  printf("Choisissez votre difficulté :" );
  printf ("\n 1:Facil (20 essais)" );
  printf ("\n 2:Moyen (10 essais)" );
  printf ("\n 3:Difficil (5 essais)" );
  printf ("\n: " );
  scanf("%d",&Choix);
 
  if (Choix==1) {
    Nbre_Essai=20;
    }
  if (Choix==2) {
    Nbre_Essai=10;
    }  
  if (Choix==3) {
    Nbre_Essai=5;
    }
 
  Code_Alea (Code,Test_Code);
   
  for (Boucle_Princ=1;Boucle_Princ=Nbre_Essai;Boucle_Princ++) {
 
    Compt_Bien_Place=0;
    Compt_Mal_Place=0;
 
    Saisie_J (Prop);
     
    for (ii=0;ii<5;ii++) {
        Test_Prop[i]=Prop[i];
        Test_Code[i]=Code[i];
        }
   
    for (i=0;i<5;i++) {
         if (Prop[i]<1 || Prop[i]>8) {
             printf ("\n\n Veuillez rentrer des chiffres compris entre 1 et 8\n\n" );
             Saisie_J (Prop);
            }
         if (Prop[i]==0) {
            end=end+1;
            }
        }
 
    if (end==5) {return 0;}
     
    Bien_Place (Test_Code,Test_Prop,&Compt_Bien_Place);
    Mal_Place (Test_Code,Test_Prop,&Compt_Mal_Place);
     
    if (Compt_Bien_Place==5) {
      printf("\x1B[2J\x1B[;H" );
      printf("\n\n\n\n               *********************" );
      printf("\n               *VOUS AVEZ GAGNE !!!*" );
      printf("\n               *********************\n\n" );
 
    return 0;
 
    }
 
    printf ("\n%d chiffre(s) exact bien places.\n",Compt_Bien_Place);
    printf ("%d Chiffre(s) exact mal places.\n",Compt_Mal_Place);
 
  }
   
  return 0;
   
}
 


---------------
Les toles ondulées, les vaches aussi.
Reply

Marsh Posté le 19-03-2007 à 09:58:16   

Reply

Marsh Posté le 19-03-2007 à 10:30:22    

La compilation n'est pas nickel :

taiste.c: In function `main':
taiste.c:95: warning: suggest parentheses around assignment used as truth value


 
La ligne incriminée :

for (Boucle_Princ=1;Boucle_Princ=Nbre_Essai;Boucle_Princ++) {


 
Ta boucle est infinie, erreur classique.
 
Il y a surement d'autres erreurs, mais j'ai la flemme de zieuter plus avant.

Reply

Marsh Posté le 19-03-2007 à 15:37:41    

C est gooooood j ai résolu tous mes pb !!!
 
Merci amigo !!!
 
Plus qu a bosser l "interface graphique" :p
 
Une autre erreur classique j incrémente une boucle for avec "i" et j agit sur le tableau T[ii] !!! Du coup il captait pas tout :p

Reply

Marsh Posté le 19-03-2007 à 19:09:03    

Clemci a écrit :

Salut tout le monde. J'ai un pb avec mon programme. La compilation est nikelle


Bah, non....


Project   : Forums
Compiler  : GNU GCC Compiler (called directly)
Directory : C:\dev\forums2\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.c
main.c:63: warning: function declaration isn't a prototype
main.c: In function `main':
main.c:95: warning: suggest parentheses around assignment used as truth value
main.c:64: warning: 'i' might be used uninitialized in this function
main.c:71: warning: 'Nbre_Essai' might be used uninitialized in this function
main.c:74: warning: 'end' might be used uninitialized in this function
Linking console executable: console.exe
Process terminated with status 0 (0 minutes, 3 seconds)
0 errors, 5 warnings


Il faut apprendre à mieux configurer ton compilateur.
 
http://mapage.noos.fr/emdel/codage.htm#cfg_compilo


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 19-03-2007 à 21:50:43    

Alors la j vais te dire merci mon pote !!! C est dur a configurer ???
 
Ya moyen de se simplifier la tache !!!

Reply

Marsh Posté le 19-03-2007 à 22:08:58    

Clemci a écrit :

Alors la j vais te dire merci mon pote !!! C est dur a configurer ???
 
Ya moyen de se simplifier la tache !!!


Bah, tu as lu mon article ?
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 19-03-2007 à 22:10:40    

je regarderai ca demain. La je pense que j vais aller faire un gros dodo. La journée a été longue...
 
Bonne soirée !!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed