Skip to content

Commit 3c22e2a

Browse files
authored
Add files via upload
1 parent 06a01e3 commit 3c22e2a

14 files changed

+938
-0
lines changed

Controle end.cpp

Lines changed: 291 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
#include <stdio.h>
2+
#include <stdlib.h>
3+
#include<string.h>
4+
typedef struct {
5+
int jour;
6+
int mois;
7+
int annee;
8+
}d;
9+
typedef struct {
10+
char nom[50];
11+
char pays[50];
12+
d date;
13+
}per;
14+
typedef struct {
15+
char titre[50];
16+
char theme[50];
17+
per realisateur;
18+
int ann;
19+
int nbract;
20+
per acteurs[100];
21+
}film;
22+
typedef struct {
23+
film tab[100];
24+
int nbrf;
25+
}video;
26+
// prototype
27+
void afficherdate(d date);
28+
29+
// la saisie
30+
31+
per saisie_pers()
32+
{ per pers;
33+
printf("veillez saisir le nom : \n");
34+
scanf("%s",pers.nom);
35+
printf("veillez saisir le pays:\n");
36+
scanf("%s",pers.pays);
37+
printf("saisir la date:");
38+
scanf("%d%d%d",&pers.date.jour,&pers.date.mois,&pers.date.annee);
39+
return(pers);}
40+
////////////// Saisie du film
41+
42+
film saisief(){
43+
film f;
44+
printf("saisir le titre:\n");
45+
scanf("%s",f.titre);
46+
printf("saisir le theme:\n");
47+
scanf("%s",f.theme);
48+
printf("Informations sur le realisateur:\n");
49+
f.realisateur=saisie_pers();
50+
printf("saisir l'annee de sortie:\n");
51+
scanf("%d",&f.ann);
52+
53+
//////// POURQUOI ON A PAS SAISIS LES ACTEURS ICI ?? /////////
54+
55+
return(f);
56+
}
57+
58+
video v;
59+
60+
void saisie_videotheque(int nb){
61+
62+
int i;
63+
for(i=0;i<nb;i++) // { v.tab[v.nbrf+i]=saisief();
64+
v.tab[v.nbrf+i]=saisief(); // v.nbrf++; }
65+
v.nbrf=v.nbrf+nb;
66+
}
67+
68+
int rechercher(char nom[])
69+
{
70+
int i;
71+
for(i=0;i<v.nbrf;i++){
72+
if (strcmp(v.tab[i].titre,nom)==0)
73+
return i;
74+
}
75+
76+
return -1;
77+
}
78+
79+
80+
void remplissage_act(char nom[],int nbract)
81+
{int i, x=rechercher(nom);
82+
if (x!=-1){
83+
for(i=0;i<nbract;i++)
84+
v.tab[x].acteurs[i]=saisie_pers();
85+
v.tab[x].nbract=nbract;
86+
}
87+
else
88+
printf("le film n'existe pas:");
89+
}
90+
91+
92+
void afficherpers(per p){
93+
printf("%s\n",p.nom);
94+
printf("le pays est %s:\n",p.pays);
95+
afficherdate(p.date);
96+
}
97+
void afficherfilm(film f){
98+
int i;
99+
printf("le titre du film est %s\n",f.titre);
100+
printf("le theme du film est %s\n",f.theme);
101+
printf("le film a pour realisateur :\n");
102+
afficherpers(f.realisateur);
103+
printf("annee de sortie est:\n",f.ann);
104+
for(i=0;i<f.nbract;i++)
105+
{
106+
afficherpers(f.acteurs[i]);
107+
}
108+
}
109+
110+
111+
void afficherdate(d date ){
112+
printf("%d/%d/%d\n",date.jour,date.mois,date.annee);
113+
}
114+
115+
116+
void affichervideo(){
117+
int i;
118+
for(i=0;i<v.nbrf;i++)
119+
afficherfilm(v.tab[i]);
120+
}
121+
122+
123+
void affichertheme(char* theme)
124+
{
125+
int i,cpt=0;
126+
printf("\n----------affichage theme:--------------\n");
127+
printf("%d",v.nbrf);
128+
for(i=0;i<v.nbrf;i++)
129+
if(strcmp(v.tab[i].theme,theme)==0){
130+
afficherfilm(v.tab[i]);
131+
cpt++;
132+
}
133+
134+
if(cpt==0)
135+
printf("aucun film de ce theme :");
136+
}
137+
138+
139+
void afficherActeurFilm(char titre[])
140+
{
141+
int trouver,i;
142+
trouver=rechercher(titre);
143+
if(trouver==-1)
144+
printf("le film n'existe pas\n");
145+
else
146+
for(i=0;i<v.tab[trouver].nbract;i++)
147+
{
148+
afficherpers(v.tab[trouver].acteurs[i]);
149+
}
150+
}
151+
152+
153+
void afficherFilmActeur(char nom[])
154+
{
155+
int i,j;
156+
for(i=0;i<v.nbrf;i++)
157+
for(j=0;j<v.tab[i].nbract;j++)
158+
if(strcmp(v.tab[i].acteurs[j].nom,nom)==0)
159+
afficherfilm(v.tab[i]);
160+
}
161+
162+
void modifierListeActeurs(char titre[])
163+
{
164+
int n;
165+
printf("saisir le nombre d'acteurs");
166+
scanf("%d",&n);
167+
remplissage_act(titre,n);
168+
}
169+
170+
void supprimer(char titre[])
171+
{
172+
int i,trouver=rechercher(titre);
173+
if(trouver==-1)
174+
printf("n'existe pas\n");
175+
else
176+
{
177+
for(i=trouver;i<v.nbrf-1;i++)
178+
v.tab[i]=v.tab[i+1];
179+
v.nbrf--;
180+
}
181+
}
182+
183+
int menu()
184+
{
185+
int choix = 0;
186+
while (choix <1 || choix > 9)
187+
{
188+
printf("Menu :\n");
189+
printf("1 : Ajouter des films \n") ;
190+
printf("2 : remplissage de la liste des acteurs d'un film \n");
191+
printf("3 : afficher un film par theme\n");
192+
printf("4 : afficher la liste des acteurs d'un film' \n");
193+
printf("5 : afficher un film par acteur\n");
194+
printf("6 : supprimer un film\n");
195+
printf("7 : modifier la liste des acteurs d'un film \n");
196+
printf("8 : affichage de la videotheque : \n");
197+
printf("9 : Charger \n");
198+
printf("10 : Quitter \n");
199+
printf("Votre choix ? ");
200+
scanf("%d", &choix);
201+
}
202+
return choix;
203+
}
204+
205+
206+
void charger(video *ptr) // equivalent exporter
207+
{
208+
209+
FILE* Flux = NULL;
210+
Flux = fopen("test.txt", "w");
211+
212+
if(Flux != NULL)
213+
{
214+
int indice = 0;
215+
for(indice;indice<ptr->nbrf; indice++)
216+
{
217+
fprintf(Flux, "%s %s ", (*ptr).tab[indice].theme,(*ptr).tab[indice].titre);
218+
}
219+
fclose(Flux);
220+
}
221+
222+
}
223+
224+
225+
226+
int main(int argc, char *argv[]) {
227+
int nf,nact;
228+
char titre[30];
229+
int ctl=menu();
230+
while (ctl!=9){
231+
232+
switch (ctl)
233+
{
234+
case 1:
235+
printf("Opération d'ajout: \n");
236+
printf("saisirla videotheque:\n ");
237+
printf("entrer le nombre que vous desirer :");
238+
scanf("%d",&nf);
239+
saisie_videotheque(nf);
240+
break;
241+
case 2:
242+
printf("remplissage de la liste des acteurs d'un film: \n");
243+
printf("saisir le titre du film:");
244+
scanf("%s",titre);
245+
printf("entrer le nombre d'acteur :");
246+
scanf("%d",&nact);
247+
remplissage_act(titre,nact);
248+
break;
249+
case 3:
250+
printf("Opération d'affichage par theme : \n");
251+
printf("saisir le theme du film:");
252+
scanf("%s",titre);
253+
affichertheme(titre);
254+
break;
255+
case 4:
256+
printf(":afficher la liste des acteurs par film \n");
257+
printf("saisir le titre du film:");
258+
scanf("%s",titre);
259+
afficherActeurFilm(titre);
260+
break;
261+
case 5:
262+
printf("afficher les films par acteur: \n");
263+
printf("saisir le nom d'acteur':");
264+
scanf("%s",titre);
265+
afficherFilmActeur(titre);
266+
break;
267+
case 6:
268+
printf("Opération de suppression: \n");
269+
printf("saisir le titre du film:");
270+
scanf("%s",titre);
271+
supprimer(titre);
272+
break;
273+
case 7:
274+
printf("Opération de modification de la liste des acteurs: \n");
275+
printf("saisir le titre du film:");
276+
scanf("%s",titre);
277+
modifierListeActeurs(titre);
278+
break;
279+
case 8:
280+
printf("affichage de la videotheque: \n");
281+
affichervideo();
282+
break;
283+
case 9:
284+
printf("Chargement de la videotheque: \n");
285+
charger(&v);
286+
break;
287+
}
288+
ctl=menu();
289+
}
290+
return 0;
291+
}

Decalage Exo3.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#include<stdio.h>
2+
#include<stdlib.h>
3+
int main ()
4+
{
5+
int T[30],i,j,n,aux;
6+
do{
7+
printf("Saisir la taille du tableau :\n");
8+
scanf("%d",&n);
9+
}while(n<1||n>30);
10+
for(i=0;i<n;i++){
11+
do{
12+
printf("Saisir la valeur %d \n",i+1);
13+
scanf("%d",&T[i]);
14+
}while(T[i]<0);
15+
}
16+
for(j=0;j<3;j++) {
17+
aux=T[n-1];
18+
for(i=n-1;i>0;i--){
19+
T[i]=T[i-1];}
20+
T[0]=aux;
21+
}
22+
for(i=0;i<n;i++)
23+
printf("%d \n",T[i]);
24+
25+
}

Exo6.cpp

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#include<stdio.h>
2+
#include<stdlib.h>
3+
int main()
4+
{
5+
int i,n,j,m,T[30],Tab[30];
6+
const float Pi =3.5;
7+
do{
8+
printf("saisir la taille de votre tableau : ");
9+
scanf("%d",&n);
10+
}while(n<1||n>30);
11+
for(i=0;i<n;i++){
12+
printf("saisir T[%d]",i);
13+
scanf("%d",&T[i]);
14+
}
15+
Tab[0]=T[0];
16+
m=1;
17+
for(i=0;i<m;i++)
18+
for(j=1;j<n;j++)
19+
{
20+
if(T[j]!=Tab[i]){
21+
m++;
22+
Tab[i+1]=T[j];
23+
}
24+
}
25+
for(i=0;i<m;i++){
26+
printf("Tab[%d]=%d \n",i ,Tab[i]);
27+
}
28+
printf("%f",Pi);
29+
}
30+
31+
32+

0 commit comments

Comments
 (0)