j'ai un petit problème avec une fonction insérant une date dans un tableau et qui le trie par ordre croissant.
je sais comment faire un tri par insertion mais le problème c'est les dates, pour dire de ne entré trop de paramètre ou de condition pour le tri.
voici le code que j'ai déjà fait: (celui-ci inclus les autres questions de mon td)

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
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

struct date
{
       int Jour;
       int Mois;
       int Annee;
};

date saisir_date()
{    
     date d1;
     cout << "Saisir le Jour: "; 
     cin >> d1.Jour;
     cout << "\nSaisir le Mois: "; 
     cin >> d1.Mois;
     cout << "\nSaisir l'annee: "; 
     cin >> d1.Annee; 
     return d1;     
}

void saisir_date2(date &d1)
{
     cout << "Saisir le Jour: "; 
     cin >> d1.Jour;
     cout << "\nSaisir le Mois: "; 
     cin >> d1.Mois;
     cout << "\nSaisir l'annee: "; 
     cin >> d1.Annee;      
}

void tri_inser ()
{
  
           
   
}
void affiche_date (date d1)
{
     cout << d1.Jour<<'\t'<< d1.Mois << '\t' << d1.Annee <<endl;     
}
 
int comp_date (date d1, date d2)
{
    if (d1.Annee<d2.Annee) { return -1;}
    else if (d1.Annee>d2.Annee) { return 1;}
    else if (d1.Mois<d2.Mois) { return -1;}
    else if (d1.Mois>d2.Mois) { return 1;}
    else if (d1.Jour<d2.Jour) { return -1;}
    else if (d1.Jour>d2.Jour) { return 1;}
    else return 0;
}
 
 
main()
{     int cmp;
      date d1,d2;
      d1=saisir_date ();
      d2=saisir_date ();
      affiche_date (d1);
      affiche_date (d2);
      cmp = comp_date (d1,d2);
      system ("pause");
       
}