C# structure de donnée et list (sort)

Fermé
Hihi76 - 2 avril 2011 à 16:51
 Hihi76 - 2 avril 2011 à 19:16
Bonjour,

je n'arrive pas à effectuer un trie sur une structure de donnée sous forme de liste.

Voici mon code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ConsoleApplication1
{
    public struct voiture
    {
        public string numero;
        public int annee;
        public int marque;
        public string modele;
        public double prix;
    }

    class Program
    {
        static void Main(string[] args)
        {
            int choix = 0;
            List<voiture> liVoiture = new List<voiture>();
            List<string> liMarque = new List<string>();

            while (choix != 10)
            {
                menu();
                Console.WriteLine("Entrer votre choix");
                choix = Int32.Parse(Console.ReadLine());
                switch (choix)
                {
                    case 1: remplir_voit(liVoiture, liMarque);
                        break;
                    case 2: edition_voit(liVoiture, liMarque);
                        break;
                    case 3: trier(ref liVoiture);
                        break;
                }

               
            }
        }

        static public void menu()
        {
            Console.Clear();
            Console.WriteLine("Menu");
            Console.WriteLine(" 1 remplir les tableaux (voitures et constructeurs)");
            Console.WriteLine(" 2 editer les tableaux");
            Console.WriteLine(" 3 tri sur numero des voitures");
            Console.WriteLine(" 4 supprimer une voiture");
            Console.WriteLine(" 5 ajouter une voiture");
            Console.WriteLine(" 6 Recherche une voiture sur son numero");
        }

        public static void remplir_voit(List<voiture> liv, List<string> lim)
        {
            voiture sais_voit;
            sais_voit.numero = "1258XD76"; sais_voit.annee = 1995;
            sais_voit.marque = 1; sais_voit.modele = "Saxo"; sais_voit.prix = 3900;
            liv.Add(sais_voit);

            sais_voit.numero = "1158ZE76"; sais_voit.annee = 2002;
            sais_voit.marque = 1; sais_voit.modele = "Saxo"; sais_voit.prix = 6800;
            liv.Add(sais_voit);

            sais_voit.numero = "2584DR27"; sais_voit.annee = 1999;
            sais_voit.marque = 0; sais_voit.modele = "106"; sais_voit.prix = 5000;
            liv.Add(sais_voit);

            sais_voit.numero = "1321XV76"; sais_voit.annee = 2002;
            sais_voit.marque = 0; sais_voit.modele = "206SW"; sais_voit.prix = 16000;
            liv.Add(sais_voit);

            sais_voit.numero = "5673DQ27"; sais_voit.annee = 1994;
            sais_voit.marque = 2; sais_voit.modele = "Twingo"; sais_voit.prix = 4500;
            liv.Add(sais_voit);

            sais_voit.numero = "8901TR76"; sais_voit.annee = 2003;
            sais_voit.marque = 2; sais_voit.modele = "Megane"; sais_voit.prix = 17000;
            liv.Add(sais_voit);

            sais_voit.numero = "3456YT27"; sais_voit.annee = 1999;
            sais_voit.marque = 0; sais_voit.modele = "206"; sais_voit.prix = 9000;
            liv.Add(sais_voit);

            sais_voit.numero = "1563HU76"; sais_voit.annee = 1994;
            sais_voit.marque = 3; sais_voit.modele = "Panda"; sais_voit.prix = 3500;
            liv.Add(sais_voit);


            lim.Add("Peugeot"); lim.Add("Citroen"); lim.Add("Renault"); lim.Add("Fiat");
            lim.Add("Opel"); lim.Add("Toyota");
        }

        public static void edition_voit(List<voiture> liv, List<string> lim)

        {

             Console.WriteLine("Numero   année  Marque modele    prix ");
             foreach (voiture v in liv)
             {
                 Console.WriteLine(v.numero + " " + v.annee + "   " + lim[v.marque] + " " + v.modele + "   " + v.prix);
             }
             Console.ReadKey();
         }

        public static void trier(ref List<voiture> liv)
        {
            liv.Sort();
            
        }
    }
}


A chaque fois j'ai "Impossible de comparer deux éléments dans le tableau."
A voir également:

1 réponse

Personne ? :(
0