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