J'arrive pas à declarer des variables dans le main principale

med.ben235 Messages postés 12 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
Voila mon programme:


#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<windows.h>
int qst()
{
char** tab=(char**)malloc((10000)*sizeof(char*));
char ** temp=tab;
char* parcours=(char*)malloc((BUFSIZ)*sizeof(char));
int tailleTab=0;
int j=0,i=0,k=0;
FILE * fp=fopen("signal.txt","r");
if(fp==NULL){};

while(fgets(parcours,BUFSIZ,fp)!=NULL)
{
temp[j]=(char*)malloc((strlen(parcours))*sizeof(char));
strcpy(temp[j],parcours);
j++;
}

tailleTab=j;
srand(time(NULL));

do
{ k=rand()%6;}
while ((k%2)!=0);
printf("%s\n",tab[k]);
printf("%s\n",tab[k+1]);
fclose(fp);
return k;}

char *rep(int k)
{ char** tabl=(char**)malloc((1)*sizeof(char*));
char ** aux=tabl;
char* parc=(char*)malloc((BUFSIZ)*sizeof(char));
int tailleTab=0;
char* x;
int j=0,i=0;
FILE * fr=fopen("rep.txt","r");
if(fr==NULL){};

while(fgets(parc,BUFSIZ,fr)!=NULL)
{
aux[j]=(char*)malloc((strlen(parc))*sizeof(char));
strcpy(aux[j],parc);
j++;
}

tailleTab=j;
srand(time(NULL));
/*do
{ k=rand()%6;}
while ((k%2)!=0);
printf("%s\n",tabl[k]);*/
x=tabl[k];
fclose(fr);
return x;}
int main(int argc,char* argv [])
{
int a;
char* repo;
char* x;
a=qst();
printf(" Votre reponse est :\t");
scanf("%s",repo);
x=rep(a);
if (*x==*repo)
{printf("\n\t\tBravo");
}
else
{printf("\n\t\tdommage");}
getch();}

3 réponses

Chris 94 Messages postés 58330 Statut Modérateur 7 347
 
0
med.ben235 Messages postés 12 Statut Membre
 
Pardon ,
mais vraiment je suis un peut stressé !!
est ce que vous pouvez m'aidé et merci d'avance..
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
med.ben235,
Tu es peut-être stressé, mais nous ne sommes pas devins... Tant que ton problème ne sera pas clairement formulé, nous ne pourrons pas t'aider.

D'ailleurs, les variables globales (sauf cas particulier) ne sont pas conseillers. Ils vaut mieux les passer en paramètre de tes fonctions. Donc, cela résoudra peut-être ton problème.

Sinon, montre exactement ce que tu souhaites faire (même si ça ne marche pas) et on te corrigera.
0