begin process at 2012 02 11 14:20:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

Language C probleme de compilation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Language C probleme de compilation

mercredi 14 juin 2006 à 21:41:25 | Language C probleme de compilation

Keymi

Quand je compile ce programme j'obtient : 15 [Warning] return type of 'main' is not `int' .
Je ne vois pas du tout comment corriger ou est l'erreur :s.
Merci de votre aide.

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#define npos 5       //nombre de position
#define nchif 8      //nombre de chiffres(de 1 . 8)
#define ncmax 12        //nombre max de coups

void tirage (int []);              //prototype des fonctions
int entree(int []);
void analyse(int [],int [],int [],int[]);
//programme principal
void main()

{
int tir[npos];//combinaison tir,e par le programme
int prop[npos];//proposition du joueur
int ncoup;//compteur de coups jou,s
int bpos;//nbre de chiffre bien plac,s
int bchif;//nombre de chiffre exaxts mais mal plac,s
//initialisation
tirage(tir);//appel de la fonction tirage pour fixer une combinaison
ncoup=0;
//d,roulement du jeu
clrscr();
do
{   while(printf("\ndonner une proposition:"),entree(prop)) //appel de la
//fonction entr,e pour la saisie de la combinaison du joueur
       printf("\n****************incorect***********\n");
   analyse(prop,tir,&bpos,&bchif);
   printf("\n vous avez :%22d bien plac,    %d  bon chiffre\n",bpos,bchif);
   ncoup++;
}
while(bpos<npos && ncoup<ncmax);
//affichage des resultats
if(bpos==npos) printf("vous avez trouv, en %d coups",ncoup);
else { int i;
       printf("vous n'avez pas trouv, en %d coups\n",ncmax);
       printf("la bonne combinaison etait:");
       for(i=0;i<npos;i++) printf("%d",tir[i]);  /*affichage des donn,es
                          du tableau tir[] qui contient la bonne combinaison*/
       printf("\n");
       }
getch();

}




//*******************fonction de tirage de la combinaison secrete
************
void tirage (int tir[])
{
int i;
for(i=0;i<npos;i++)
  tir[i]=rand()/(RAND_MAX+1.) * nchif+1;
}
//*****************fonction de lecture de la proposition du joueur**********
int entree(int prop[])
{ char ch[npos+3];
  int i;
  //lecture de laposition du joueur ds chaine ch
  ch[0]=npos+1;
  cgets(ch);
          // controle de saisie
if(strlen(&ch[2])!=npos) return (-1);
for(i=2;i<npos+2;i++)
if(ch[i]<'1' || ch[i]> '1'+nchif-1) return(-1);
          //extraction des chiffres choisis
for(i=0;i<npos;i++)
prop[i]=ch[2+i]-'0';
return(0);
}
// *************fonction d'analyse de la position du joeur
void analyse(int prop[],int tir[],int bpos[],int bchif[])
{
  int tirbis[npos]; //double de la combinaison secrete
  int i,j;
  //recopie de la combinaison secrete
  for(i=0;i<npos;i++) tirbis[i]=tir[i];
  //comptage bonnes positions
  *bpos=0;
  for(i=0;i<npos;i++)
    if(prop[i]==tirbis[i])
      { (*bpos)++;
      tirbis[i]=prop[i]=0;
      }
  //comptage de bon chiffres mal plac,s
  *bchif=0;
  for(i=0;i<npos;i++)
   for(j=0;j<npos;j++)
      if(prop[i] != 0 && prop[i] ==tirbis[j])
    {  (*bchif)++;
       prop[i]=tirbis[j]=0;
     }
}



mercredi 14 juin 2006 à 21:45:59 | Re : Language C probleme de compilation

LaPatoshe

Réponse acceptée !
Salut.
 Remplaces ton void main( ) par int main( ) . Puis avant de fermer tes accolades de la boucle main, place return 0;

LaPatoshe
mercredi 14 juin 2006 à 22:01:10 | Re : Language C probleme de compilation

LaPatoshe

Resalut. J'ai essayé ton prog, mais il y avait un autre problème dans la boucle main.En réorganisant ton code (en décomposant un peu plus certaines lignes) on obtient le code suivant qui fonctionne à quelque chose près.
A+

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#define npos 5       //nombre de position
#define nchif 8      //nombre de chiffres(de 1 . 8)
#define ncmax 12        //nombre max de coups

void tirage (int []);              //prototype des fonctions
int entree(int []);
void analyse(int [],int [],int [],int[]);
//programme principal
int main()

{
 int tir[npos];//combinaison tir,e par le programme
 int prop[npos];//proposition du joueur
 int ncoup;//compteur de coups jou,s
 int bpos;//nbre de chiffre bien plac,s
 int bchif;//nombre de chiffre exaxts mais mal plac,s
 //initialisation
 tirage(tir);//appel de la fonction tirage pour fixer une combinaison
 ncoup=0;
 //d,roulement du jeu
 //clrscr();
 do
 {
  while(printf("\ndonner une proposition:"),entree(prop)) //appel de la
  //fonction entr,e pour la saisie de la combinaison du joueur
        printf("\n****************incorect***********\n");
  analyse(prop,tir,&bpos,&bchif);
  printf("\n vous avez :%22d bien plac,    %d  bon chiffre\n",bpos,bchif);
  ncoup++;
 }while(bpos<npos && ncoup<ncmax);
 
 //affichage des resultats
 if(bpos==npos)
 {
  printf("vous avez trouv, en %d coups",ncoup);
 }
 else
 {
  int i;
        printf("vous n'avez pas trouv, en %d coups\n",ncmax);
        printf("la bonne combinaison etait:");
        for(i=0;i<npos;i++)
  {
   printf("%d",tir[i]);  /*affichage des donn,es
                         du tableau tir[] qui contient la bonne combinaison*/
        }
  printf("\n");
    }
 getch();
 return 0;
}

 


//*******************fonction de tirage de la combinaison secrete
//************
void tirage (int tir[])
{
int i;
for(i=0;i<npos;i++)
  tir[i]=rand()/(RAND_MAX+1.) * nchif+1;
}

  //*****************fonction de lecture de la proposition du joueur**********
int entree(int prop[])
{ char ch[npos+3];
  int i;
  //lecture de laposition du joueur ds chaine ch
  ch[0]=npos+1;
  cgets(ch);
          // controle de saisie
if(strlen(&ch[2])!=npos) return (-1);
for(i=2;i<npos+2;i++)
if(ch[i]<'1' || ch[i]> '1'+nchif-1) return(-1);
          //extraction des chiffres choisis
for(i=0;i<npos;i++)
prop[i]=ch[2+i]-'0';
return(0);
}
// *************fonction d'analyse de la position du joeur
void analyse(int prop[],int tir[],int bpos[],int bchif[])
{
  int tirbis[npos]; //double de la combinaison secrete
  int i,j;
  //recopie de la combinaison secrete
  for(i=0;i<npos;i++) tirbis[i]=tir[i];
  //comptage bonnes positions
  *bpos=0;
  for(i=0;i<npos;i++)
    if(prop[i]==tirbis[i])
      { (*bpos)++;
      tirbis[i]=prop[i]=0;
      }
  //comptage de bon chiffres mal plac,s
  *bchif=0;
  for(i=0;i<npos;i++)
   for(j=0;j<npos;j++)
      if(prop[i] != 0 && prop[i] ==tirbis[j])
    {  (*bchif)++;
       prop[i]=tirbis[j]=0;
     }
}

LaPatoshe

mercredi 14 juin 2006 à 22:06:02 | Re : Language C probleme de compilation

Keymi

Yep apparament j'ai des problemes avec la fonction clrscr , il ne doit pas trouver la bibliotheque et pareil avec cgets
mercredi 14 juin 2006 à 22:28:18 | Re : Language C probleme de compilation

SAKingdom

Membre Club
clrscr n'est plus fournie avec VC. Voici la fonction. Si tu change la couleur de ton texte cependant, je ne garantie pas son éfficacité.

void clrscr ()
{
    DWORD written;
    COORD coord = {0,0};

    FillConsoleOutputCharacter (GetStdHandle (STD_OUTPUT_HANDLE), ' ', 2000, coord, &written);
    SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

Pour cgets, il est bel et bien définie dans conio.h et fonctionne très bien pour moi.

___________________________________________
Les plus grands esprits trouvent toujours une solution

mercredi 14 juin 2006 à 22:32:47 | Re : Language C probleme de compilation

Keymi

Moi j'ai cette erreur :   [Linker error] undefined reference to `cgets'
mercredi 14 juin 2006 à 22:44:53 | Re : Language C probleme de compilation

SAKingdom

Membre Club
Réponse acceptée !
Essais de remplacer par gets.

___________________________________________
Les plus grands esprits trouvent toujours une solution



Cette discussion est classée dans : int, combinaison, prop, npos, tir


Répondre à ce message

Sujets en rapport avec ce message

Probleme pour une boucle en C++ [ par Liquid043 ] De facon simple ce que j'essaie de faire c'est de générer 6 nombre aléatoire compris entre 1 et 49  tout en evitant que dans une série deux numéros se combinaison / factorielle [ par sacredead ] bonjour, j'aimerais écrire une équation comportant des combinaisons C(n,k). étant donné que je ne connais pas la syntaxe, j'aimerais passer par les fa recursivite [ par dida87 ] bonjour,ya t'il qlq 'un qui pourrait m'expliquer le deroulement de ce programme recursive seulement la recursivite car j'ai un prb avec elle : void co Error: ""was not declared in this scope [ par LiaGalanodel ] Bonjour a tous je ne sais pas si je poste sur le bon sujet mais voila j'ai un problème. Je veu tout simplement créer un server mais je n'y arrive pas. Classe Array multidimensionnelle [ par vdvince2015 ] Bonjour, je voudrais créer une classe array qui puisse gérer des tableaux de une à plusieurs dimensions. je pourrais utiliser plusieurs classes diffé programme en C de gestion [ par fizou1989 ] bonjour; j ai besoin d 'aide je suis entrain de realiser un mini projet GMAO gestion de maintenance assistee par ordinateur , j ai realiser un progr Debut Programmation C++ [ par patrickthierry ] Bonjour, Je debute en C++, alors je suis les exos du bouquin, mais j'ai beau chercher mon erreur, je ne trouve rien. Le programme se deroule correcte convertsion int en unsigned char [ par avg ] Salut tout le monde j'ai une souci pour convertir un int en unsigned char[] voir le code c++ qui affiche l'erreur [code=cpp]int a=100; unsigned char Tableaux - Gestion dynamique de la mémoire [ par Smanyx ] Salut ! Je voudrais écrire un programme qui accepte des noms saisis au clavier et les amasse dans un tableau. Comme les noms sont entrés dans un bouc additio de deux grand nombre [ par sarlissa ] bonjour[^^happy5] je voudrais que vous m'aidiez a développez un programme qui fait la somme de deux grand nombre que l'utilisateur les entre comme des


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,810 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales