Bonjour à tous,

Tout d'abord félicitations pour ce forum, j'y ai trouvé pas mal de petites astuces afin de pouvoir progresser dans mon projet (je fais une base de donnée en C dans le cadre de mes études).

Seulement, je coince: dans mon cas précis, je cherche à remplacer la valeur attribuée dans un de mes tableau, en l'occurence ici le nombre d'entités en stock.

Ce que j'aimerai faire, c'est que lors de ma saisie du numero d'identification, le programme puisse directement attribuer le bon rang (i) du tableau, afin de faire la modification pour le bon composant, dans mon cas.

Exemple: si dans mon fichier sauvegarde j'ai un identifiant qui est 1234, et que je tape 1234 lors de la saisie , je voudrais qu'il puisse identifier directement le bon rang du tableau.

Avec le code actuel, il remplace bien la valeur des stocks, mais pas au bon endroit!

Voici le code que j'ai actuellement:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
char stock_composant (void)
{
char SAISIE;
int i = 0;
int Nstock;
printf("***************************************\n");
printf("* MODULE DE GESTION DES COMPOSANTS PC *\n");
printf("*        mise a jour du stock         *\n");
printf("***************************************\n");
fflush( stdin );
printf("Identifiant du composant :\n");
fflush( stdin );
scanf("%d", &(BaseComposant[i].REFERENCE));
printf("Niveau de stock actuel:  %d \n", BaseComposant[i].STOCK);
fflush(stdin);
printf("Nouvelle valeur de stock :");
scanf("%d", &Nstock);
BaseComposant[i].STOCK = Nstock;
printf("[V]alider ou [A]nnuler : [A] ou [V] suivi de [ENTREE] ?\n");
fflush( stdin );
scanf("%c",&SAISIE);
return (SAISIE);

Je sais que le probleme se situe lors de l'initialisation de mon i (que je mets à 0), mais je ne sais pas comment corriger l'erreur.

Merci d'avance de votre aide.

Si je n'ai pas été assez clair et que vous voulez plus de précisions, n'hésitez pas à me le faire savoir!

Cordialement.