Bonjour,

Nouvelle sur le forum, je cherche un secour dans le possible (mais surement j'aurai ce secours, c'est bien l'oc�an ...) sinon le probleme est comme suit :
j'ai un programme en C++ , correct surement mais pour l'ex�cuter j'ai un probleme c'est qu'il se ferme avant d'afficher tout le r�sultat, autrement, ca donne peu de temps pour le visualiser en texte ... je vous file le programme que vous pouvez tester sur vos machines et comme �a le probleme sera partager entre les bonnes �mes scientifiques...n'est ce pas vrai

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
57
58
59
60
include <iostream>
#include <set>
#include <map>
#include <string>
 
typedef unsigned annee_t;
typedef unsigned mois_t;
typedef unsigned jour_t;
typedef std::string data_t;
 
// La clé
struct cle_t{
    annee_t annee;
    mois_t mois;
    jour_t jour;
};
 
// la relation d'ordre entre les différentes clés
struct trier_cle{
    inline bool operator()(const cle_t & k1,const cle_t & k2){
        return  k1.annee <  k2.annee
            || (k1.annee == k2.annee && k1.mois <  k2.mois)
            || (k1.annee == k2.annee && k1.mois == k2.mois && k1.jour < k2.jour);
    }
};
 
typedef std::map<cle_t,data_t,trier_cle> datas_t;
 
 
int main(){
    datas_t datas;
    unsigned nb_evenements;
 
    // Demander les evenements
    std::cout << "Nb evenements ? ";
    std::cin >> nb_evenements;
    for(unsigned int i=0;i<nb_evenements;++i){
        struct cle_t k;
        data_t d;
        std::cout << "Evenement [" << (i+1) << '/' << nb_evenements << ']' << std::endl;
        std::cout << "Annee ? ";
        std::cin >> k.annee;
        std::cout << "Mois ? ";
        std::cin >> k.mois;
        std::cout << "Jour ? ";
        std::cin >> k.jour;
        std::cout << "Evenement ? ";
        std::cin >> d;
        datas[k] = d;
    }
 
    // Les afficher de manière ordonnée
    datas_t::const_iterator dit(datas.begin()),dend(datas.end());
    for(;dit!=dend;++dit){
        const cle_t & k = dit->first;
        const data_t & d = dit->second;
        std::cout << k.jour << '/' << k.mois << '/' << k.annee << '\t' << d << std::endl;
    }
    return 0;
}
ce qui normalement devait donner comme r�sultat est :
(mando@polgara) (~) $ ./a.out
Nb evenements ? 3
Evenement [1/3]
Annee ? 2005
Mois ? 11
Jour ? 2
Evenement ? plop
Evenement [2/3]
Annee ? 1983
Mois ? 03
Jour ? 18
Evenement ? naissance
Evenement [3/3]
Annee ? 2007
Mois ? 05
Jour ? 08
Evenement ? maintenant
18/3/1983 naissance
2/11/2005 plop
8/5/2007 maintenant
Mais moi j'ai pas ce r�sultat en entier mais plutot juste une partie :
(mando@polgara) (~) $ ./a.out
Nb evenements ? 3
Evenement [1/3]
Annee ? 2005
Mois ? 11
Jour ? 2
Evenement ? plop
Evenement [2/3]
Annee ? 1983
Mois ? 03
Jour ? 18
Evenement ? naissance
Evenement [3/3]
Annee ? 2007
Mois ? 05
Jour ? 08
Evenement ? maintenant
Il affiche pas les �v�nements ordonn�s et �a se ferme aussit�t que je clic le dernier �v�nement

Si vous voyez ce que je vois pas et qui bloque mon travail...
Merci d'avance