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."