TDI-PASSAGE Synthese Principale V2 Correction PDF
TDI-PASSAGE Synthese Principale V2 Correction PDF
TDI-PASSAGE Synthese Principale V2 Correction PDF
11111010-11 = 11110111
ef 00 01 11 10
0 1 1 1 1
1 1 0 1 1
www.ofppt.info
h= e + f + g
min= T1[j] ;
pour i allant de 0 A
faire
if(min < T1[i] );
min= T1[i]
fin pour
pour i allant de 0 B
faire
if(min < T2[i] );
min= T2[i] ;
fin pour
pour i allant de 0 B
pour j allant de 0 A
res[i][j]=abs (T1[i]*T2[j])*min;
pour i allant de 0 B
pour j allant de 0 A
ecrire(res[i][j]);
Fin
www.ofppt.info
Est chef
0,1 0,n
Employ Valide
0,n
matricule Entier date_validation Date0,n
Ordre de mission Concerne
0,n
nom Texte Numero_Ordre de mission Entier
prnom Texte date de dpart Date
date de recrutement Date date de retour Date 0,n
id_DEpartement Entier
libelle_Departetement Texte
Valide
FK_EST_CHEF
date_validation date
FK_VALIDE
FK_VALIDE2 Concerne
Employ
matricule integer Ordre de mission FK_CONCERNE
nom text Numero_Ordre de mission integer
prnom text date de dpart date
date de recrutement date FK_SE_DEPLACE date de retour date FK_CONCERNE2
destination text
Forfait float Projet
Commentaire text
id_Projet integer
libelle_Projet text
FK_APPARTIENT
www.ofppt.info
Partie II: Pratique (80 pts)
1-
typedefstructordreMission {
int identifiant;
char mission[30];
char ville[30];
intduree;
char commentaire[30];
int frais;
char etat[30];
}nf;
2-
ordreMissionHistoriqueOrdreMission [30];
3-
printf("voulez-vous gerer combien dordre de missions ?\n");
scanf("%d",&n);
for(j=0;j<n;j++){
printf("info de lordreMission %d\n",j+1);
printf("donner lidentifiant de lordre de missions \n");
scanf("%d",&HistoriqueOrdreMission[j].identifiant);
printf("donner la mission\n");
scanf("%s",HistoriqueOrdreMission[j].mission);
printf("donner la ville\n");
scanf("%s",HistoriqueOrdreMission[j].ville);
printf("donner la duree de lordre de missions \n");
scanf("%d",&HistoriqueOrdreMission[j].duree);
printf("donner le frais de lordre de missions \n");
scanf("%d",&HistoriqueOrdreMission[j].frais);
printf("donner letat de ordreMission \n");
scanf("%s",HistoriqueOrdreMission[j].etat);
}
4-
www.ofppt.info
for(j=0;j<n;j++){
printf("info de lordreMission %d\n",j+1);
printf("le nom "%s ",HistoriqueOrdreMission[j].mission);
printf("la ville %s", HistoriqueOrdreMission[j].ville);
printf("lidentifiant de lordreMission %d", HistoriqueOrdreMission
[j].identifiant);
printf("la dure %d", HistoriqueOrdreMission[j].duree);
printf("les frais %d", HistoriqueOrdreMission[j].frais);
printf("le type de ordreMission %s", HistoriqueOrdreMission[j].etat);
}
5-
for(j=0;j<n;j++){
if(HistoriqueOrdreMission[j].etat ==" Refus ")
{
printf("info du ordreMission %d\n",j+1);
printf("le nom "%s ",HistoriqueOrdreMission[j].mission);
printf("la ville %s", HistoriqueOrdreMission[j].ville);
printf("lidentifiant de ordreMission %d", HistoriqueOrdreMission
[j].identifiant);
printf("la duree %d", HistoriqueOrdreMission[j].duree);
printf("le montant %d", HistoriqueOrdreMission[j].frais);
printf("Letat de lordreMission %s", HistoriqueOrdreMission[j].etat);
}
}
6-
inttotfrais=0 ;
for(j=0;j<n;j++){
totfrais+= HistoriqueOrdreMission[j].frais;
printf(" le frais totale des ordreMission est: %d\n", totfrais);
7-
printf("donner le numero et le frais de lordre de missions \n");
scanf("%d%d",&num,&mnt);
for(j=0;j<n;j++){
if((HistoriqueOrdreMission [j].mission,identifiant)==num)
HistoriqueOrdreMission [j].frais=mnt;
}
8-
www.ofppt.info
printf("donner letat de ordreMission \n");
scanf("%s",HistoriqueOrdreMission[j].etat);
i=0;
while(HistoriqueOrdreMission[i].identifiant<ident) i++;
for(j=n-1;j>=i;j--){
HistoriqueOrdreMission [j+1]= HistoriqueOrdreMission [j];
}
strcpy(HistoriqueOrdreMission [i].mission,mission);
strcpy(HistoriqueOrdreMission [i].ville,ville);
HistoriqueOrdreMission [i].identifiant=identifiant;
printf("le nouveau tableau des notes de frais est:\n");
n++;
for(j=0;j<n;j++){
printf("info du ordreMission %d\n",j+1);
printf("le nom "%s ",HistoriqueOrdreMission[j].mission);
printf("la ville %s", HistoriqueOrdreMission[j].ville);
printf("le identifiant de ordreMission %d", HistoriqueOrdreMission
[j].identifiant);
printf("la duree %d", HistoriqueOrdreMission[j].duree);
printf("le montan %d", HistoriqueOrdreMission[j].frais);
printf("le type de ordreMission %s", HistoriqueOrdreMission[j].etat);
}
9-
do{
printf("****************Menu*******************:\n");
printf("****************QUESTION 1*************:\n");
printf("****************QUESTION 2*************:\n");
printf("****************QUESTION 3*************:\n");
printf("****************QUESTION 4*************:\n");
printf("****************QUESTION 5*************:\n");
printf("****************QUESTION 6*************:\n");
printf("****************QUESTION 7*************:\n");
printf("****************QUESTION 8***********:\n");
printf("****************QUESTION 9*************:\n");
printf("****************QUITTER 0**************:\n");
scanf("%d",&choix);
switch(choix){
case 1:
case 2:
etc
}while(choix!=0);
www.ofppt.info
Par Employ
class Employ
{
int Matricule { get; set; }
public string Nom { get; set; }
public string Prenom { get; set; }
public string Adresse { get; set; }
public string Genre { get; set; }
public float Age { get; set; }
private string service { get; set; }
private string departement { get; set; }
this.Matricule = id;
this.Nom = nom;
this.Prenom = prenom;
this.Adresse = adresse;
this.Genre = Genre;
this.Age = Age;
this.service = service;
this.departement = dep;
class Mission
{
int Numero;
string Libell;
string Lieu;
string Commentaire;
float Montant;
public Mission() { }
public Mission(int num, string libelle, string lieu, string commentaire,
float montant)
{
www.ofppt.info
this.Numero = num;
this.Libell = libelle;
this.Lieu = lieu;
this.Commentaire = commentaire ;
this.Montant = montant ;
}
}
class OrdreMissionTrain: Mission
{
Employe emp;
int classe;
string typetrain;
string montant;
public OrdreMissionTrain():base() { }
public OrdreMissionTrain(int num, string libelle, string lieu, string commentaire,
float montant , string emp, int classe, string typetrain,string montant): base
( num, libelle, lieu, commentaire, montant )
{
if ((montant < 10) || (classe > 500))
{ throw new cheveauException (); }
else
{
this.emp = emp ;
this.classe = classe ;
this.typetrain = typetrain ;
this.montant = montant ;
}
}
public override int CalculerCharge ()
{
return montant * classe ;
}
www.ofppt.info
4. ClasseListeMissions: (10 pts)
class ListeMissions
{
public List<Mission> lp;
public ListeMissions()
{
lp = new List<Mission>();
www.ofppt.info
Dossier 2 : (25 Pts)
2. Ecrire le code du bouton Afficher permettant dafficher les ordres de missions dun
Lieu slectionne partir dun combobox. (6 pts)
if (d.Lieu1 == comboBox1.Text)
{
3. Ecrire le code ncessaire pour le bouton Supprimer qui permet de supprimer lordre
de mission dont le numro est saisi dans le textbox, la suppression doit tre effectue
la fois dans la liste et dans la grille et un message de confirmation doit tre affich
avant de procder la suppression. (7 pts)
www.ofppt.info
//dataGridView1.Rows.RemoveAt(i);
listBox1.Items.Remove(lp[i]);
lp.RemoveAt(i);
clear(); break;
}
}
}
if (t == false) MessageBox.Show("ordre de mission inexistant");
}
4. Ecrire le code ncessaire pour le bouton Total permettant dafficher le montant total
des ordres de missions enregistrs. (6 pts)
TextBoxTotal = total.ToString();
www.ofppt.info