![]() ![]() |
/* Types de données : - void - bool, bool3 - int, real - pair, triple - string - path, guide - pen - transform - picture, frame - ... */ frame f; label(f,"\textbf{types de donn\'ees}",yellow,Fill(.5blue)); add(rotate(20)*scale(3)*f); |
![]() ![]() |
struct eleve { string nom; string prenom; int age; void operator init(string nom, string prenom, int age){ this.nom=nom; this.prenom=prenom; this.age=age; } } eleve el1 = eleve("Dupont","Martine",15), el2 = eleve("Durand","Jean",17), el3 = eleve("Duval","Robert",16); size(5cm); label(el1.prenom,(0,0)); label(string(el2.age),(1,-1)); label(el3.nom,(2,-2)); |
![]() ![]() |
struct eleve { string nom; string prenom; int age; void operator init(string nom, string prenom, int age){ this.nom=nom; this.prenom=prenom; this.age=age; } } eleve el1 = eleve("Dupont","Martine",15), el2 = eleve("Durand","Jean",17), el3 = eleve("Duval","Robert",16); eleve[] classe = {el1,el2,el3}; size(5cm); label(classe[0].prenom,(0,0)); label(string(classe[1].age),(1,-1)); label(classe[2].nom,(2,-2)); |
![]() ![]() |
// Définition du type JOUEUR : chaque instance de ce type // est caractérisée par - un nom, // - un salaire. struct joueur { string nom; real salaire; void operator init(string nom, real salaire){ this.nom=nom; this.salaire=salaire; } } // Définition du type EQUIPE : chaque instance de ce type // est caractérisée par - un nom d'équipe, // - une liste de joueurs (liste d'éléments de type JOUEUR) // - le montant total des salaires des joueurs de l'équipe // qui est calculé via la fonction totaldessalaires(). struct equipe { string nom_equipe; joueur[] joueursdelequipe; real totaldessalaires; void operator init(string nom_equipe,joueur[] joueursdelequipe=new joueur[]){ this.nom_equipe=nom_equipe; this.joueursdelequipe=joueursdelequipe; this.totaldessalaires=0; } void totaldessalaires(){ for(int i=0; i<joueursdelequipe.length; ++i) this.totaldessalaires+=joueursdelequipe[i].salaire; } } // Un exemple d'objet de type EQUIPE : eq1 equipe eq1=equipe("France", new joueur[] {joueur("Dupont",150000), joueur("Durand",200000), joueur("Martin",250000)}); // Affichage de quelques valeurs particulières size(6cm); label(eq1.joueursdelequipe[1].nom,(0,0)); // le nom du 2ème joueur de eq1 label(string(eq1.joueursdelequipe[2].salaire),(1,-1)); // le salaire du 3ème joueur label(string(eq1.joueursdelequipe.length),(2,-2)); // le nombre de joueurs de eq1 label(string(eq1.totaldessalaires),(3,-3)); // le total des salaires avant calcul eq1.totaldessalaires(); label(string(eq1.totaldessalaires),(3,-4)); // le total des salaires après calcul |
Dernière modification le Fri Oct 28 13:00:37 CEST 2011 par G.Marris Valide XHTML