Fin TP2
This commit is contained in:
parent
1a9f86cff5
commit
585300ff6a
@ -1,3 +1,4 @@
|
|||||||
using Programmation_objet_TLESIO21.TD1;
|
//using Programmation_objet_TLESIO21.TD1;
|
||||||
|
using Programmation_objet_TLESIO21.TD2;
|
||||||
|
|
||||||
Td1.Launch();
|
Td2.Launch();
|
||||||
|
42
TD2/Personnes.cs
Normal file
42
TD2/Personnes.cs
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Programmation_objet_TLESIO21.TD2 {
|
||||||
|
public class Personnes {
|
||||||
|
// Tableau privé interne qui contient les noms des personnes.
|
||||||
|
private string[] m_Noms { get; }
|
||||||
|
private int m_NbElt { get; } // nombre d’éléments dans le tableau
|
||||||
|
private int m_Max { get; }// nombre maximum d’éléments
|
||||||
|
// Le constructeur qui initialise le tableau.
|
||||||
|
public Personnes(int Max) {
|
||||||
|
this.m_Noms = new string[Max];
|
||||||
|
this.m_Max = Max;
|
||||||
|
this.m_NbElt = 0;
|
||||||
|
}
|
||||||
|
// L'indexeur qui retourne l'index à partir du nom.
|
||||||
|
public int this[string Nom] {
|
||||||
|
get {
|
||||||
|
return Array.IndexOf(m_Noms, Nom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// L'indexeur qui retourne ou affecte le nom à partir de l’index.
|
||||||
|
public string this[int i] {
|
||||||
|
get {
|
||||||
|
if (i < this.m_Noms.Length) {
|
||||||
|
return this.m_Noms[i];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "null";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
set {
|
||||||
|
this.m_Noms[i] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
100
TD2/TabClasse.cs
Normal file
100
TD2/TabClasse.cs
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Programmation_objet_TLESIO21.TD2 {
|
||||||
|
public class TabClasse {
|
||||||
|
|
||||||
|
private int nbMaxElts;
|
||||||
|
private int[] tab;
|
||||||
|
private int nbElts;
|
||||||
|
|
||||||
|
public TabClasse() : this(0) { }
|
||||||
|
|
||||||
|
public TabClasse(int nbMaxElts) {
|
||||||
|
this.nbMaxElts = nbMaxElts;
|
||||||
|
this.tab = new int[nbMaxElts];
|
||||||
|
this.nbElts = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemplirTableau() {
|
||||||
|
this.nbElts = 0;
|
||||||
|
for (int i = 0; i < this.nbMaxElts; ++i) {
|
||||||
|
Console.WriteLine("Entrez un entier (" + (this.nbMaxElts - i) + " restants) : ");
|
||||||
|
String input = Console.ReadLine();
|
||||||
|
Console.Write("");
|
||||||
|
|
||||||
|
if (String.IsNullOrEmpty(input)) {
|
||||||
|
i--;
|
||||||
|
Console.WriteLine("Merci de renter une valeur.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
try {
|
||||||
|
tab[i] = int.Parse(input);
|
||||||
|
this.nbElts++;
|
||||||
|
}
|
||||||
|
catch (Exception FormatException) {
|
||||||
|
i--;
|
||||||
|
Console.WriteLine("Merci de renter un entier.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AfficherTableau() {
|
||||||
|
String s = "[";
|
||||||
|
for (int i = 0; i < this.tab.Length; ++i) {
|
||||||
|
s += this.tab[i] + ", ";
|
||||||
|
}
|
||||||
|
Console.WriteLine(s.Substring(0, s.Length - 2) + "]");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TrierTableau() { //tri à bulles
|
||||||
|
for (int i = (this.tab.Length - 1); i >= 1; --i) {
|
||||||
|
for (int j = 2; j <= i; ++j) {
|
||||||
|
if (this.tab[j - 1] > this.tab[j]) {
|
||||||
|
int temp = this.tab[j - 1];
|
||||||
|
this.tab[j - 1] = this.tab[j];
|
||||||
|
this.tab[j] = temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*public void SetValue(int index, int value) {
|
||||||
|
if (index < this.nbElts) {
|
||||||
|
this.tab[index] = value;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Console.Error.WriteLine("Votre index dépasse la capacité de ce tableau");
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
public int this[int index] {
|
||||||
|
get {
|
||||||
|
if (index < this.nbElts) {
|
||||||
|
return this.tab[index];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Console.Error.Write("Votre index dépasse la capacité de ce tableau");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
set {
|
||||||
|
|
||||||
|
if (index < this.nbElts) {
|
||||||
|
this.tab[index] = value;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Console.Error.Write("Votre index dépasse la capacité de ce tableau");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
51
TD2/td2.cs
Normal file
51
TD2/td2.cs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Security.Cryptography.X509Certificates;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Programmation_objet_TLESIO21.TD2 {
|
||||||
|
public static class Td2 {
|
||||||
|
|
||||||
|
public static void Exo1() {
|
||||||
|
TabClasse t = new TabClasse(5);
|
||||||
|
t.RemplirTableau();
|
||||||
|
Console.Write("Le tableau est : ");
|
||||||
|
t.AfficherTableau();
|
||||||
|
|
||||||
|
Console.Write("Après tri, le tableau est : ");
|
||||||
|
t.TrierTableau();
|
||||||
|
t.AfficherTableau();
|
||||||
|
|
||||||
|
Console.WriteLine("Get de l'index 8 : " + t[8]);//error
|
||||||
|
Console.WriteLine("Get de l'index 2 : " + t[2]); //ok
|
||||||
|
|
||||||
|
Console.Write("Set de 15 à l'index 9 : ");
|
||||||
|
t[9] = 15; //error
|
||||||
|
t.AfficherTableau();
|
||||||
|
|
||||||
|
Console.Write("Set de 15 à l'index 1 : ");
|
||||||
|
t[1] = 15; //ok
|
||||||
|
t.AfficherTableau();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Exo3() {
|
||||||
|
Personnes Tableau = new Personnes(4);
|
||||||
|
Tableau[0] = "Anna";
|
||||||
|
Tableau[1] = "Ingrid";
|
||||||
|
Tableau[2] = "Maria";
|
||||||
|
Tableau[3] = "Ulrika";
|
||||||
|
Console.WriteLine(Tableau[1]); // Affiche "Ingrid"
|
||||||
|
Console.WriteLine(Tableau["Maria"]); //Affiche 2
|
||||||
|
Console.WriteLine(Tableau[10]); // Affiche null
|
||||||
|
Console.WriteLine(Tableau["Toto"]); //Affiche -1
|
||||||
|
}
|
||||||
|
public static void Launch() {
|
||||||
|
//Exo1();
|
||||||
|
Exo3();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
pdf/CM/Cours2C#.pdf
Normal file
BIN
pdf/CM/Cours2C#.pdf
Normal file
Binary file not shown.
BIN
pdf/TD/TD2.pdf
Normal file
BIN
pdf/TD/TD2.pdf
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user