Petit programme en c :s

Bonjour,
Je débute tout juste en programmation c et je cherche a créer un logiciel pour connaitre la structure électronique d’un atome automatiquement. En gros, les atomes d’un atome s’organisent en différentes couches (K, L, M et d’autres mais je choisis celles-ci pour faire simple) K peut contenir 2 électrons maximum, L peut contenir 8 électrons maximum et M peut en contenir 18 mais on s’arrête a 8 parce que ça devient compliqué après, il faudrait rentrer les valeurs de tout les atomes un par un :s.
Mon logiciel pose la question "combien d’électrons contient votre atome ?"et le pc lui répond “K = %ld, L = %ld et M = %ld”
J’ai la base mais j’arrive pas a continuer car le debugger me trouve une dizaine d’erreurs… j’ai juste besoin qu’on me corrige.

Voici le code en deux fichiers :

main.c

#include <stdio.h>
#include <stdlib.h>
#include “electrons.h”

void rangementElectrons(long* pointeurElectrons, long* pointeurK, long* pointeurL, long* pointeurM);

int main(argc, )
{
long electrons = 0, K = 0, L = 0, M = 0;
printf (“Entrer le nombre d’électrons d’un atome donc Z >= 18 : “);
scanf (”%ld”, &electrons);
printf ("\n");

rangementElectrons(&electrons, &K, &L, &M);

printf ("Voici la structure moléculaire de votre atome K = %ld, L = %ld, M = %ld", K, L, M);
system("PAUSE");
return 0;

}

electrons.h

#include <stdio.h>
#include <stdlib.h>
#ifndef rangementElectrons
#define rangementElectrons

void rangementElectrons (long* pointeurElectrons, long* pointeurK, long* pointeurL, long* pointeurM);

void rangementElectrons (long* pointeurElectrons, long* pointeurK, long* pointeurL, long* pointeurM)
{

// Remplir K
if (*pointeurElectrons <= 2)

{
*pointeurK = *pointeurElectrons;
}

// Remplir L
else if (*pointeurElectrons <= 8)

{
*pointeurK = 2;
*pointeurL = *pointeurElectrons - 2;
}

// Remplir M
else if (*pointeurElectrons <= 18)

{
*pointeurK = 2;
*pointeurL = 8;
*pointeurM = *pointeurElectrons - 10;
}

// Autres cas
else

{
printf (“Entrez une valeur inferieur a 18”)
}

#endif // rangementElectrons

Merci d’avance,
bobspongieux

Et l’erreur?

Au passage, ton .h déclare du code qui devrait aller dans un .C.

le rapport de compilation avec les erreurs :
Compilateur: Default compiler
Building Makefile: “C:\Documents and Settings\Propriétaire\Mes documents\Projets\Makefile.win”
Exécution de make…
make.exe -f “C:\Documents and Settings\Propriétaire\Mes documents\Projets\Makefile.win” all
gcc.exe -c partie2/partie2/main.c -o partie2/partie2/main.o -I"C:/Dev-Cpp/include"

In file included from partie2/partie2/main.c:3:
partie2/partie2/electrons.h:6: error: syntax error before “long”
partie2/partie2/electrons.h:8: error: syntax error before “long”
partie2/partie2/electrons.h:21: error: `pointeurElectrons’ undeclared here (not in a function)
partie2/partie2/electrons.h:21: warning: data definition has no type or storage class
partie2/partie2/electrons.h:22: error: syntax error before ‘}’ token
partie2/partie2/electrons.h:28: error: redefinition of ‘pointeurL’
partie2/partie2/electrons.h:21: error: previous definition of ‘pointeurL’ was here
partie2/partie2/electrons.h:28: warning: initialization makes pointer from integer without a cast
partie2/partie2/electrons.h:28: warning: data definition has no type or storage class
partie2/partie2/electrons.h:29: warning: data definition has no type or storage class
partie2/partie2/electrons.h:30: error: syntax error before ‘}’ token
partie2/partie2/main.c:5: error: syntax error before “long”
partie2/partie2/main.c:7: error: syntax error before ‘)’ token

make.exe: *** [partie2/partie2/main.o] Error 1

Exécution terminée

Avec le #endif d’electron.h, tu as oublié une }

Du reste, une partie du code n’a pas sa place ici…