Bien le bonsoir à tous.

Je débute un peu le C++ à la fac sous CodeBlocks, me voici face à un exercice assez complexe je dois dire, l'exercice à été posé hier en contrôle, j'aurai voulu en discuter un peu avec vous, puisque ce n'est jamais corrigé U_u. J'espère que vous pourrez m'éclairer.

Voici l'énoncé: http://gosms.3g.cn/D?f=ORSE3DDBI01bI_ViaGoSMS

http://gosms.3g.cn/D?f=ONGMDM6LV01gI_ViaGoSMS

en deux parties, veuillez m'excuser pour la qualité.

Donc voici ce que j'ai fais:

Dans Detecteur.cpp

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
#include <iostream> 
#include <string> 
#include <fstream>

using namespace std;


void lecture(string*noms , double*energie, int &N)
{
 fstream f;
f.open("particules.txt",ios::in);
f>>N;
noms=new string[N];
energie=new double[N];             //Mais là j'ai un doute, puisqu'on me dit de créer les tableaux dynamiquement dans Main,

for(int i=0;i<N;i++)

{f>>noms[i]>>energie[i];}

f.close();
}


double correction ( string particule [], int N )
{

fstream f;
f.open ("correction.txt",ios::in);
for (int i=0;i<N;i++)
    { 
          f>>particule[i]; 
    }

C'est la que ça se gatte, comment comparer "en gros" les deux fichiers et renvoyer le facteur correctif à chaque particule ?
Je pensais à un if(noms[i]=particules[i]=='p') return 1.03 etc etc maiiis ça me gène, je me demande si c'est possible, comment faire correspondre chaque particule ( au nombre de 5 dans la liste correction.txt ) aux 6 particules de la liste particules.txt tout en renvoyant le facteur correctif...

double calculEnergie(string*noms, double*energie, int N)

Du coup je suis un peu coincé pour cette fonction

int comptePositive (string*noms, int N)
{
int positif=0;
for (int i=0;i<N;i++)
{ if (noms [i]=='+')
positif=positif+1; }
return positif;
}
Pour le fichier .h c'est ok, et pour le main j'ai la marche à suivre.

Je remercie la personne qui se penchera sur mon cas.