Bonjour,

Je suis actuellent entrain de faire un petit programme qui enregistre les Produits avec leur prix. Au lancement du programme, j'ai plus options ... dont l'ajout de prix et de leur prix.
Pour cela, j'ai utilisé un tableau (une entrée) mais dont j'ai créé le type (voir code ci dessous). Lors de l'ajout de l'article, je n'ai pas de soucis, lorsque je l'affiche aucun soucis non plus , mais lorsque le fichier est créé, j'ai à la place du nom de l'article, le caractère è suivi du bon prix!
Je ne comprends pas trop comment résoudre mon problème... voici une partie du code ...

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
struct typeArticle
    {
           char NomArticle[20];
           float PrixArticle;
    };
    typeArticle TabArticle[11];
 
//Procédure permettant de calculer un prix TTC
void CalculTTC ()
{
     //Déclaration des Variables Locales
     float PrixHT;
     //Début de la procédure
     cout<<"Saisir le prix HT du produit: ";
     cin >>PrixHT;
     PrixTTC=FPrixTTC(PrixHT); //Ici, on appelle le resultat de la fonction (FPrixTTC avec en paramètre PrixHT)
     cout<<"Le prix TTC est de "<<PrixTTC<<" euros\n";
}
 
//Procédure pour Ajouter un ou plusieurs articles
void AjouterArticle()
{
     //Déclaration des variabes locales
     char NomArticle[20];
     float PrixArticle;
     char Reponse[1];
     //Début de la procédure
     do
     {
     NbArticle=NbArticle+1;
     cout<<"Saisissez le nom de l'article: ";
     cin >> NomArticle;
     CalculTTC();//Appel de la procédure Facture
     strcpy(TabArticle[NbArticle].NomArticle,NomArticle);
     TabArticle[NbArticle].PrixArticle=PrixTTC;
     cout <<"Voulez-vous saisir un autre produit? (o,n) ";
     cin >>Reponse;
     }
     while (strcmp(Reponse,"o")==0);
}
 
void SauvegarderProduit() 
{ int i; 
  FILE *fproduit; 
  if (NbArticle>0) 
  { 
    cout << "Sauvegarde des preoduits"; 
    fproduit = fopen("produit.txt","w"); 
    for (i=1;i<=NbArticle;i=i+1) 
    { 
      fprintf(fproduit,"%c %.2f \n",TabArticle[i].NomArticle,TabArticle[i].PrixArticle); 
    } 
    fclose(fproduit); 
  } 
}
Vous me direz surement que mes procédures sont mal déclarées ... cela est "normal".

Merci