Rechercher : dans
Par :

Probleme de compilation

Dernière réponse le 7 oct 2007 à 16:36:41 sito88, le 6 oct 2007 à 23:58:59 
 Signaler ce message aux modérateurs

Bonjour,
j'essaye de compiler un programme mais le terminal x m'annonce pleins de fautes et je ne les comprend pas. Si vous pouvez m'expliquer mes erreurs ou si il manque quelleque chose, ca m'aiderai enormement merci d'avance....

Mon programme(appelle bla.c):

#include <time.h>
#define A 0
#define B 10
#define C 4
/*
Fonction : generation d'un entier equiprobablement tire entre inf et sup
Donnees : les bornes inf et sup
Resultat : un entier pseudo-aleatoire >= inf et <= sup
*/
int hasard(int inf, int sup)
{
return inf + (sup+1-inf) * (double)rand()/(RAND_MAX+1);
}



int main(void)
{
int adeviner,rep,cpt=0,encore=1,gagne;
srand(time(NULL));

while(encore==1)
{
adeviner=hasard(A,B); gagne=1==0; cpt=0;
while(!gagne && cpt<C)
{
printf("\n\tdonne 1 reponse\n");
scanf("%d",&rep);
cpt++;
gagne=rep==adeviner;

if(gagne) printf("\nbravo!! \ten %d essai\n",cpt);
else if(rep<adeviner) {printf("\ttrop petit");}
else {printf("\ttrop grand\n");}
}
if(!gagne && cpt==C) {printf("\nt as perdu\n la reponse est %d",adeviner);}

printf("\nveux tu rejouer?si oui 1 sinon 2\n");
scanf("%d",&encore);
}


return 0;
}
bla.c: In function «hasard":
bla.c:12: attention : implicit declaration of function «rand"
bla.c:12: erreur: «RAND_MAX" undeclared (first use in this function)
bla.c:12: erreur: (Each undeclared identifier is reported only once
bla.c:12: erreur: for each function it appears in.)
bla.c:13: attention : control reaches end of non-void function
bla.c: In function «main":
bla.c:20: attention : implicit declaration of function «srand"
bla.c:27: attention : implicit declaration of function «printf"
bla.c:27: attention : incompatible implicit declaration of built-in function «printf"
bla.c:28: attention : implicit declaration of function «scanf"
bla.c:28: attention : incompatible implicit declaration of built-in function «scanf"
bla.c:36: attention : incompatible implicit declaration of built-in function «printf"
bla.c:38: attention : incompatible implicit declaration of built-in function «printf"
bla.c:39: attention : incompatible implicit declaration of built-in function «scanf"
reponse du terminal x:

Meilleures réponses pour « probleme de compilation » dans :
Linux - Compilation du noyau (Kernel) Voir Compilation du Kernel Cet article a pour but de présenter la compilation du noyau (ou kernel) sous Linux. Les explications suivantes sont basées sur la version 2.4.20 du kernel, la dernière en date au moment de l'écriture de l'article (mars...
La compilation et les modules en C et en C++ Voir Cet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Compiler du C sous Linux/UNIX VoirSous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir...
[Pascal] Liens Compilateurs et Ressources VoirQuelques liens pour des compilateurs et ressources Pascal gratuits: FreePascal GNU-Pascal Dev-Pascal Autres compilateurs Bon développement.
Télécharger Code::Blocks Studio VoirCode::Blocks est un IDE multi-plateforme (Linux, Mac et Windows) entièrement codé en C++. Code::Blocks est basé sur un système de plugins, ce qui permet de le faire évoluer très facilement sans devoir le recompiler. La compilation, qui peut se...
Ecrire un programme en assembleur VoirLa compilation du programme Le programme doit être saisi dans un fichier texte non formaté (c'est-à-dire sans caractères en gras, souligné, avec des polices de caractères de différentes tailles, ...) appelé fichier source. En effet,...

1

lami20j, le 7 oct 2007 à 00:06:02

Salut,

il te manque

#include <stdio.h>
RAND_MAX ne correspond à rien, peut être qu'il faut un
#define RAND_MAX  valeur
lami20j

Répondre à lami20j

2

sito88, le 7 oct 2007 à 15:15:39

Salut,
j'avais en effet oubliee le #include <stdio.h> mais egalement le #include <stdlib.h> .A vrais dire je ne sais pas trop ce que ca veut dire mais ce qui est bizzard c'est que sur le pc d'universiter ce programme marche mais il ne veut pas marcher chez moi donc je me demandais si il me manque peut etre pas des outils comme mon linux n'est pas encore totalement bien installer...en tout cas ca serait cool si vous pouviez m'aider...merci

mon programme
:#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define A 0
#define B 10
#define C 4
s
/*
Fonction : generation d'un entier equiprobablement tire entre inf et sup
Donnees : les bornes inf et sup
Resultat : un entier pseudo-aleatoire >= inf et <= sup
*/
int hasard(int inf, int sup)
{
return inf + (sup+1-inf) * (double)rand()/(RAND_MAX+1);
}



int main(void)
{
int adeviner,rep,cpt=0,encore=1,gagne;
srand(time(NULL));

while(encore==1)
{
adeviner=hasard(A,B); gagne=1==0; cpt=0;
while(!gagne && cpt<C)
{
printf("\n\tdonnez une reponse\n");
scanf("%d",&rep);
cpt++;
gagne=rep==adeviner;

if(gagne) printf("\nbravo!! \ten %d essai\n",cpt);
else if(rep<adeviner) {printf("\ttrop petit");}
else {printf("\ttrop grand\n");}
}
if(!gagne && cpt==C) {printf("\nt as perdu\n la reponse est %d",adeviner);}

printf("\nveux tu rejouer?si oui 1 sinon 2\n");
scanf("%d",&encore);
}


return 0;
}

reponse du terminal x:

bla.c:13: erreur: expected «=", «,", «;", «asm" or «__attribute__" before «int"
bla.c: In function «main":
bla.c:27: attention : implicit declaration of function «hasard"

Répondre à sito88

3

lami20j, le 7 oct 2007 à 15:19:37

Tu as un s qui traine

#define C 4
s
/* 
et comme je te l'ai dit RAND_MAX doit contenir une valeur
lami20j

Répondre à lami20j

4

sito88, le 7 oct 2007 à 16:00:05

Merci, c'est reglee

Répondre à sito88

5

 lami20j, le 7 oct 2007 à 16:36:41

De rien ;-) lami20j

Répondre à lami20j