tize
Nouveau membre
Bonjour,
je m'adresse à vous car je cherche depuis quelque temps sans trouver de solution. Je précise que je ne suis pas étudiant et ne cherche donc pas à avoir la correction d'un exercice, je fais de la programmation en amateur (pour mon plaisir personnel) mais c'est pas tous les jours facile.
Voilà le problème, j'ai créé deux fichiers : main.c et initgn.c, le premier faisant appel au second et le but étant de créer un programme genre test de primalité sur des grand nombre (tableau d'entiers)...
Je suis sous linux et quand je compile : gcc -o main main.c, j'ai le message d'erreur suivant :
Voici mon main.c :
[cpp]#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "initgn.c"
//#include "printgn.c"
#define tmax 100
typedef struct{
int bit[tmax] ; //chiffres
int coma; // virgule
char sg; //signe
int ta; //nombre de chiffres significatifs
}GN;
int main(void)
{
GN nbre;
initgn(&nbre,tmax);
//printgn(&nbre);
return 0;
}[/cpp]
et voici mon initgn.c
[cpp]#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int initgn(GN *N,int T)
{
int i;
for(i=0;i<T;i++)
N->bit=0;
N->sg="+";
N->coma=1;
N->ta=1;
printf("\n%d",T);
return 1;
}
[/cpp]
Voilà, c'est pas forcément propre mais c'est tout ce que je sais faire, si vous avez une idée, merci d'avance pour ceux qui auront pris la peine de lire ce message en entier...
je m'adresse à vous car je cherche depuis quelque temps sans trouver de solution. Je précise que je ne suis pas étudiant et ne cherche donc pas à avoir la correction d'un exercice, je fais de la programmation en amateur (pour mon plaisir personnel) mais c'est pas tous les jours facile.
Voilà le problème, j'ai créé deux fichiers : main.c et initgn.c, le premier faisant appel au second et le but étant de créer un programme genre test de primalité sur des grand nombre (tableau d'entiers)...
Je suis sous linux et quand je compile : gcc -o main main.c, j'ai le message d'erreur suivant :
In file included from main.c:4:
initgn.c:5: erreur: syntax error before «*» token
initgn.c: Dans la fonction «initgn» :
initgn.c:8: erreur: «T» undeclared (first use in this function)
initgn.c:8: erreur: (Chaque identificateur non déclaré est rapporté une seule fois
initgn.c:8: erreur: pour chaque fonction dans laquelle il apparaît.)
initgn.c:9: erreur: «N» undeclared (first use in this function)
Voici mon main.c :
[cpp]#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "initgn.c"
//#include "printgn.c"
#define tmax 100
typedef struct{
int bit[tmax] ; //chiffres
int coma; // virgule
char sg; //signe
int ta; //nombre de chiffres significatifs
}GN;
int main(void)
{
GN nbre;
initgn(&nbre,tmax);
//printgn(&nbre);
return 0;
}[/cpp]
et voici mon initgn.c
[cpp]#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int initgn(GN *N,int T)
{
int i;
for(i=0;i<T;i++)
N->bit=0;
N->sg="+";
N->coma=1;
N->ta=1;
printf("\n%d",T);
return 1;
}
[/cpp]
Voilà, c'est pas forcément propre mais c'est tout ce que je sais faire, si vous avez une idée, merci d'avance pour ceux qui auront pris la peine de lire ce message en entier...