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
ce qui normalement devait donner comme résultat est :
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; }
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
18/3/1983 naissance
2/11/2005 plop
8/5/2007 maintenant
Il affiche pas les événements ordonnés et ça se ferme aussitôt que je clic le dernier événement(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
Si vous voyez ce que je vois pas et qui bloque mon travail...
Merci d'avance
Partager