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