Gérard Rio
49c9e51239
Sur la branche master Votre branche est à jour avec 'origin/master'. Modifications qui seront validées : nouveau fichier : Elements/Mecanique/SFE/Met_Sfe1_struc_donnees.h nouveau fichier : Elements/Thermique/PtIntegThermiInterne.cc nouveau fichier : Elements/Thermique/PtIntegThermiInterne.h nouveau fichier : General/Distribution_CPU.cc nouveau fichier : General/Distribution_CPU.h nouveau fichier : Lecture/LectBloc_T.cc nouveau fichier : Maillage/maillage4.cc nouveau fichier : Parametres/Banniere.h nouveau fichier : Parametres/banniere.cc nouveau fichier : Util/Courbes/Courbe_1-cos.cc
1 line
No EOL
2.2 KiB
C++
Executable file
1 line
No EOL
2.2 KiB
C++
Executable file
|
|
#include "LectBloc_T.h"
|
|
|
|
// lecture d'un bloc
|
|
void LectBloc::Lecture(UtilLecture & entreePrinc,LesReferences& lesRef,
|
|
char * motcle,string message)
|
|
{ MotCle motCle; // ref aux mots cle
|
|
if (strstr(entreePrinc.tablcar,motcle)!=NULL)
|
|
{ entreePrinc.NouvelleDonnee();
|
|
list <T> lili;
|
|
T elem;
|
|
// double t1; string s1;
|
|
while ( !motCle.SimotCle(entreePrinc.tablcar))
|
|
{ elem.Lecture(entreePrinc);
|
|
// *(entreePrinc.entree) >> elem.Nomref() >> t1;
|
|
// on regarde si cela correspond bien a une reference existante
|
|
if (!lesRef.Existe(elem.nomRef()))
|
|
{ cout << "\n erreur, la ref "<< elem.nomRef() << " de " << motcle << "ne correspond a aucun element"
|
|
<< " de la liste de reference lue !! \n";
|
|
elem.Affiche();
|
|
cout << " LectBloc::Lecture( etc ..."
|
|
<< endl;
|
|
entreePrinc.MessageBuffer(message);
|
|
exit (1);
|
|
}
|
|
// on verifie que l'on n'utilise pas deux fois la meme reference
|
|
// pour deux cibles differentes
|
|
list <T>::iterator ii;
|
|
for (ii=lili.begin() ; ii != lili.end(); ii++)
|
|
if (((*ii).nomRef() == elem.nomRef()) && ((*ii)::Valeur != elem::valeur))
|
|
{ cout << "\n erreur , un meme nom de reference est utilisee pour"
|
|
<< " deux cibles differentes \n"
|
|
<< " nom de la ref = " << elem.nomRef()
|
|
<< ", valeurs des deux cibles ="
|
|
<< (*ii)::Valeur <<", "<< elem::valeur ;
|
|
cout << " LectBloc::Lecture( etc etc .." << endl;
|
|
entreePrinc.MessageBuffer(message);
|
|
exit (1);
|
|
}
|
|
|
|
// stockage
|
|
lili.push_back(elem);
|
|
entreePrinc.NouvelleDonnee();
|
|
}
|
|
// enregistrement des infos
|
|
tabElem.Change_taille(lili.size());
|
|
list <T>::iterator i;
|
|
int j;
|
|
for (i=lili.begin(),j=1 ; i != lili.end(); i++,j++)
|
|
tabEpaiss(j) = *i;
|
|
}
|
|
}; |