commit d9949b5cb053ad11d5790204b46ac41373825faa Author: unknown Date: Fri Jan 14 06:54:18 2022 +0100 a diff --git a/APL1.1/1.Saisie/executable/Saisie b/APL1.1/1.Saisie/executable/Saisie new file mode 100644 index 0000000..d1b5e08 Binary files /dev/null and b/APL1.1/1.Saisie/executable/Saisie differ diff --git a/APL1.1/1.Saisie/executable/SaisieDouble b/APL1.1/1.Saisie/executable/SaisieDouble new file mode 100644 index 0000000..a5621fb Binary files /dev/null and b/APL1.1/1.Saisie/executable/SaisieDouble differ diff --git a/APL1.1/1.Saisie/executable/SaisieGroupée b/APL1.1/1.Saisie/executable/SaisieGroupée new file mode 100644 index 0000000..c039fb7 Binary files /dev/null and b/APL1.1/1.Saisie/executable/SaisieGroupée differ diff --git a/APL1.1/1.Saisie/executable/SaisieHexa b/APL1.1/1.Saisie/executable/SaisieHexa new file mode 100644 index 0000000..0647ac1 Binary files /dev/null and b/APL1.1/1.Saisie/executable/SaisieHexa differ diff --git a/APL1.1/1.Saisie/executable/VerifSaisie b/APL1.1/1.Saisie/executable/VerifSaisie new file mode 100644 index 0000000..7245d3d Binary files /dev/null and b/APL1.1/1.Saisie/executable/VerifSaisie differ diff --git a/APL1.1/1.Saisie/source/Saisie.c b/APL1.1/1.Saisie/source/Saisie.c new file mode 100644 index 0000000..6aae44f --- /dev/null +++ b/APL1.1/1.Saisie/source/Saisie.c @@ -0,0 +1,12 @@ +#include +#include + +int main(void){ + +int entier = 1234; +printf("Entrez un entier :"); +scanf("%d",&entier); +printf("L'entier tapé est : %d\n", entier); + +return EXIT_SUCCESS; +} diff --git a/APL1.1/1.Saisie/source/SaisieDouble.c b/APL1.1/1.Saisie/source/SaisieDouble.c new file mode 100644 index 0000000..9fcef15 --- /dev/null +++ b/APL1.1/1.Saisie/source/SaisieDouble.c @@ -0,0 +1,14 @@ +#include +#include + +int main(void){ + +int entier1 = 1234, entier2 = 1234; +printf("Entrez le premier entier :"); +scanf("%d",&entier1); +printf("Entrez le deuxieme entier :"); +scanf("%d",&entier2); +printf("Le premier entier tapé est : %d, le second est : %d\n", entier1,entier2); + +return EXIT_SUCCESS; +} diff --git a/APL1.1/1.Saisie/source/SaisieGroupée.c b/APL1.1/1.Saisie/source/SaisieGroupée.c new file mode 100644 index 0000000..724685c --- /dev/null +++ b/APL1.1/1.Saisie/source/SaisieGroupée.c @@ -0,0 +1,18 @@ +#include +#include + +int main(void){ +int Bday,Bmonth,Byear,Aday,Amonth,Ayear;//B pour birth et A pour actual + +printf("Veuillez entrez la date sous la forme JJ/MM/AA\nLa date : "); +scanf("%d/%d/%d", &Aday,&Amonth,&Ayear); + + +printf("Veuillez entrez votre date de naissance sous la forme JJ/MM/AA\nLa date : "); +scanf("%d/%d/%d", &Bday,&Bmonth,&Byear); + +printf("Vous avez precisement %d ans, %d mois et %d jour\n", Ayear-Byear, Amonth-Bmonth, Aday-Bday);//comme on sous entend que la saisie est correct, on part du principe qu'une saisie correct est une saisie ou le jours,mois et l'année de naissance sont superieur a ceux de naissance + + +return EXIT_SUCCESS; +} diff --git a/APL1.1/1.Saisie/source/SaisieHexa.c b/APL1.1/1.Saisie/source/SaisieHexa.c new file mode 100644 index 0000000..cd632c7 --- /dev/null +++ b/APL1.1/1.Saisie/source/SaisieHexa.c @@ -0,0 +1,12 @@ +#include +#include + +int main(void){ + +int valeur = 1234; +printf("Entrez une valeur hexadécimal :"); +scanf("%x",&valeur); +printf("Votre valeur convertie en decimale est : %d\n", valeur); + +return EXIT_SUCCESS; +} diff --git a/APL1.1/1.Saisie/source/VerifSaisie.c b/APL1.1/1.Saisie/source/VerifSaisie.c new file mode 100644 index 0000000..2bd38d1 --- /dev/null +++ b/APL1.1/1.Saisie/source/VerifSaisie.c @@ -0,0 +1,17 @@ +#include +#include + +int main(void){ + +int valeur = 1234,verification; +printf("Entrez une valeur hexadecimal :"); + +verification = scanf("%x",&valeur); +if(verification==0){ + printf("Veuillez saisir un nombre hexadecimal correct\n"); +} +else +printf("La representation decimale de votre saisie est : %d\n", valeur); + +return EXIT_SUCCESS; +} diff --git a/APL1.1/10.Adresses/source/Alphabet b/APL1.1/10.Adresses/source/Alphabet new file mode 100644 index 0000000..3221b45 Binary files /dev/null and b/APL1.1/10.Adresses/source/Alphabet differ diff --git a/APL1.1/10.Adresses/source/Alphabet.c b/APL1.1/10.Adresses/source/Alphabet.c new file mode 100644 index 0000000..7dce81f --- /dev/null +++ b/APL1.1/10.Adresses/source/Alphabet.c @@ -0,0 +1,31 @@ +#include +#include + +int main(void) { +<<<<<<< HEAD + +char lettre = 'A'; + +while(lettre!='Z'){ + + printf("%c\n", lettre); + lettre++; + } + + + + +return EXIT_SUCCESS; +======= + char min, maj; + char *p = NULL; + + for(min = 'a', maj = 'A'; maj <= 'Z'; min++, maj++) { + p = (p == &min) ? &maj : &min; + putchar(*p); + } + putchar('\n'); + return EXIT_SUCCESS; +>>>>>>> 9eb043aed352919d658fb0f434a13ff0f2d0f6e5 +} + diff --git a/APL1.1/10.Adresses/source/Cartographie b/APL1.1/10.Adresses/source/Cartographie new file mode 100644 index 0000000..2594434 Binary files /dev/null and b/APL1.1/10.Adresses/source/Cartographie differ diff --git a/APL1.1/10.Adresses/source/Cartographie.c b/APL1.1/10.Adresses/source/Cartographie.c new file mode 100644 index 0000000..b98a928 --- /dev/null +++ b/APL1.1/10.Adresses/source/Cartographie.c @@ -0,0 +1,28 @@ +#include +#include + +int main(void) { + +float A; +double B; +long double C; +char D; +short int E; +int F; +long long unsigned int G; + +printf("%p\n",&A); +printf("%p\n",&B); +printf("%p\n",&C); +printf("%p\n",&D); +printf("%p\n",&E); +printf("%p\n",&F); +printf("%p\n",&G); + + + + + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/10.Adresses/source/Mort-vivant.c b/APL1.1/10.Adresses/source/Mort-vivant.c new file mode 100644 index 0000000..e69de29 diff --git a/APL1.1/10.Adresses/source/reponseAlphabet.txt b/APL1.1/10.Adresses/source/reponseAlphabet.txt new file mode 100644 index 0000000..14eb6a2 --- /dev/null +++ b/APL1.1/10.Adresses/source/reponseAlphabet.txt @@ -0,0 +1,11 @@ +Prédiction: + +On peut voir tout d'abord que les variables de ce programme sont min,maj et le pointeur p ayant le valeur NULL affecté. + +Ensuite nous avons une boucle qui va affecté 'a' a min et 'A' a maj et tant que maj est inferieur ou egal a Z ('d'un point de vue alphabetique) alors on passe a la lettre suivante pour min et pour maj. Dans la boucle on regarde si la valeur du pointeur p est egal a l'adresse de la variable min. Si oui on lui affecte l'adresse de maj sinon on lui affecte l'adresse de min. Apres cela on affiche la valeur de la variable pointé par p. Une fois la boucle fini, on affiche un retour a la ligne puis le programme se termine sans erreurs. + +Au premier tour de la boucle, la valeur de p n'etant pas l'adresse de min , on affectera alors l'adresse de min a p puis on affichera la valeur de min qui sera 'a'. Au tour suivant le pointeur p aura la valeur de l'adresse de min et on affectera donc l'adresse de maj a p puis on affiche la valeur de maj qui est 'B'. Le programme continuera a afficher l'alphabet en alternant minuscule et majuscule mais chaque lettre n'apparaitra qu'une fois, le programme s'arretera des lors que maj sera egal a Z. Ensuite le programme affichera un retour a la ligne puis se terminera. + +La ligne produite sera la suivante : +aBcDeFgHiJkLmNoPqRsTuVwXyZ + diff --git a/APL1.1/10.Adresses/source/reponseCartographie b/APL1.1/10.Adresses/source/reponseCartographie new file mode 100644 index 0000000..3377665 --- /dev/null +++ b/APL1.1/10.Adresses/source/reponseCartographie @@ -0,0 +1,4 @@ +Apres avoir fait le plan je constate que les variables vont se placer dans la memoire dans un ordre croissant, je me rend aussi compte que +l'ordre ne change pas peut importe combien de fois l'on relance. Je me rend aussi compte que une adresse de la memoire represente un octet +et grace a la documentation du tp "Type" nous pouvons voir le nombre de bit (et donc d'octet) que fait chaque type de variable ce qui nous +aide a comprendre que l'ordre dans la memoire est croissant diff --git a/APL1.1/10.Adresses/source/reponseCartographie.txt b/APL1.1/10.Adresses/source/reponseCartographie.txt new file mode 100644 index 0000000..3377665 --- /dev/null +++ b/APL1.1/10.Adresses/source/reponseCartographie.txt @@ -0,0 +1,4 @@ +Apres avoir fait le plan je constate que les variables vont se placer dans la memoire dans un ordre croissant, je me rend aussi compte que +l'ordre ne change pas peut importe combien de fois l'on relance. Je me rend aussi compte que une adresse de la memoire represente un octet +et grace a la documentation du tp "Type" nous pouvons voir le nombre de bit (et donc d'octet) que fait chaque type de variable ce qui nous +aide a comprendre que l'ordre dans la memoire est croissant diff --git a/APL1.1/10.Adresses/source/tes b/APL1.1/10.Adresses/source/tes new file mode 100644 index 0000000..2375135 Binary files /dev/null and b/APL1.1/10.Adresses/source/tes differ diff --git a/APL1.1/10.Adresses/source/tes.c b/APL1.1/10.Adresses/source/tes.c new file mode 100644 index 0000000..919f1f1 --- /dev/null +++ b/APL1.1/10.Adresses/source/tes.c @@ -0,0 +1,18 @@ +#include +#include + +int main(void){ + + char phrase[10]; + int compteur; + + scanf(" %c",&phrase[compteur]); + + for(compteur=0;compteur<10;compteur++){ + printf("%c", phrase[compteur]); + } + return EXIT_SUCCESS; + + + +} \ No newline at end of file diff --git a/APL1.1/11.Chaine_de_caracteres/Multiplication b/APL1.1/11.Chaine_de_caracteres/Multiplication new file mode 100644 index 0000000..73317dd Binary files /dev/null and b/APL1.1/11.Chaine_de_caracteres/Multiplication differ diff --git a/APL1.1/11.Chaine_de_caracteres/Multiplication.c b/APL1.1/11.Chaine_de_caracteres/Multiplication.c new file mode 100644 index 0000000..f6a92c7 --- /dev/null +++ b/APL1.1/11.Chaine_de_caracteres/Multiplication.c @@ -0,0 +1,31 @@ +#include +#include + +int main(int argc, char *argv[]){ + + if(argc != 3){ + + printf("IL ya %d parametre. Veuillez utilisez 2 parametre svp.\n",argc); + return EXIT_FAILURE; + } + + double arg1 = strtod(argv[1],NULL); + double arg2 = strtod(argv[2],NULL); + +printf("%.2lf\n",arg1*arg2); + + +return EXIT_SUCCESS; +} + +/* + +Multiplication. Écrivez un programme qui affiche + le produit de ses deux premiers arguments + (on suppose que ce sont des entiers). + +Que donne le programme quand un des arguments n'est pas un entier ? UN 0 POUR DES CHAR, CE QUIL YA AVANT LA VIRGULE POUR DES REEL + + Quand un des arguments est manquant ? + Pouvez-vous améliorer le programme pour qu'il gère ces situations ? +*/ \ No newline at end of file diff --git a/APL1.1/11.Chaine_de_caracteres/initiales b/APL1.1/11.Chaine_de_caracteres/initiales new file mode 100644 index 0000000..91cdafa Binary files /dev/null and b/APL1.1/11.Chaine_de_caracteres/initiales differ diff --git a/APL1.1/11.Chaine_de_caracteres/initiales.c b/APL1.1/11.Chaine_de_caracteres/initiales.c new file mode 100644 index 0000000..e363a4e --- /dev/null +++ b/APL1.1/11.Chaine_de_caracteres/initiales.c @@ -0,0 +1,18 @@ +#include +#include + +int main(int argc, char const *argv[]) +{ + + int compteur=0; + + for (compteur = 1; compteur <= argc; compteur++){ + + printf("%1.1s\n",argv[compteur]); + } + + + return EXIT_SUCCESS; +} +//Initiales. Écrivez un programme qui affiche la première lettre de chacun de ses arguments. + diff --git a/APL1.1/13.Debogueur/source/doubleur b/APL1.1/13.Debogueur/source/doubleur new file mode 100644 index 0000000..b279325 Binary files /dev/null and b/APL1.1/13.Debogueur/source/doubleur differ diff --git a/APL1.1/13.Debogueur/source/doubleur.c b/APL1.1/13.Debogueur/source/doubleur.c new file mode 100644 index 0000000..efeb40f --- /dev/null +++ b/APL1.1/13.Debogueur/source/doubleur.c @@ -0,0 +1,16 @@ +#include +#include + +int somme(int n, int m) { + return n+m; +} + +int main(void) { + int valeur; + int* p = &valeur; + printf("Entrez un entier : "); + scanf("%d", p); + + printf("Le double vaut %d\n", somme(*p, *p)); + return EXIT_SUCCESS; +} diff --git a/APL1.1/13.Debogueur/source/envers.c b/APL1.1/13.Debogueur/source/envers.c new file mode 100644 index 0000000..2e78b7b --- /dev/null +++ b/APL1.1/13.Debogueur/source/envers.c @@ -0,0 +1,24 @@ +#include +#include +#include + + +void envers(const char texte[]) { + unsigned position; + for(position = + + + + + + +int main(void){ + + + + + + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/14.Organisation_du_code/exo1.tar.gz b/APL1.1/14.Organisation_du_code/exo1.tar.gz new file mode 100644 index 0000000..e301fdc Binary files /dev/null and b/APL1.1/14.Organisation_du_code/exo1.tar.gz differ diff --git a/APL1.1/14.Organisation_du_code/exo1/Makefile b/APL1.1/14.Organisation_du_code/exo1/Makefile new file mode 100644 index 0000000..7553f89 --- /dev/null +++ b/APL1.1/14.Organisation_du_code/exo1/Makefile @@ -0,0 +1,41 @@ +# TP 19 Exercice 1 : fichier Makefile + +# CHAPITRE 1 : BUT FINAL + +but : exo1 + +# CHAPITRE 2 : VARIABLES + +OFILES = lire.o \ + personne.o \ + repertoire.o \ + main.o + +CC = gcc + +CFLAGS = -Wall -ansi -pedantic -g + +# CHAPITRE 3 : DEPENDANCES (REGLES IMPLICITES) + +personne.o : personne.h lire.h + +repertoire.o : repertoire.h personne.h + +main.o : personne.h repertoire.h + +#CHAPITRE 4 : DEPENDANCES AVEC COMMANDES + +lire.o : lire.s lire.h + as -o lire.o lire.s + +exo1 : $(OFILES) + $(CC) $(CFLAGS) -o exo1 $(OFILES) + +#CHAPITRE 5 : NETTOYAGE DES FICHIERS GENERES + +clean : + -rm -f $(OFILES) exo1 + +#CHAPITRE 6 : BUTS FACTICES + +.PHONY : but clean diff --git a/APL1.1/14.Organisation_du_code/exo1/exo1 b/APL1.1/14.Organisation_du_code/exo1/exo1 new file mode 100644 index 0000000..4e627e7 Binary files /dev/null and b/APL1.1/14.Organisation_du_code/exo1/exo1 differ diff --git a/APL1.1/14.Organisation_du_code/exo1/lire.h b/APL1.1/14.Organisation_du_code/exo1/lire.h new file mode 100644 index 0000000..b3606c5 --- /dev/null +++ b/APL1.1/14.Organisation_du_code/exo1/lire.h @@ -0,0 +1,8 @@ +/* TP 19 Exercice 1 : fichier lire.h */ + +#ifndef LIRE_H +#define LIRE_H + +void lire(char*, int); + +#endif /* LIRE_H */ diff --git a/APL1.1/14.Organisation_du_code/exo1/lire.s b/APL1.1/14.Organisation_du_code/exo1/lire.s new file mode 100644 index 0000000..d4f5f35 --- /dev/null +++ b/APL1.1/14.Organisation_du_code/exo1/lire.s @@ -0,0 +1,30 @@ + .section .text + .globl lire + .type lire, @function +lire: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + + xorq %rdx, %rdx + movl %esi, %edx # taille max + movq %rdi, %rsi # adresse chaine + movq $0, %rax # read + movq $0, %rdi # stdin + decq %rdx # place du \0 + syscall # call read + cmpb $10, -1(%rsi, %rax, 1) # si \n + jne lire_1 + decq %rax +lire_1: movb $0, (%rsi, %rax, 1) # place \0 + + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size lire, .-lire diff --git a/APL1.1/14.Organisation_du_code/exo1/main.c b/APL1.1/14.Organisation_du_code/exo1/main.c new file mode 100644 index 0000000..e182a76 --- /dev/null +++ b/APL1.1/14.Organisation_du_code/exo1/main.c @@ -0,0 +1,42 @@ +/* TP19 Exercice 1 : fichier main.c */ + +#include +#include +#include "personne.h" +#include "repertoire.h" + +typedef enum {AJOUTER, AFFICHER, SORTIR} options; + +options saisir_option() { + short o; + printf("\nChoisissez une option :\n"); + printf("1] Ajouter une personne.\n"); + printf("2] Afficher le repertoire.\n"); + printf("3] Sortir\n"); + printf("? "); + scanf("%hd", &o); + switch(o) { + case 1 : return AJOUTER; + case 2 : return AFFICHER; + case 3 : return SORTIR; + default : return AFFICHER; + } +} + +int main(void) { + options opt; + repertoire r = construire_repertoire(); + while ((opt=saisir_option())!=SORTIR) + switch(opt) { + case AJOUTER : + ajouter_personne(r, saisir_personne()); + break; + case AFFICHER : + afficher_repertoire(r); + break; + default : + ; /* rien a faire */ + } + detruire_repertoire(r); + return EXIT_SUCCESS; +} diff --git a/APL1.1/14.Organisation_du_code/exo1/personne.c b/APL1.1/14.Organisation_du_code/exo1/personne.c new file mode 100644 index 0000000..38195d8 --- /dev/null +++ b/APL1.1/14.Organisation_du_code/exo1/personne.c @@ -0,0 +1,33 @@ +/* TP 19 Exercice 1 : fichier personne.c */ + +#include +#include +#include +#include "personne.h" +#include "lire.h" + +personne construire_personne(const char *nom, const char *tel) { + personne p = (personne) malloc(sizeof(struct s_personne)); + strcpy(p->nom, nom); + strcpy(p->tel, tel); + return p; +} + +personne saisir_personne() { + personne p = (personne) malloc(sizeof(struct s_personne)); + printf("\nEntrez le nom de la personne : "); + fflush(stdout); + lire(p->nom, 30); + printf("Entrez son numero de telephone : "); + fflush(stdout); + lire(p->tel, 20); + return p; +} + +void afficher_personne(personne p) { + printf("%-30s %-20s\n", p->nom, p->tel); +} + +void detruire_personne(personne p) { + free(p); +} diff --git a/APL1.1/14.Organisation_du_code/exo1/personne.h b/APL1.1/14.Organisation_du_code/exo1/personne.h new file mode 100644 index 0000000..079ef3e --- /dev/null +++ b/APL1.1/14.Organisation_du_code/exo1/personne.h @@ -0,0 +1,16 @@ +/* TP 19 Exercice 1 : fichier personne.h */ + +#ifndef PERSONNE_H +#define PERSONNE_H + +typedef struct s_personne { + char nom[30]; + char tel[20]; +} * personne; + +personne construire_personne(const char*, const char*); +personne saisir_personne(); +void afficher_personne(personne); +void detruire_personne(personne); + +#endif /* PERSONNE_H */ diff --git a/APL1.1/14.Organisation_du_code/exo1/repertoire.c b/APL1.1/14.Organisation_du_code/exo1/repertoire.c new file mode 100644 index 0000000..9964f2c --- /dev/null +++ b/APL1.1/14.Organisation_du_code/exo1/repertoire.c @@ -0,0 +1,38 @@ +/* TP 19 Exercice 1 : fichier repertoire.c */ + +#include +#include +#include "repertoire.h" +#include "lire.h" + +repertoire construire_repertoire() { + repertoire r = (repertoire) malloc(sizeof(struct s_repertoire)); + r->taille = 0; + return r; +} + +void afficher_repertoire(repertoire r) { + int i = 0; + printf("\n%-30s %-20s\n", "Nom", "Telephone"); + for(; itaille; i++) + afficher_personne((r->personnes)[i]); +} + +int ajouter_personne(repertoire r, personne p) { + if (r->taillepersonnes)[r->taille] = p; + (r->taille)++; + return 0; + } else + return 1; +} + +void detruire_repertoire(repertoire r) { + int i = r->taille; + while(i-->0) { + free((r->personnes)[i]); + } + free(r); +} + + diff --git a/APL1.1/14.Organisation_du_code/exo1/repertoire.h b/APL1.1/14.Organisation_du_code/exo1/repertoire.h new file mode 100644 index 0000000..f6db222 --- /dev/null +++ b/APL1.1/14.Organisation_du_code/exo1/repertoire.h @@ -0,0 +1,20 @@ +/* TP 19 Exercice 1 : fichier repertoire.h */ + +#ifndef REPERTOIRE_H +#define REPERTOIRE_H + +#include "personne.h" + +#define CAPACITE 100 + +typedef struct s_repertoire { + int taille; + personne personnes[CAPACITE]; +} * repertoire; + +repertoire construire_repertoire(); +void afficher_repertoire(repertoire); +int ajouter_personne(repertoire, personne); +void detruire_repertoire(repertoire); + +#endif /* REPERTOIRE_H */ diff --git a/APL1.1/2.Conditions/executable/Couverture b/APL1.1/2.Conditions/executable/Couverture new file mode 100644 index 0000000..5954755 Binary files /dev/null and b/APL1.1/2.Conditions/executable/Couverture differ diff --git a/APL1.1/2.Conditions/executable/Maximum b/APL1.1/2.Conditions/executable/Maximum new file mode 100644 index 0000000..fdef547 Binary files /dev/null and b/APL1.1/2.Conditions/executable/Maximum differ diff --git a/APL1.1/2.Conditions/executable/Mention b/APL1.1/2.Conditions/executable/Mention new file mode 100644 index 0000000..04b0448 Binary files /dev/null and b/APL1.1/2.Conditions/executable/Mention differ diff --git a/APL1.1/2.Conditions/executable/Ordre b/APL1.1/2.Conditions/executable/Ordre new file mode 100644 index 0000000..887d11a Binary files /dev/null and b/APL1.1/2.Conditions/executable/Ordre differ diff --git a/APL1.1/2.Conditions/executable/Produit b/APL1.1/2.Conditions/executable/Produit new file mode 100644 index 0000000..b423096 Binary files /dev/null and b/APL1.1/2.Conditions/executable/Produit differ diff --git a/APL1.1/2.Conditions/executable/Triple b/APL1.1/2.Conditions/executable/Triple new file mode 100644 index 0000000..71f67cc Binary files /dev/null and b/APL1.1/2.Conditions/executable/Triple differ diff --git a/APL1.1/2.Conditions/source/Couverture.c b/APL1.1/2.Conditions/source/Couverture.c new file mode 100644 index 0000000..6345a3a --- /dev/null +++ b/APL1.1/2.Conditions/source/Couverture.c @@ -0,0 +1,26 @@ +#include +#include + +int main(void) { + +float reponse; + +printf("Couverture\n----------\nLe programme vous donnera le montant de votre franchise, veuillez entrez le montant des réparations : "); +scanf("%f",&reponse); + +if(reponse<=200){ + printf("L'entiereté des reparations seront a votre charge\n"); +} + else{ + if(reponse>=8000 ){ + printf("Le montant de votre franchise s'éléve a 800€, la part prise en charge par l'assurance est de %f\n",reponse-800); + } + else{ + if(reponse/10<=200 ){ + printf("Le montant de votre franchise s'eleve a 200€ , la part prise en charge par l'assurance est de %f\n",reponse-200); + } + else printf("Le montant de votre franchise s'eleve a %f, la part prise en charge par l'assurance est de %f\n",reponse/10,reponse-reponse/10); + } + } +return EXIT_SUCCESS; +} diff --git a/APL1.1/2.Conditions/source/Maximum.c b/APL1.1/2.Conditions/source/Maximum.c new file mode 100644 index 0000000..a24da6a --- /dev/null +++ b/APL1.1/2.Conditions/source/Maximum.c @@ -0,0 +1,29 @@ +#include +#include + +int main(void) { + +int entier1,entier2,entier3; + +printf("Maximum\n---------\nEntrez 3 entiers et le programme vous affichera le plus grand d'entre eux.\nVos 3 entiers : "); +scanf("%d %d %d", &entier1, &entier2, &entier3); + + if (entier1 > entier2 && entier1 > entier3){ + printf("Le plus grand de vos entiers est %d \n",entier1); + } + + else { + + if (entier2 > entier1 && entier2 > entier3){ + printf("Le plus grand de vos entiers est %d \n",entier2); + } + + else + printf("Le plus grand de vos entiers est %d \n",entier3); + + + } + +return 0; + +} diff --git a/APL1.1/2.Conditions/source/Mention.c b/APL1.1/2.Conditions/source/Mention.c new file mode 100644 index 0000000..29afc3c --- /dev/null +++ b/APL1.1/2.Conditions/source/Mention.c @@ -0,0 +1,35 @@ +#include +#include + +int main(void) { + +float reponse; + +printf("Mention\n---------\nVeuillez entrez votre note, votre mention vous sera presenté.\nVotre note : "); +scanf("%f", &reponse); + + +if(reponse>20 || reponse<0){ + printf("Veuillez entrez une note comprise entre 0 et 20\n"); +return EXIT_SUCCESS; +} + + +if(reponse<12){ + printf("Vous n'avez pas obtenue de mention, mais vous avez votre bac\n"); +} + + + if(reponse >= 12 && reponse < 14){ + printf("Vous avez obtenu votre bac avec mention assez bien\n"); + } + else { + if(reponse >=14 && reponse < 16){ + printf("Vous avez obtenu votre bac avec mention bien\n"); + } + else + printf("Vous avez obtenu votre bac avec mention trés bien\n"); + } + +return 0; +} diff --git a/APL1.1/2.Conditions/source/Ordre.c b/APL1.1/2.Conditions/source/Ordre.c new file mode 100644 index 0000000..838e371 --- /dev/null +++ b/APL1.1/2.Conditions/source/Ordre.c @@ -0,0 +1,41 @@ +#include +#include + +int main(void) { + +int entier1, entier2, entier3; + +printf("Ordre\n-------\nEntrez 3 entiers, le programme vous les affichera dans un ordre croissant\nVos 3 entiers : "); +scanf("%d %d %d",&entier1,&entier2,&entier3); + +if (entier1>entier2){//comparaison toujours executer, 1/3 + + if(entier2>entier3 ){//comparaison executer dans le cas ou la precedente est verifier, 2/3 + printf("Vos entier trier : %d>%d>%d\n",entier1,entier2,entier3); + } + + else{ + if(entier1>entier3){//comparaison executer si la precedente est fausse,3/3 au maximum dans l'execution + printf("Vos entier trier : %d>%d>%d\n",entier1,entier3,entier2); + } + + else printf("Vos entier trier : %d>%d>%d\n",entier3,entier1,entier2); + } +} + else { + + if(entier1>entier3){ //comparaison executer si la precedente est fausse, 2/3 + printf("Vos entier trier : %d>%d>%d\n",entier2,entier1,entier3); + } + + else { + if(entier2>entier3){//comparaison executer si la precedente est fausse,3/3 au maximum dans l'execution + printf("Vos entier trier : %d>%d>%d\n",entier2,entier3,entier1); + } + + else printf("Vos entier trier : %d>%d>%d\n",entier3,entier2,entier1); + } + } + +return 0; +} diff --git a/APL1.1/2.Conditions/source/Produit.c b/APL1.1/2.Conditions/source/Produit.c new file mode 100644 index 0000000..73abb95 --- /dev/null +++ b/APL1.1/2.Conditions/source/Produit.c @@ -0,0 +1,23 @@ +#include +#include + +int main(void) { +int entier1,entier2; + +printf("Produit\n-------\nEntrez deux entier et le signe de leur multiplication vous sera retournez.\nVos 2 entiers: "); +scanf("%d %d",&entier1,&entier2); + +if(entier1<0 && entier2>0 || entier2<0 && entier1>0) { //si seulement un des deux entier est negatif alors le resultat est negatif + printf("Le resultat de %dx%d est negatif.\n",entier1,entier2); +} + else{ + if(entier1==0 || entier2 ==0 ){ //si au moins un des 2 entiers est nul alors le resultat est nul + printf("Le résultat de %dx%d est nul.\n", entier1,entier2); + } + else //si aucune des condition precedente est remplie alors le resultat sera positif + printf("Le résultat de %dx%d est positif.\n", entier1,entier2); + } + + +return 0; +} diff --git a/APL1.1/2.Conditions/source/Triple.c b/APL1.1/2.Conditions/source/Triple.c new file mode 100644 index 0000000..ca1cb89 --- /dev/null +++ b/APL1.1/2.Conditions/source/Triple.c @@ -0,0 +1,28 @@ +#include +#include + +int main(void) { + +int reponse,resultat; + +printf("Triple\n-------\nLa valeur retourner sera celle du multiple de 3 le plus proche de votre valeur.\nVotre valeur : "); +scanf("%d", &reponse); + + + if(reponse%3 == 0){ + resultat = reponse; + } + + else { + if(reponse%3 == 1){ + resultat = reponse-1; + } + else + resultat = reponse+1; + } + +printf("Le multiple de 3 le plus proche de %d est %d\n",reponse,resultat); + + +return EXIT_SUCCESS; +} diff --git a/APL1.1/3.Boucles-suite/progression b/APL1.1/3.Boucles-suite/progression new file mode 100644 index 0000000..a6faa67 Binary files /dev/null and b/APL1.1/3.Boucles-suite/progression differ diff --git a/APL1.1/3.Boucles-suite/progression.c b/APL1.1/3.Boucles-suite/progression.c new file mode 100644 index 0000000..a5cd427 --- /dev/null +++ b/APL1.1/3.Boucles-suite/progression.c @@ -0,0 +1,43 @@ +#include +#include + +int main(void) { + +int reponse,ux, u1 = 1, u0 = 0,n = 2; + +printf("Veuillez entrer votre n : "); +scanf("%d", &reponse); + +if (reponse == 0) + { + printf("U de 0 est egale a 0\n"); + return 0; + } + +else +{ + if (reponse == 1) + { + printf("U de 1 est egale a 1\n "); + return 0; + } + + while (n != reponse) + { + ux = u0 + u1 ; + u0 = u1; + u1 = ux; + printf("n = %d, ux = %d , u0 = %d, u1 = %d\n",n ,ux ,u0, u1); +n++; + } +} + +printf("U de %d est egal a %d\n",reponse,ux); + + + + + + +return 0; +} diff --git a/APL1.1/3.Boucles/executable/Bornes b/APL1.1/3.Boucles/executable/Bornes new file mode 100644 index 0000000..88c7943 Binary files /dev/null and b/APL1.1/3.Boucles/executable/Bornes differ diff --git a/APL1.1/3.Boucles/executable/Division b/APL1.1/3.Boucles/executable/Division new file mode 100644 index 0000000..1f5e708 Binary files /dev/null and b/APL1.1/3.Boucles/executable/Division differ diff --git a/APL1.1/3.Boucles/executable/Filtrage b/APL1.1/3.Boucles/executable/Filtrage new file mode 100644 index 0000000..f72e3c6 Binary files /dev/null and b/APL1.1/3.Boucles/executable/Filtrage differ diff --git a/APL1.1/3.Boucles/executable/Séquence-doWhile b/APL1.1/3.Boucles/executable/Séquence-doWhile new file mode 100644 index 0000000..5287020 Binary files /dev/null and b/APL1.1/3.Boucles/executable/Séquence-doWhile differ diff --git a/APL1.1/3.Boucles/executable/Séquence-for b/APL1.1/3.Boucles/executable/Séquence-for new file mode 100644 index 0000000..9ce1395 Binary files /dev/null and b/APL1.1/3.Boucles/executable/Séquence-for differ diff --git a/APL1.1/3.Boucles/executable/Séquence-while b/APL1.1/3.Boucles/executable/Séquence-while new file mode 100644 index 0000000..1c654f2 Binary files /dev/null and b/APL1.1/3.Boucles/executable/Séquence-while differ diff --git a/APL1.1/3.Boucles/executable/Table b/APL1.1/3.Boucles/executable/Table new file mode 100644 index 0000000..46be15c Binary files /dev/null and b/APL1.1/3.Boucles/executable/Table differ diff --git a/APL1.1/3.Boucles/executable/Tables b/APL1.1/3.Boucles/executable/Tables new file mode 100644 index 0000000..2305c05 Binary files /dev/null and b/APL1.1/3.Boucles/executable/Tables differ diff --git a/APL1.1/3.Boucles/source/Bornes.c b/APL1.1/3.Boucles/source/Bornes.c new file mode 100644 index 0000000..ea12207 --- /dev/null +++ b/APL1.1/3.Boucles/source/Bornes.c @@ -0,0 +1,24 @@ +#include +#include + +int main(void){ + +int reponse,minimum=0,maximum=0; +printf("Bornes\n----------\nEntrez autant d'entier que vous le voulez,la saisie se termine apres avoir saisi -1, le programme affichera le plus grand d'entre eux ainsi que le plus petit\nVos nombres : "); + + +while(reponse!=-1){ + + scanf("%d",&reponse); + + if(reponse>maximum){//-1 n'etant pas superieur a 0,rien ne sert de verifier sa presence dans ce test + maximum=reponse; + } + + if(reponse +#include + +int main(void) { + +int entierNaturel,entierPositif,a=0,multiplicateur=0; + +printf("Division\n----------\n"); + +printf("Entrez une valeur >= 0 : "); +scanf("%d",&entierNaturel); +printf("Entrez une valeur > 0 : "); +scanf("%d",&entierPositif); + + + while( aentierNaturel){ + printf("--> %d = %d x %d + %d\n",entierNaturel,multiplicateur-1,entierPositif,entierNaturel-(a-entierPositif));//a-entierPositif correspond au reste + } + +else printf("--> %d = %d x %d\n",entierNaturel,multiplicateur,entierPositif); + + +return EXIT_SUCCESS; +} diff --git a/APL1.1/3.Boucles/source/Filtrage.c b/APL1.1/3.Boucles/source/Filtrage.c new file mode 100644 index 0000000..f96b136 --- /dev/null +++ b/APL1.1/3.Boucles/source/Filtrage.c @@ -0,0 +1,35 @@ +#include +#include + +int main(void) { + +float reponse; + +printf("Mention\n---------\nVeuillez entrez votre note, votre mention vous sera presenté.\n "); + + +do{ + printf("Veuillez entrez une note comprise entre 10 et 20\n"); + scanf("%f",&reponse); +}while(reponse>20 || reponse<10); + + + +if(reponse<12){ + printf("Vous n'avez pas obtenue de mention, mais vous avez votre bac\n"); +} + + + if(reponse >= 12 && reponse < 14){ + printf("Vous avez obtenu votre bac avec mention assez bien\n"); + } + else { + if(reponse >=14 && reponse < 16){ + printf("Vous avez obtenu votre bac avec mention bien\n"); + } + else + printf("Vous avez obtenu votre bac avec mention trés bien\n"); + } + +return 0; +} diff --git a/APL1.1/3.Boucles/source/Séquence-doWhile.c b/APL1.1/3.Boucles/source/Séquence-doWhile.c new file mode 100644 index 0000000..e9e86fb --- /dev/null +++ b/APL1.1/3.Boucles/source/Séquence-doWhile.c @@ -0,0 +1,37 @@ +#include +#include + +int main(void) { + +int entier1,entier2,compteur; + +printf("Séquence\n----------\nEntrez 2 entiers, le programme vous retournera tout les entiers entre ces 2 derniers.\nVos 2 entiers : "); +scanf("%d %d",&entier1,&entier2); + +if(entier1==entier2){ +printf("Les deux entiers sont égaux.\n"); +} +else{ + printf("Les entiers entre %d et % d sont : ",entier1,entier2); + + if(entier1 +#include + +int main(void) { + +int entier1,entier2,compteur; + +printf("Séquence\n----------\nEntrez 2 entiers, le programme vous retournera tout les entiers entre ces 2 derniers.\nVos 2 entiers : "); +scanf("%d %d",&entier1,&entier2); + +if(entier1==entier2){ +printf("Les deux entiers sont égaux.\n"); +} +else{ + printf("Les entiers entre %d et %d sont : ",entier1,entier2); + if(entier1 +#include + +int main(void) { + +int entier1,entier2,compteur; + +printf("Séquence\n----------\nEntrez 2 entiers, le programme vous retournera tout les entiers entre ces 2 derniers.\nVos 2 entiers : "); +scanf("%d %d",&entier1,&entier2); + +if(entier1==entier2){ +printf("Les deux entiers sont égaux.\n"); +} +else{ + printf("Les entiers entre %d et % d sont : ",entier1,entier2); + + if(entier1 +#include + +int main(void){ + +int reponse,compteur; + +printf("Table\n----------\nEntrer un entier, sa table (jusqu'a 10) vous sera affichée.\n\nVotre entier : "); +scanf("%d",&reponse); + +for(compteur=0;compteur<=10;compteur++){ +printf("%d x%3d =%4d\n",reponse,compteur,reponse*compteur); +} + +printf("\nAu revoir\n"); + +return EXIT_SUCCESS; +} diff --git a/APL1.1/3.Boucles/source/Tables.c b/APL1.1/3.Boucles/source/Tables.c new file mode 100644 index 0000000..b9d76a0 --- /dev/null +++ b/APL1.1/3.Boucles/source/Tables.c @@ -0,0 +1,20 @@ +#include +#include + +int main(void){ + +int reponse,compteur; + +printf("Tables\n---------\nEntrez un entier, sa table sera afficher.\nVotre entier : "); +scanf("%d",&reponse); + + if (reponse!=-1){ + for(compteur=0;compteur<=10;compteur++){ + printf("%3dx%3d =%3d\n",reponse,compteur,reponse*compteur); + } + } + +printf("\nAurevoir\n"); + +return EXIT_SUCCESS; +} diff --git a/APL1.1/4.Boucles-encore/source/Figures b/APL1.1/4.Boucles-encore/source/Figures new file mode 100644 index 0000000..d8ce89d Binary files /dev/null and b/APL1.1/4.Boucles-encore/source/Figures differ diff --git a/APL1.1/4.Boucles-encore/source/Figures.c b/APL1.1/4.Boucles-encore/source/Figures.c new file mode 100644 index 0000000..0f5916e --- /dev/null +++ b/APL1.1/4.Boucles-encore/source/Figures.c @@ -0,0 +1,65 @@ +#include +#include + +int main(void) { + +int choix,hauteur,compteur,largeur; + +do { + printf("1) Triangle\n2) Carré\nq) Quitter\nVotre choix ? "); + scanf("%d", &choix); + + if (choix == 1 ) { + + printf("\nHauteur ? "); + scanf("%d", &hauteur); + + for (compteur=0; compteur <= hauteur; compteur++) { + + for (largeur=0;largeur!=compteur ;largeur++) { + printf("*"); + } + printf("\n"); + } + + } + + else { + if (choix == 2 ) { + + printf("\nHauteur ? "); + scanf("%d", &hauteur); + + for(compteur=0;compteur!=5;compteur++){ + printf("*"); //boucles affichant la premiere + } + + for(compteur=0;compteur!=(hauteur-2);compteur++) { + + printf("* *\n"); + } + + for(compteur=0;compteur!=4;compteur++){ + printf("*"); + } + printf("\n"); + + } +else { +printf("Aurevoir\n"); +break; + + } + + + +} + + +}while(1); + + + + +return 0; +} diff --git a/APL1.1/4.Boucles-suite/executable/Devinette b/APL1.1/4.Boucles-suite/executable/Devinette new file mode 100644 index 0000000..e30dc64 Binary files /dev/null and b/APL1.1/4.Boucles-suite/executable/Devinette differ diff --git a/APL1.1/4.Boucles-suite/executable/Primarité b/APL1.1/4.Boucles-suite/executable/Primarité new file mode 100644 index 0000000..39538b4 Binary files /dev/null and b/APL1.1/4.Boucles-suite/executable/Primarité differ diff --git a/APL1.1/4.Boucles-suite/executable/Progression b/APL1.1/4.Boucles-suite/executable/Progression new file mode 100644 index 0000000..6149eb4 Binary files /dev/null and b/APL1.1/4.Boucles-suite/executable/Progression differ diff --git a/APL1.1/4.Boucles-suite/executable/Table b/APL1.1/4.Boucles-suite/executable/Table new file mode 100644 index 0000000..881cf99 Binary files /dev/null and b/APL1.1/4.Boucles-suite/executable/Table differ diff --git a/APL1.1/4.Boucles-suite/source/Devinette.c b/APL1.1/4.Boucles-suite/source/Devinette.c new file mode 100644 index 0000000..686819b --- /dev/null +++ b/APL1.1/4.Boucles-suite/source/Devinette.c @@ -0,0 +1,45 @@ +#include +#include +#include + +int main(void){ + +int reponse,nombreAtrouver,compteur; + +srand(time(NULL)); +#define nombreAtrouver = rand()%101;//on prend une valeur quelconque definie par rand, puis on fait %101 car le quotien et inferieur au modulo + +printf("Devinette\n----------\n"); + + +for(compteur=0;compteur<5;compteur++){ + +printf("Votre reponse : "); +scanf("%d",&reponse); + + if(reponse==nombreAtrouver){ + printf("Bravo, le nombre etait bien %d\n",reponse); + return EXIT_SUCCESS; + } + else{ if(reponse +#include + +int main(void){ + +int reponse,diviseur; + +printf("Primarité\n----------\nEntrez votre entier naturel : "); +scanf("%d",&reponse); + +for(diviseur=2;(reponse%diviseur)!=0 ;diviseur++){/*on commence a 2 car 1 est toujours un diviseur,on incremente le diviseur et des lors +que la division sans reste est possible on quitte la boucle,si le diviseur est egal au nombre lui meme, c'est quil n'est divisible par autre que 1 et lui meme donc c'est un nombre premier, sinon , le nombre est divisible par autre que 1 et lui meme donc il n'est pas premier */ +} + +if(diviseur==reponse){ + printf("Le nombre %d est un nombre premier\n",reponse); +} + else printf("Le nombre %d n'est pas un nombre premier, il admet %d comme diviseur en plus de 1 et %d\n",reponse,diviseur,reponse); + + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/4.Boucles-suite/source/Progression.c b/APL1.1/4.Boucles-suite/source/Progression.c new file mode 100644 index 0000000..92c32e2 --- /dev/null +++ b/APL1.1/4.Boucles-suite/source/Progression.c @@ -0,0 +1,36 @@ +#include +#include + +int main(void){ + + int reponse, un,ua=0,ub=1, compteur, cran=0; + + printf("Quel le numero du terme de la suite de Fibonnacci ?\nnumero : "); + scanf(" %d",&reponse ); + + +if(reponse==0){ + reponse=0; + cran=1; + +} else if(reponse==1){ + reponse=1; + cran=1; + } + + + +for(compteur=1;compteur +#include + +int main(void){ + +int compteur,compteur2,reponse; + +printf("Veuillez entrez la taille de la table : "); +scanf("%d",&reponse); + +printf(" X |"); +for(compteur=0;compteur<=reponse;compteur++){ +printf("%4d", compteur); +} + +printf("\n"); + +printf("-----+"); +for(compteur=0;compteur<=reponse;compteur++){ +printf("----"); +} + +printf("\n"); + +for(compteur=0;compteur<=reponse;compteur++){ + printf(" %3d |",compteur); + for(compteur2=0;compteur2<=reponse;compteur2++){ + printf("%4d",compteur*compteur2); + } + + printf("\n"); + +} + + + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/5.Boucles-encore/source/Figures b/APL1.1/5.Boucles-encore/source/Figures new file mode 100644 index 0000000..d8ce89d Binary files /dev/null and b/APL1.1/5.Boucles-encore/source/Figures differ diff --git a/APL1.1/5.Boucles-encore/source/Figures.c b/APL1.1/5.Boucles-encore/source/Figures.c new file mode 100644 index 0000000..0f5916e --- /dev/null +++ b/APL1.1/5.Boucles-encore/source/Figures.c @@ -0,0 +1,65 @@ +#include +#include + +int main(void) { + +int choix,hauteur,compteur,largeur; + +do { + printf("1) Triangle\n2) Carré\nq) Quitter\nVotre choix ? "); + scanf("%d", &choix); + + if (choix == 1 ) { + + printf("\nHauteur ? "); + scanf("%d", &hauteur); + + for (compteur=0; compteur <= hauteur; compteur++) { + + for (largeur=0;largeur!=compteur ;largeur++) { + printf("*"); + } + printf("\n"); + } + + } + + else { + if (choix == 2 ) { + + printf("\nHauteur ? "); + scanf("%d", &hauteur); + + for(compteur=0;compteur!=5;compteur++){ + printf("*"); //boucles affichant la premiere + } + + for(compteur=0;compteur!=(hauteur-2);compteur++) { + + printf("* *\n"); + } + + for(compteur=0;compteur!=4;compteur++){ + printf("*"); + } + printf("\n"); + + } +else { +printf("Aurevoir\n"); +break; + + } + + + +} + + +}while(1); + + + + +return 0; +} diff --git a/APL1.1/5.Boucles-encore/source/Sapin.c b/APL1.1/5.Boucles-encore/source/Sapin.c new file mode 100644 index 0000000..29e24c6 --- /dev/null +++ b/APL1.1/5.Boucles-encore/source/Sapin.c @@ -0,0 +1,27 @@ +#include +#include + +int main(void){ + + int reponse,compteur; + + printf("Hauteur ? "); + scanf("%d", reponse); + + for(compteur=0;compteur +#include + +int main(void){ + +int lun,mar,mer,jeu,ven,sam,dim; + + +printf("Lundi : "); +scanf(" %d", &lun); + +printf("Mardi : "); +scanf(" %d", &mar); + +printf("Mercredi : "); +scanf(" %d", &mer); + +printf("Jeudi : "); +scanf(" %d", &jeu); + +printf("Vendredi : "); +scanf(" %d", &ven); + +printf("Samedi : "); +scanf(" %d", &sam); + +printf("Dimanche : "); +scanf(" %d", &dim); + + +printf("En moyenne, le nombre de visiteur est de %.2f \n",(float) ((lun+mar+mer+jeu+ven+sam+dim)/7) ); + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/6.Types/source/Débordement.c b/APL1.1/6.Types/source/Débordement.c new file mode 100644 index 0000000..2b284ed --- /dev/null +++ b/APL1.1/6.Types/source/Débordement.c @@ -0,0 +1,27 @@ +#include +#include + +int main(void){ +char reponse; + +//1ere solution + +printf("Veuillez entrez un entier : "); + +scanf("%c", &reponse); + +printf("%d\n",(int)reponse); + + +//2eme solution + +int reponseConvertie = (int) reponse ; + +printf("%d\n", reponseConvertie); + + + + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/6.Types/source/Variété.c b/APL1.1/6.Types/source/Variété.c new file mode 100644 index 0000000..abc236d --- /dev/null +++ b/APL1.1/6.Types/source/Variété.c @@ -0,0 +1,24 @@ +#include +#include + +int main(void){ + +printf("%c", 77); +printf("%hhu", 77); +printf("%hd", 77); +printf("%hu", 77); +printf("%d", 77); +printf("%u", 77); +printf("%ld", 77); +printf("%lu", 77); +printf("%lld", 77); +printf("%llo", 77); +printf("%f", 77.0); +printf("%lf", 77.0); +printf("%Lf", 77.0); + + + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/7.Rééls/executable/Extrémités b/APL1.1/7.Rééls/executable/Extrémités new file mode 100644 index 0000000..6122d13 Binary files /dev/null and b/APL1.1/7.Rééls/executable/Extrémités differ diff --git a/APL1.1/7.Rééls/executable/Poussières b/APL1.1/7.Rééls/executable/Poussières new file mode 100644 index 0000000..aabee04 Binary files /dev/null and b/APL1.1/7.Rééls/executable/Poussières differ diff --git a/APL1.1/7.Rééls/source/Extrémités.c b/APL1.1/7.Rééls/source/Extrémités.c new file mode 100644 index 0000000..3fdbbae --- /dev/null +++ b/APL1.1/7.Rééls/source/Extrémités.c @@ -0,0 +1,16 @@ +#include +#include + +int main(void){ + + printf("%f\n", +1.0/0.0); + printf("%f\n", -1.0/0.0); + printf("%f\n", -0.0/0.0); + + + + + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/7.Rééls/source/Poussières.c b/APL1.1/7.Rééls/source/Poussières.c new file mode 100644 index 0000000..96214cf --- /dev/null +++ b/APL1.1/7.Rééls/source/Poussières.c @@ -0,0 +1,10 @@ +#include +#include + +int main(void){ + + printf("%.15f\n", 1234.678910111213); + + return EXIT_SUCCESS; +} + diff --git a/APL1.1/8.Tableaux/executable/Maximum b/APL1.1/8.Tableaux/executable/Maximum new file mode 100644 index 0000000..fb64c90 Binary files /dev/null and b/APL1.1/8.Tableaux/executable/Maximum differ diff --git a/APL1.1/8.Tableaux/executable/Miroir b/APL1.1/8.Tableaux/executable/Miroir new file mode 100644 index 0000000..9cfabb9 Binary files /dev/null and b/APL1.1/8.Tableaux/executable/Miroir differ diff --git a/APL1.1/8.Tableaux/executable/Recherche b/APL1.1/8.Tableaux/executable/Recherche new file mode 100644 index 0000000..c032941 Binary files /dev/null and b/APL1.1/8.Tableaux/executable/Recherche differ diff --git a/APL1.1/8.Tableaux/executable/Remplissage b/APL1.1/8.Tableaux/executable/Remplissage new file mode 100644 index 0000000..f7fcbc3 Binary files /dev/null and b/APL1.1/8.Tableaux/executable/Remplissage differ diff --git a/APL1.1/8.Tableaux/source/Maximum.c b/APL1.1/8.Tableaux/source/Maximum.c new file mode 100644 index 0000000..79a50f5 --- /dev/null +++ b/APL1.1/8.Tableaux/source/Maximum.c @@ -0,0 +1,53 @@ +#include +#include +#include + +int main(void){ + +#define TAILLE_TABLEAU 10 +srand(time(NULL)); + +int tableau[TAILLE_TABLEAU],compteur,valeurMax=0,caseMax; + +for(compteur=0;compteurvaleurMax){ + valeurMax=tableau[compteur]; + caseMax=compteur; + } + +} + + +for(compteur=0;compteur +#include +#include + +int main(void){ + +#define TAILLE_TABLEAU 10 +srand(time(NULL)); + +int tableau[TAILLE_TABLEAU],compteur; + + +for(compteur=0;compteur0;compteur--){ + + printf("| %3d ",tableau[compteur]); +} + +printf("|\n"); +for(compteur=0;compteur +#include +#include + +void afficheTableau(int tableau[],int tailleTableau); +void initRand(int tableau[], int tailleTableau); +void reverseTableau(int tableau[], int tailleTableau); + +int main(void){ + +#define TAILLE_TABLEAU 10 +srand(time(NULL)); + +int tableau[TAILLE_TABLEAU],compteur; + +initRand(tableau,TAILLE_TABLEAU); +afficheTableau(tableau,TAILLE_TABLEAU); +printf("\n\n\n"); +reverseTableau(tableau,TAILLE_TABLEAU); + + +return 0; +} + + + + +void afficheTableau(int tableau[],int tailleTableau){ + + int compteur=0; + + for(compteur=0;compteur0;compteur--){ + + printf("| %3d ",tableau[compteur]); + } + + printf("|\n"); + for(compteur=0;compteur +#include +#include + +int main(void){ + +#define TAILLE_TABLEAU 10 +srand(time(NULL)); + +int tableau[TAILLE_TABLEAU],compteur,valeurMax=0,caseMax,reponse,flag=1; + +for(compteur=0;compteurvaleurMax){ + valeurMax=tableau[compteur]; + caseMax=compteur; + } + +} + + +for(compteur=0;compteur +#include +#include + +int main(void){ + +#define TAILLE_TABLEAU 10 +srand(time(NULL)); + +int tableau[TAILLE_TABLEAU],compteur; + + +for(compteur=0;compteur +#include + +int main(void){ + +int t1[2][5],t2[3][5],t3[5][5],compteurTableau,compteur,valeurTableau=0,compteurHorizontal=0; + + +for(compteurTableau=0;compteurTableau<2;compteurTableau++){ + + for(compteur=0;compteur<5;compteur++){ + + t1[compteurTableau][compteur]=compteur+1; + } +} + +printf("\n"); + +for(compteurTableau=0;compteurTableau<3;compteurTableau++){ + + for(compteur=0;compteur<5;compteur++){ + + t2[compteurTableau][compteur]=++valeurTableau; + } +} + + +for(compteurTableau=0;compteurTableau<5;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + if(compteur>compteurTableau){ + t3[compteurTableau][compteur]=0; + } else + t3[compteurTableau][compteur]=compteur; + + } + +} + +/*___________________________Affichage côte-à-côte___________________________ */ + +for(compteurTableau=0;compteurTableau<5;compteurTableau++){ + + for(compteur=0;compteur<5 && compteurTableau<2;compteur++){ + + printf("%3d",t1[compteurTableau][compteur]); + } + + printf(" "); + + if(compteurTableau==2){ /*Pour la 3eme ligne on comble les espace de l'equivalent d'une lignes de tableau pour afficher correctement la 3eme ligne du 2eme tableau(t2) */ + + printf("%15c",' '); + } + + for(compteur=0;compteur<5 && compteurTableau<3;compteur++){ + + printf("%3d",t2[compteurTableau][compteur]); + } + + printf(" "); + if(compteurTableau>2){/*A partir de la 4eme ligne on comble les espace de l'equivalent de 2 lignes de tableau pour afficher correctement les 2 derniere lignes du dernier tableau(t4) */ + printf("%30c",' '); + + } + + for(compteur=0;compteur<5;compteur++){ + + printf("%3d",t3[compteurTableau][compteur]); + } + + printf("\n"); + + + } + + +return EXIT_SUCCESS; +} + diff --git a/APL1.1/9.Tableaux-multidimensionnels/source/Progressions.c b/APL1.1/9.Tableaux-multidimensionnels/source/Progressions.c new file mode 100644 index 0000000..9a29fa1 --- /dev/null +++ b/APL1.1/9.Tableaux-multidimensionnels/source/Progressions.c @@ -0,0 +1,92 @@ +#include +#include + +int main(void){ + +int t1[2][5],t2[3][5],t3[5][5],compteurTableau,compteur,valeurTableau=0; + + +for(compteurTableau=0;compteurTableau<2;compteurTableau++){ + + for(compteur=0;compteur<5;compteur++){ + + t1[compteurTableau][compteur]=compteur+1; + printf("%3d ",t1[compteurTableau][compteur]); + } +printf("\n"); +} + + +printf("\n"); + +for(compteurTableau=0;compteurTableau<3;compteurTableau++){ + + for(compteur=0;compteur<5;compteur++){ + + t2[compteurTableau][compteur]=++valeurTableau; + printf("%3d ", t2[compteurTableau][compteur]); + } + + printf("\n"); +} + +printf("\n"); + +for(compteurTableau=0;compteurTableau<5;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + if(compteur>compteurTableau){ + t3[compteurTableau][compteur]=0; + } else + t3[compteurTableau][compteur]=compteur; + + printf("%3d ",t3[compteurTableau][compteur]); + } + + printf("\n"); +} + +printf("\n____________________Affichage inversé____________________\n\n"); + + +/*______________________________________________________ Affichage inverse______________________________________________________________*/ + +for(compteur=0;compteur<5;compteur++){ + + for(compteurTableau=0;compteurTableau<2;compteurTableau++){ + + printf("%3d",t1[compteurTableau][compteur]); + } + + printf("\n"); +} + + +printf("\n"); + +for(compteur=0;compteur<5;compteur++){ + + for(compteurTableau=0;compteurTableau<3;compteurTableau++){ + + printf("%3d", t2[compteurTableau][compteur]); + } + + printf("\n"); +} + + +printf("\n"); + +for(compteur=1;compteur<=5;compteur++){ + + for(compteurTableau=0;compteurTableau<5;compteurTableau++){ + printf("%3d", t3[compteurTableau][compteur] ); + } + + printf("\n"); + +} +return EXIT_SUCCESS; +} + diff --git a/APL1.1/9.Tableaux-multidimensionnels/source/Triangle b/APL1.1/9.Tableaux-multidimensionnels/source/Triangle new file mode 100644 index 0000000..d0fe4dc Binary files /dev/null and b/APL1.1/9.Tableaux-multidimensionnels/source/Triangle differ diff --git a/APL1.1/9.Tableaux-multidimensionnels/source/Triangle.c b/APL1.1/9.Tableaux-multidimensionnels/source/Triangle.c new file mode 100644 index 0000000..c725dfe --- /dev/null +++ b/APL1.1/9.Tableaux-multidimensionnels/source/Triangle.c @@ -0,0 +1,82 @@ +#include +#include + +<<<<<<< HEAD + +#define LIMITE 30 +======= +#define LIMITE 30 +>>>>>>> 9eb043aed352919d658fb0f434a13ff0f2d0f6e5 + +int main(void){ + +int compteur=0,tableauNK[1000][1000],n,k; +<<<<<<< HEAD + + + +for(n=0;nk && k>=1){ + + tableauNK[n][k]= tableauNK[n-1][k]+tableauNK[n-1][k-1]; + + } else { + if(n==k && k>=0){ + + tableauNK[n][k]=1; + + } else if(n>=0){ + + tableauNK[n][k]=1; + } + } + printf("%3d",tableauNK[n][k]); +} + +printf("\n"); + +} + + + +======= + + + + for(n=0;nk && k>=1){ + + tableauNK[n][k]= tableauNK[n-1][k]+tableauNK[n-1][k-1]; + + } else { + + if(n==k && k>=0){ + + tableauNK[n][k]=1; + + } else {if(n>=0){ + + tableauNK[n][k]=1; + } + }} + + printf("%10d",tableauNK[n][k]); +} + + +printf("n = %d\n",n); + +} +printf("\n\nLA CASE 0 = %d\n", tableauNK[0][0]); +>>>>>>> 9eb043aed352919d658fb0f434a13ff0f2d0f6e5 +return EXIT_SUCCESS; +} + diff --git a/APL1.1/9.Tableaux-multidimensionnels/source/Triangle~HEAD b/APL1.1/9.Tableaux-multidimensionnels/source/Triangle~HEAD new file mode 100644 index 0000000..fae62ff Binary files /dev/null and b/APL1.1/9.Tableaux-multidimensionnels/source/Triangle~HEAD differ diff --git a/APL1.1/CM1/Rangement b/APL1.1/CM1/Rangement new file mode 100644 index 0000000..b57f842 Binary files /dev/null and b/APL1.1/CM1/Rangement differ diff --git a/APL1.1/CM1/Rangement.c b/APL1.1/CM1/Rangement.c new file mode 100644 index 0000000..2ae3609 --- /dev/null +++ b/APL1.1/CM1/Rangement.c @@ -0,0 +1,13 @@ +#include +#include + +int main(void){ + + unsigned long int a = 6UL; + int b = 0x6; + double c = 6.0; + unsigned char d = '\66'; + + printf("%lu \n%x \n%.0lf \n%c \n", a,b,c,d); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.1/CM1/Rongeur b/APL1.1/CM1/Rongeur new file mode 100644 index 0000000..dc71c96 Binary files /dev/null and b/APL1.1/CM1/Rongeur differ diff --git a/APL1.1/CM1/Rongeur.c b/APL1.1/CM1/Rongeur.c new file mode 100644 index 0000000..0960f6b --- /dev/null +++ b/APL1.1/CM1/Rongeur.c @@ -0,0 +1,12 @@ +#include +#include + +int main(void) { +printf(" (\\_/)\n"); +printf(" .-\"\"-.-.-' a\\ \n"); +printf(" / \\ _.--' \n"); +printf("(\\ /_---\\\\_\\_\n"); +printf(" `'-.\n"); +printf(" ,__)\n"); +return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.1/CM1/Règle b/APL1.1/CM1/Règle new file mode 100644 index 0000000..9ff4654 Binary files /dev/null and b/APL1.1/CM1/Règle differ diff --git a/APL1.1/CM1/Règle.c b/APL1.1/CM1/Règle.c new file mode 100644 index 0000000..20b98f7 --- /dev/null +++ b/APL1.1/CM1/Règle.c @@ -0,0 +1,26 @@ +#include +#include + + +int main(void) +{ + int reponse,compteur; + printf("Entrez la longueur désirée (entre 1 et 9) : "); + scanf("%d", &reponse); + + for(compteur=0;compteur +#include +#include + +int main(void) +{ + double reponse,taillePouce; + + printf("Entrez votre taille : "); + scanf("%le", &reponse); + + taillePouce = (reponse * 100)/2.56; + + double resultat = (taillePouce) / 10; + + + printf(" vous faite %le \n", resultat); + + + + return 0; +} \ No newline at end of file diff --git a/APL1.1/CM1/Réticule b/APL1.1/CM1/Réticule new file mode 100644 index 0000000..cdbe6e9 Binary files /dev/null and b/APL1.1/CM1/Réticule differ diff --git a/APL1.1/CM1/Réticule.c b/APL1.1/CM1/Réticule.c new file mode 100644 index 0000000..0717aec --- /dev/null +++ b/APL1.1/CM1/Réticule.c @@ -0,0 +1,60 @@ +#include +#include + + +int main(void) +{ + int reponse,compteur,compteur2,compteur3, compteur4,largeurReticule = 2,hauteurReticule=1; + printf("Choisissez le nombre de carrés : "); + scanf("%d", &reponse); + + + +for(compteur=1;compteur +#include +#include + +int main(void) { + + time_t timestamp = time( NULL ); + struct tm * timeInfos = localtime( & timestamp ); + + printf( "La date est: %04d-%02d-%02d\n", timeInfos->tm_year+1900, timeInfos->tm_mon+1, timeInfos->tm_mday); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.1/organisation_code/source/exo1.tar.gz b/APL1.1/organisation_code/source/exo1.tar.gz new file mode 100644 index 0000000..e301fdc Binary files /dev/null and b/APL1.1/organisation_code/source/exo1.tar.gz differ diff --git a/APL1.1/organisation_code/source/exo1/Makefile b/APL1.1/organisation_code/source/exo1/Makefile new file mode 100644 index 0000000..143f9cf --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/Makefile @@ -0,0 +1,45 @@ +# TP 19 Exercice 1 : fichier Makefile + +# CHAPITRE 1 : BUT FINAL + +but : exo1 # en gros le but cest la finalité + +# CHAPITRE 2 : VARIABLES + +OFILES = lire.o \ + personne.o \ + repertoire.o \ + option.o \ + main.o #dependance dans l'ordre, ce qui depend d'un truc est en dessous de truc + +CC = gcc + +CFLAGS = -Wall -ansi -pedantic -g + +# CHAPITRE 3 : DEPENDANCES (REGLES IMPLICITES) + +personne.o : personne.h lire.h + +repertoire.o : repertoire.h personne.h + +option.o : option.h + +main.o : personne.h repertoire.h option.h #la ya pas d'ordre on s'en fout + +#CHAPITRE 4 : DEPENDANCES AVEC COMMANDES + +lire.o : lire.s lire.h + as -o lire.o lire.s + +exo1 : $(OFILES) + $(CC) $(CFLAGS) -o exo1 $(OFILES) + +#CHAPITRE 5 : NETTOYAGE DES FICHIERS GENERES + +clean : + -rm -f $(OFILES) exo1 + + +#CHAPITRE 6 : BUTS FACTICES + +.PHONY : but clean diff --git a/APL1.1/organisation_code/source/exo1/exo1 b/APL1.1/organisation_code/source/exo1/exo1 new file mode 100644 index 0000000..6c9ed6d Binary files /dev/null and b/APL1.1/organisation_code/source/exo1/exo1 differ diff --git a/APL1.1/organisation_code/source/exo1/lire.h b/APL1.1/organisation_code/source/exo1/lire.h new file mode 100644 index 0000000..b3606c5 --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/lire.h @@ -0,0 +1,8 @@ +/* TP 19 Exercice 1 : fichier lire.h */ + +#ifndef LIRE_H +#define LIRE_H + +void lire(char*, int); + +#endif /* LIRE_H */ diff --git a/APL1.1/organisation_code/source/exo1/lire.s b/APL1.1/organisation_code/source/exo1/lire.s new file mode 100644 index 0000000..d4f5f35 --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/lire.s @@ -0,0 +1,30 @@ + .section .text + .globl lire + .type lire, @function +lire: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + + xorq %rdx, %rdx + movl %esi, %edx # taille max + movq %rdi, %rsi # adresse chaine + movq $0, %rax # read + movq $0, %rdi # stdin + decq %rdx # place du \0 + syscall # call read + cmpb $10, -1(%rsi, %rax, 1) # si \n + jne lire_1 + decq %rax +lire_1: movb $0, (%rsi, %rax, 1) # place \0 + + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size lire, .-lire diff --git a/APL1.1/organisation_code/source/exo1/main.c b/APL1.1/organisation_code/source/exo1/main.c new file mode 100644 index 0000000..9ac352d --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/main.c @@ -0,0 +1,27 @@ +/* TP19 Exercice 1 : fichier main.c */ + +#include +#include +#include "personne.h" +#include "repertoire.h" +#include "option.h" + + + +int main(void) { + options opt; + repertoire r = construire_repertoire(); + while ((opt=saisir_option())!=SORTIR) + switch(opt) { + case AJOUTER : + ajouter_personne(r, saisir_personne()); + break; + case AFFICHER : + afficher_repertoire(r); + break; + default : + ; /* rien a faire */ + } + detruire_repertoire(r); + return EXIT_SUCCESS; +} diff --git a/APL1.1/organisation_code/source/exo1/option.c b/APL1.1/organisation_code/source/exo1/option.c new file mode 100644 index 0000000..0a449f3 --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/option.c @@ -0,0 +1,20 @@ +#include +#include +#include "option.h" + + +options saisir_option() { + short o; + printf("\nChoisissez une option :\n"); + printf("1] Ajouter une personne.\n"); + printf("2] Afficher le repertoire.\n"); + printf("3] Sortir\n"); + printf("? "); + scanf("%hd", &o); + switch(o) { + case 1 : return AJOUTER; + case 2 : return AFFICHER; + case 3 : return SORTIR; + default : return AFFICHER; + } +} \ No newline at end of file diff --git a/APL1.1/organisation_code/source/exo1/option.h b/APL1.1/organisation_code/source/exo1/option.h new file mode 100644 index 0000000..8b323ce --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/option.h @@ -0,0 +1,8 @@ +#ifndef OPTION_H +#define OPTION_H + +typedef enum {AJOUTER, AFFICHER, SORTIR} options; + +options saisir_option(); + +#endif /* OPTION_H */ \ No newline at end of file diff --git a/APL1.1/organisation_code/source/exo1/personne.c b/APL1.1/organisation_code/source/exo1/personne.c new file mode 100644 index 0000000..38195d8 --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/personne.c @@ -0,0 +1,33 @@ +/* TP 19 Exercice 1 : fichier personne.c */ + +#include +#include +#include +#include "personne.h" +#include "lire.h" + +personne construire_personne(const char *nom, const char *tel) { + personne p = (personne) malloc(sizeof(struct s_personne)); + strcpy(p->nom, nom); + strcpy(p->tel, tel); + return p; +} + +personne saisir_personne() { + personne p = (personne) malloc(sizeof(struct s_personne)); + printf("\nEntrez le nom de la personne : "); + fflush(stdout); + lire(p->nom, 30); + printf("Entrez son numero de telephone : "); + fflush(stdout); + lire(p->tel, 20); + return p; +} + +void afficher_personne(personne p) { + printf("%-30s %-20s\n", p->nom, p->tel); +} + +void detruire_personne(personne p) { + free(p); +} diff --git a/APL1.1/organisation_code/source/exo1/personne.h b/APL1.1/organisation_code/source/exo1/personne.h new file mode 100644 index 0000000..079ef3e --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/personne.h @@ -0,0 +1,16 @@ +/* TP 19 Exercice 1 : fichier personne.h */ + +#ifndef PERSONNE_H +#define PERSONNE_H + +typedef struct s_personne { + char nom[30]; + char tel[20]; +} * personne; + +personne construire_personne(const char*, const char*); +personne saisir_personne(); +void afficher_personne(personne); +void detruire_personne(personne); + +#endif /* PERSONNE_H */ diff --git a/APL1.1/organisation_code/source/exo1/repertoire.c b/APL1.1/organisation_code/source/exo1/repertoire.c new file mode 100644 index 0000000..e31e22a --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/repertoire.c @@ -0,0 +1,37 @@ +/* TP 19 Exercice 1 : fichier repertoire.c */ + +#include +#include +#include "repertoire.h" +#include "lire.h" + +repertoire construire_repertoire() { + repertoire r = (repertoire) malloc(sizeof(struct s_repertoire)); + r->taille = 0; + return r; +} + +void afficher_repertoire(repertoire r) { + int i = 0; + printf("\n%-30s %-20s\n", "Nom", "Telephone"); + for(; itaille; i++) + afficher_personne((r->personnes)[i]); +} + +int ajouter_personne(repertoire r, personne p) { + if (r->taillepersonnes)[r->taille] = p; + (r->taille)++; + return 0; + } else + return 1; +} + +void detruire_repertoire(repertoire r) { + int i = r->taille; + while(i-->0) { + free((r->personnes)[i]); + } + free(r); +} + diff --git a/APL1.1/organisation_code/source/exo1/repertoire.h b/APL1.1/organisation_code/source/exo1/repertoire.h new file mode 100644 index 0000000..f6db222 --- /dev/null +++ b/APL1.1/organisation_code/source/exo1/repertoire.h @@ -0,0 +1,20 @@ +/* TP 19 Exercice 1 : fichier repertoire.h */ + +#ifndef REPERTOIRE_H +#define REPERTOIRE_H + +#include "personne.h" + +#define CAPACITE 100 + +typedef struct s_repertoire { + int taille; + personne personnes[CAPACITE]; +} * repertoire; + +repertoire construire_repertoire(); +void afficher_repertoire(repertoire); +int ajouter_personne(repertoire, personne); +void detruire_repertoire(repertoire); + +#endif /* REPERTOIRE_H */ diff --git a/APL1.1/salaire1.c b/APL1.1/salaire1.c new file mode 100644 index 0000000..42d32d5 --- /dev/null +++ b/APL1.1/salaire1.c @@ -0,0 +1,131 @@ +#include +#include +#include + + +//---------------------------------------------PROTOTYPES--------------------------------------------------// + + +double salbs(int x, int b); +void tabSal(double tableau[], int tailleTableau, double b); +double sal_moy (double *t, int taille); +double sal_moy2 (double *t, int taille, int* complet); +int repasseTableau(double tableau[], int taille);//place des 0 dans les cases du tableau avec 2% de chance + + +//---------------------------------------------MAIN--------------------------------------------------// + +int main(void){ + + srand(time(NULL)); + int compteur=0; + double tableau[43]; + double b; + int complet=0; + + +b=rand()%(1800-1450+1) + 1450; +tabSal(tableau, 43, b); +sal_moy2 (tableau, 43,&complet); + +printf("Salaire de base : %lf\nNombre d'annee a 0 : %d\nSalaire moyen sur la carriere : %lf\n",b,repasseTableau(tableau,43),sal_moy2(tableau,43,&complet)); + +if(complet==1){ + printf("Carriere complete\n"); +} + else printf("Carriere incomplete\n"); + +return EXIT_SUCCESS; +} + + + +//---------------------------------------------FONCTIONS--------------------------------------------------// + + +double salb(int x, int b){ + +//x = année +//b = salaire de base + double salaire = 0.0; + + if( 0<=x && x<=34){ + + salaire= (double)(b) +( ( (double)(b) / 34 ) * (double)(x) ); + + } else { + + if( 34 49) represente une probabilité de 0.02 ou 2%*/ + + tableau[compteur]=0; + nombreDeZero++; + } + + } +return nombreDeZero; +} + + + +double sal_moy2 (double *t, int taille, int* complet){ + + int compteur=0, salaireMoyen=0.0; + + for(compteur=0;compteur +#include +#include + +void inverse(const char* s); + + +int main(int argc,char* argv[]){ + +inverse(argv[1]); + +printf("on fini\n"); + + return EXIT_SUCCESS; +} + + + +void inverse(const char* s){ + + + char *reverseString=NULL; + int compteur=0, longueurString= strlen(s); + + + reverseString=malloc( ( longueurString+1 ) *sizeof(char) ); + + for(compteur=longueurString;compteur>0;compteur--){ + + reverseString[longueurString-compteur]=s[compteur]; + } + + reverseString[longueurString+1]='\0'; + + printf("La chaine de base est %s\n",s); + printf("la chaine truc est %s\n",reverseString ); +} \ No newline at end of file diff --git a/APL1.2/1.Allocation_dynamique/source/Singleton.c b/APL1.2/1.Allocation_dynamique/source/Singleton.c new file mode 100644 index 0000000..80ee3d6 --- /dev/null +++ b/APL1.2/1.Allocation_dynamique/source/Singleton.c @@ -0,0 +1,140 @@ +#include +#include + + +/*---------------------PROTOTYPE---------------------------------------------*/ + + + +int nombreSingletonTableau(double tableau[], int tailleTableau); + +void valeurSingleton(double tableau[], double tableauFinal[], int tailleTableau, int tailleTableauFinal); + +void afficheTableau(double tableau[], int tailleTableau); + + + +/*-------------------------------MAIN----------------------------------------------------*/ + +int main(void){ + +double *tableau=NULL, *tableauFinal=NULL; +int compteur=0, reponse=0, compteurBis=0, tailleTableauFinal; + +printf("Veuillez entrez le nombre de réel que vous allez entrez : "); +scanf("%d", &reponse); + + +tableau=(double*) malloc(reponse*sizeof(double)); + + +for(compteur=0;compteur +#include + + + +//_____________________PROTOTYPE_____________________________ + + +int parcourTableau(int tableau[], int tailleTableau); +void singletonTableau(int tableau[], int tableauFinale[], int tailleTableau); + + +int main(void){ + + int reponse=0, compteur=0; + int *tableau; + + + printf("Combien de valeurs voulez vous rentrez ?\nNombre de valeurs: "); + scanf("%d", &reponse); + + malloc(reponse*sizeof(int)); + + for(compteur=0;compteur +#include +#include + +typedef struct NombreImaginaire{ + double x; + double z; + char signe; + +} imaginaire; + + +double module(imaginaire I); +void afficheI(imaginaire I); +void conjugue(imaginaire I); + + +int main(void){ + + + +imaginaire numI; + + +printf("Veuillez entrez un la partie reel: \n"); +scanf("%lf", &numI.x); + +printf("Veuillez entrez un le signe: \n"); +scanf("%c ", &numI.signe); + +printf("Veuillez entrez un la partie imaginaire: \n"); +scanf("%lf", &numI.z); + +printf("Le nombre imaginaire z est "); + +printf("Le module de z = "); +afficheI(numI); +printf("est %0.2lf\n", module(numI)); + +printf("le conjugué de z = \n"); +conjugue(numI); + + +return EXIT_SUCCESS; +} + + + + + + double module(imaginaire I){ + + double moduleI=0.0; + + moduleI= sqrt((I.x*I.x)+(I.z*I.z)); //preferable de ne pas utiliser pow pour les perf du prgrm car la puissance est petite (²) + + return moduleI; + } + + void conjugue(imaginaire I){ + + + if (I.signe=='-') + { + I.signe='+'; + + }else I.signe='-'; + + afficheI(I); + } + + + void afficheI(imaginaire I){ + + printf("%0.2lf%c%0.2lfi \n",I.x,I.signe,I.z); + } + + + + + + \ No newline at end of file diff --git a/APL1.2/2.Structures/Groupe.c b/APL1.2/2.Structures/Groupe.c new file mode 100644 index 0000000..50576ed --- /dev/null +++ b/APL1.2/2.Structures/Groupe.c @@ -0,0 +1,28 @@ +#include +#include +#include +#include + +int main(int argc, char const *argv[]) +{ + + if (argc!=2){ + puts("ERROR_usage: [group-name]"); + return EXIT_FAILURE; + } + int compteur=0; + struct group *recupInfoGroupe; + + + recupInfoGroupe=getgrnam(argv[1]); + + for(compteur=0;recupInfoGroupe->gr_mem[compteur]!=NULL;compteur++){ + + printf("%s\n", recupInfoGroupe->gr_mem[compteur]); + } + + + + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.2/2.Structures/source/Date.c b/APL1.2/2.Structures/source/Date.c new file mode 100644 index 0000000..a450f23 --- /dev/null +++ b/APL1.2/2.Structures/source/Date.c @@ -0,0 +1,16 @@ +#include +#include +#include + +int main(int argc, char * argv[]){ + + + time_t seconds = time(NULL); + struct tm * timeinfo = localtime(&seconds); + printf("%04d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo->tm_year,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec); + return 0; + + +return EXIT_SUCCESS; +} + diff --git a/APL1.2/2.Structures/source/Phases.c b/APL1.2/2.Structures/source/Phases.c new file mode 100644 index 0000000..9d2b131 --- /dev/null +++ b/APL1.2/2.Structures/source/Phases.c @@ -0,0 +1,22 @@ +#include +#include + +void exemple(unsigned n) { + + if (n != 0) { + putchar('>'); + exemple(n-1); + putchar('<'); + } else + putchar('O'); +} + +int main(void){ + + int n=4; + exemple(n); + +return 0; +} + + diff --git a/APL1.2/2.Structures/source/Taille b/APL1.2/2.Structures/source/Taille new file mode 100644 index 0000000..176a990 Binary files /dev/null and b/APL1.2/2.Structures/source/Taille differ diff --git a/APL1.2/2.Structures/source/Tailles.c b/APL1.2/2.Structures/source/Tailles.c new file mode 100644 index 0000000..c036c4d --- /dev/null +++ b/APL1.2/2.Structures/source/Tailles.c @@ -0,0 +1,24 @@ +#include +#include + +int main(void){ + + +struct taille { + + char enr1; + int enr2; + char enr3; + +}; + +struct taille test; + +printf("%zu\n", sizeof(test) ); + + + + + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.2/3.Fichier/source/Chainée.c b/APL1.2/3.Fichier/source/Chainée.c new file mode 100644 index 0000000..6a59fbd --- /dev/null +++ b/APL1.2/3.Fichier/source/Chainée.c @@ -0,0 +1,26 @@ +#include + +typedef struct s_maillon { + int valeur; + struct s_maillon* suivant; +} maillon; + +typedef maillon* pile; + +void push(pile* p, int nouveau) { + maillon* m = (maillon*) malloc(sizeof(maillon)); + m->valeur = nouveau; + m->suivant = *p; + *p = m; +} + +int pop(pile* p) { + maillon m = **p; + free(*p); + *p = m.suivant; + return m.valeur; +} + + +return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.2/3.Fichier/source/Challenger b/APL1.2/3.Fichier/source/Challenger new file mode 100644 index 0000000..b729bd6 Binary files /dev/null and b/APL1.2/3.Fichier/source/Challenger differ diff --git a/APL1.2/3.Fichier/source/Challenger.c b/APL1.2/3.Fichier/source/Challenger.c new file mode 100644 index 0000000..4810b84 --- /dev/null +++ b/APL1.2/3.Fichier/source/Challenger.c @@ -0,0 +1,86 @@ +#include +#include +#include + + + +int main(int argc, char* argv[]){ + +FILE* fluxFichierTopL; + + +fluxFichierTopL = fopen("top10", "r");//on affecte le fichier a notre variable + +if(fluxFichierTopL){ + + typedef struct enregistrement{ + int score; + char sigle[3]; + } joueur; //structure d'un joueur + + int compteur=0,ajout=0; + joueur hof[10]; + joueur nouveauHof[10]; + joueur entrant; + entrant.score = strtol(argv[1],NULL,10); + + + + for(compteur=0;compteur<10;compteur++){ //on lit les valeur des 10 joueur du hof et on les affecte au variable correspondantes + + fread(&hof[compteur].score,sizeof(int),1,fluxFichierTopL); + fread(&hof[compteur].sigle,sizeof(char),3,fluxFichierTopL); + } + + printf("on a tout lu\n"); + + for(compteur=0;compteur<10;compteur++){ //on affiche les valeurs lu precedemment + + printf("%08d %s \n",hof[compteur].score, hof[compteur].sigle); + } + + for(compteur=0;compteur<10;compteur++){ + + if(hof[compteur].score +#include +#include + +int main(void){ + + FILE* flux; + flux=fopen("image.bin", "r"); + int h,l; + int coul1,coul2,coul3; + int compteurL,compteurH; + couleur couleurPixel; + + if(flux){ + + fread(&l,sizeof(int),1,flux); + fread(&h,sizeof(int),1,flux); + printf("l=%d d=%d\n",l,h ); + InitialiserGraphique(); + ChoisirEcran(0); + CreerFenetre(10,10,l,h); + + for(compteurL=0;compteurL +#include + +#define BLOC_ENTIER sizeof(int) + +int main(void){ + + +FILE* fluxFichierTop; + +fluxFichierTop = fopen("top10", "r"); + +if (fluxFichierTop) { + + int score=0; + char sigle[3]; + + while(1){ + + fread(&score,sizeof(int),1,fluxFichierTop); + fread(sigle,sizeof(char),3,fluxFichierTop); + + if (feof(fluxFichierTop)){ + + fclose(fluxFichierTop); + return EXIT_SUCCESS; + } + + printf("%08d %s\n",score,sigle); + } +} + +} + diff --git a/APL1.2/3.Fichier/source/image.bin b/APL1.2/3.Fichier/source/image.bin new file mode 100644 index 0000000..d67e8de Binary files /dev/null and b/APL1.2/3.Fichier/source/image.bin differ diff --git a/APL1.2/3.Fichier/source/test b/APL1.2/3.Fichier/source/test new file mode 100644 index 0000000..14136c7 Binary files /dev/null and b/APL1.2/3.Fichier/source/test differ diff --git a/APL1.2/3.Fichier/source/top10 b/APL1.2/3.Fichier/source/top10 new file mode 100644 index 0000000..f6c571a Binary files /dev/null and b/APL1.2/3.Fichier/source/top10 differ diff --git a/APL1.2/3.Fichiers/testFichier b/APL1.2/3.Fichiers/testFichier new file mode 100644 index 0000000..960df8a Binary files /dev/null and b/APL1.2/3.Fichiers/testFichier differ diff --git a/APL1.2/3.Fichiers/testFichier.c b/APL1.2/3.Fichiers/testFichier.c new file mode 100644 index 0000000..a9ccc3e --- /dev/null +++ b/APL1.2/3.Fichiers/testFichier.c @@ -0,0 +1,34 @@ +#include +#include + +int main(void){ + + int p=0; + char c[3]; + int compteur; + + FILE* flux; /* va permettre de definir une variable nommé "flux" comme etant un pointeur vers un flux*/ + + flux = fopen("top10(1)", "r");/*on ouvre le flux qui sera fichierTruc et on le fait correspondre a "flux"*/ + + + + + if(flux){ /*la condition est verifier si un nombre superieur a 0 est present*/ + + + for(compteur=0;compteur<10;compteur++){/* eof renvoi un faux tant qu'il n'atteint pas la fin du fichier donc on inverse son resultat pour rester dans la boucle tant que la fin du fichier nest pas atteinte */ + + fread( &p, sizeof(int), 1, flux); + printf("score = %09d ", p); + + fread( c, sizeof(char), 3, flux); + printf(" %s\n", c); + + } + + fclose(flux);/*on ferme le flux*/ + } + return EXIT_SUCCESS; + +} \ No newline at end of file diff --git a/APL1.2/3.Fichiers/top10 b/APL1.2/3.Fichiers/top10 new file mode 100644 index 0000000..d1b13a6 --- /dev/null +++ b/APL1.2/3.Fichiers/top10 @@ -0,0 +1,13 @@ +3344 4a 00 42 +4f42 d3 13 4a +003c 4f 3e 24 +7c27 00 5c 6f +2f11 e6 25 00 +4b49 58 1b 40 +1e00 3a 2d 29 +760b 16 00 41 +4c46 92 91 0b +004c 4f 4c 91 + +910b 0054 5f54 56bc 0000 2047 4701 +0000 0040 5f40 \ No newline at end of file diff --git a/APL1.2/3.Fichiers/top10(1) b/APL1.2/3.Fichiers/top10(1) new file mode 100644 index 0000000..f6c571a Binary files /dev/null and b/APL1.2/3.Fichiers/top10(1) differ diff --git a/APL1.2/3.Fichiers/top10_trier b/APL1.2/3.Fichiers/top10_trier new file mode 100644 index 0000000..0d7d7cf --- /dev/null +++ b/APL1.2/3.Fichiers/top10_trier @@ -0,0 +1,10 @@ +33444a00 42 4f 42 +d3134a00 3c 4f 3e +247c2700 5c 6f 2f +11e62500 4b 49 58 +1b401e00 3a 2d 29 +760b1600 41 4c 46 +92910b00 4c 4f 4c +91910b00 54 5f 54 +56bc0000 20 47 47 +01000000 40 5f 40 \ No newline at end of file diff --git a/APL1.2/Aranger/Hexadécimal.c b/APL1.2/Aranger/Hexadécimal.c new file mode 100644 index 0000000..9e020ef --- /dev/null +++ b/APL1.2/Aranger/Hexadécimal.c @@ -0,0 +1,30 @@ +#include + +int main(int argc, char *argv[]){ + + FILE* fluxLecture; + + fluxLecture=fopen(argv[1],"r"); + + if(fluxLecture){ + + int buffer=0; + + while(!feof(fluxLecture)){ + + fread(&buffer,sizeof(char),1,fluxLecture); + printf(".%x", buffer); + } + + printf("\n"); + fclose(fluxLecture); + } + + + + + + + + return 0; +} \ No newline at end of file diff --git a/APL1.2/Aranger/Maximum.c b/APL1.2/Aranger/Maximum.c new file mode 100644 index 0000000..f59b071 --- /dev/null +++ b/APL1.2/Aranger/Maximum.c @@ -0,0 +1,20 @@ +#include +#include + +int main(void){ + +typedef struct mail { + int valeur; + struct mail* suivant; + }maillon; + + + + + + + + +return EXIT_SUCCESS; +} + diff --git a/APL1.2/Aranger/Numérotation.c b/APL1.2/Aranger/Numérotation.c new file mode 100644 index 0000000..a4a461e --- /dev/null +++ b/APL1.2/Aranger/Numérotation.c @@ -0,0 +1,53 @@ + #include + #include + + int verifRetourLigne(char chaine[], int tailleChaine); + + int main(int argc, char * argv[]){ + + if(argc!=2){ + printf("erreur parametre\n"); + } + FILE* fluxLecture; + fluxLecture=fopen(argv[1],"r"); + + if(fluxLecture){ + + char buffer[256]; + int flag=1, compteur=0; + + while(flag){ + + if(fgets(buffer,256,fluxLecture)){ //On recupere tout les caractere jusqua 256 mais on sarrette avant si on rencontre la fin du fichier ou un '\n' MAIS LE 'N' SERA INCLU + + printf("\n%s",buffer ); + printf("\n \033[0;31m%3d . \033[0m",compteur); + fputs(buffer,stdout); // on affiche grace a fputs tout ce qu'il ya jusqua un caratere de fin de chaine + + + flag=verifRetourLigne(buffer,256); //on regarde si un caractere d'echappement a été recuperer + compteur++; + + }else flag=0; + } + fclose(fluxLecture); + } + return EXIT_SUCCESS; + } + + + int verifRetourLigne(char chaine[], int tailleChaine){ + + int compteur=0; + + for(compteur=0;compteur!=tailleChaine && chaine[compteur]!='\0';compteur++){} + + if(tailleChaine==compteur){ + + compteur=0; + + }else compteur=1; + + return compteur; + + } \ No newline at end of file diff --git a/APL1.2/Aranger/Tableur.c b/APL1.2/Aranger/Tableur.c new file mode 100644 index 0000000..0d75b58 --- /dev/null +++ b/APL1.2/Aranger/Tableur.c @@ -0,0 +1,69 @@ +#include +#include +#include + +int main(void){ + + +FILE* fluxEcriture; +fluxEcriture=fopen("t1.csv","w"); +int t1[2][5],t2[3][5],t3[5][5],compteurTableau,compteur,valeurTableau=0,compteurHorizontal=0; + + + +if(fluxEcriture){ + + + for(compteurTableau=0;compteurTableau<2;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + fprintf(fluxEcriture,"%d,",compteur); + } + fprintf(fluxEcriture,"\n"); + + } + + fclose(fluxEcriture); +} + + +if(fluxEcriture=fopen("t2.csv","w")){ + + for(compteurTableau=0;compteurTableau<3;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + fprintf(fluxEcriture,"%d,",compteur); + } + fprintf(fluxEcriture,"\n"); + } + +fclose(fluxEcriture); +} + + +if(fluxEcriture=fopen("t3.csv","w")){ + + for(compteurTableau=0;compteurTableau<5;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + if(compteur>compteurTableau){ + + fprintf(fluxEcriture,"0,"); + } else fprintf(fluxEcriture,"%d,",compteur); + + + + } + fprintf(fluxEcriture,"\n"); + + } +fclose(fluxEcriture); +} + + +return EXIT_SUCCESS; +} + diff --git a/APL1.2/Aranger/ab.c b/APL1.2/Aranger/ab.c new file mode 100644 index 0000000..4dfc434 --- /dev/null +++ b/APL1.2/Aranger/ab.c @@ -0,0 +1,39 @@ +#include +#include + +int main(void){ + +int t1[2][5],t2[3][5],t3[5][5],compteurTableau,compteur,valeurTableau=0,compteurHorizontal=0; + + +for(compteurTableau=0;compteurTableau<2;compteurTableau++){ + + for(compteur=0;compteur<5;compteur++){ + + t1[compteurTableau][compteur]=compteur+1; + } +} + +printf("\n"); + +for(compteurTableau=0;compteurTableau<3;compteurTableau++){ + + for(compteur=0;compteur<5;compteur++){ + + t2[compteurTableau][compteur]=++valeurTableau; + } +} + + +for(compteurTableau=0;compteurTableau<5;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + if(compteur>compteurTableau){ + t3[compteurTableau][compteur]=0; + } else + t3[compteurTableau][compteur]=compteur; + + } + +} \ No newline at end of file diff --git a/APL1.2/Aranger/fichier.txt b/APL1.2/Aranger/fichier.txt new file mode 100644 index 0000000..a14c4d0 --- /dev/null +++ b/APL1.2/Aranger/fichier.txt @@ -0,0 +1,6 @@ +Bonjour +ceci +est +un +test + diff --git a/APL1.2/Aranger/listeChaînées.c b/APL1.2/Aranger/listeChaînées.c new file mode 100644 index 0000000..f36e407 --- /dev/null +++ b/APL1.2/Aranger/listeChaînées.c @@ -0,0 +1,84 @@ +#include +#include +#include + + +typedef struct mail{ + unsigned short entier; + struct mail *suivant; +}maillon; + + + +void afficherLC(maillon *premierMaillon); +maillon* creatList(int numElem); +void deleteList(maillon *premierMaillon); +maillon* addMail(maillon *firstMail, unsigned short valeur); + + +int main(void){ + +maillon *premierMaillon=creatList(10); + + +printf("on a créé la liste\n"); +afficherLC(premierMaillon); +deleteList(premierMaillon); +printf("On a supprimé la liste chainé\n"); +afficherLC(premierMaillon); +printf("On voit qu'il ne reste plus que le pointeur non dynamiquement alloué (le premier)\n"); +return EXIT_SUCCESS; +} + + +void afficherLC(maillon *premierMaillon){ + maillon* p; + for(p = premierMaillon;p != NULL;p=p->suivant) + printf("%hu,%p \n", p->entier,p); +} + + + + +maillon* addMail(maillon *firstMail, unsigned short valeur){//ajoute un maillon et renvoi son adresse + maillon *p= (maillon*) malloc(sizeof(maillon));/*On créé le nouveau maillon et il est le pointé du pointeur p*/ + if(p){ + p->entier=valeur;/*Notre nouveau maillon prend la valeur voulue*/ + p->suivant=NULL;/*Notre maillon dirige sur un pointeur NULL*/ + firstMail->suivant=p;/*L'ancien maillon pointe desormais sur celui qu'on vient de créer*/ + } +return p; +} + + +maillon* creatList(int numElem){ + + maillon *p=(maillon*) malloc(sizeof(maillon));/*On créé le premier maillon de la chaine et il est pointé par p*/ + maillon* firstMail=p;/*On fait une copie du premier maillon*/ + p->entier=5; + int compteur=0; + for(compteur=0;compteursuivant=addMail(p,5);/*on créé un nouveau maillon grace a une fonction , cette derniere renvoi l'adresse du maillon créé et on affecte cette adresse au maillon actuel*/ + p=p->suivant;/*notre pointeur va desormais pointé sur le maillon suivant le maillon actuellement pointer*/ + } + return firstMail; +} + + + + +void deleteList(maillon *adrMaillon){ + +maillon* p; +maillon* saveFirst=adrMaillon; + + while(adrMaillon!=NULL){ + + p=adrMaillon->suivant;/* p pointe sur l'adresse du maillon suivant */ + free(adrMaillon);/*On libere le maillon de l'adresse adrMaillon*/ + adrMaillon=p;/*adrMaillon pointe sur l'adresse du mmaillon suivant*/ + /*Le principe cest de retenir l'adresse du maillon suivznt, ensuite on supprime le maillon actuel et ainsi de suite jusqua atteindre la fin de la liste*/ + } + +saveFirst->suivant=NULL; +} \ No newline at end of file diff --git a/APL1.2/Aranger/pile.c b/APL1.2/Aranger/pile.c new file mode 100644 index 0000000..aa26459 --- /dev/null +++ b/APL1.2/Aranger/pile.c @@ -0,0 +1,57 @@ +#include +#include +#include + +typedef struct mail{ + char valeur; + struct mail* suivant; +}maillon; +typedef maillon* pile; + +void push(pile *p, char valeur){ + maillon* nouveauMaillon=(maillon*) malloc(sizeof(maillon)); /*Creation du nouveau maillon*/ + nouveauMaillon->valeur=valeur;/*On affecte la valeur au nouveau maillon*/ + nouveauMaillon->suivant=*p;/*p etant un pointeur sur une pile etant elle meme un pointeur sur le premier element de la pile, le nouveau maillon pointe donc sur celui pointé par p*/ + *p=nouveauMaillon;/*p doit pointer sur le nouveau dernier maillon*/ +} + +char pop(pile *p){ + maillon sauvegardeDernierMaillon=**p;/*On fait une copie du dernier maillon de la pile actuel*/ + free(*p);/*On supprime le dernier maillon de la pile */ + *p=sauvegardeDernierMaillon.suivant;/*Le pointeur de la pile doit maintenant pointer sur l'ex avant dernier maillon car ce dernier devient le nouveau dernier maillon*/ + return sauvegardeDernierMaillon.valeur;/*On retourne la valeur de l'ex dernier maillon qui a été supprimé*/ +} + +int empty(pile *p){ + if(*p==NULL){/*Si le pointeur de debut de pile pointe sur NULL, la pile est vide*/ + return 0; + }else return 1; +} + +int main(void){ + + pile p=NULL;/*IL FAUT INITIALISER LE POINTEUR DE PILE A NULL*/ + char ordre[3]=" \0"; + printf("La pile attends vos ordres "); + + while(ordre[0]!='q'){ + printf("\n> "); + scanf("%s",ordre); + + switch(ordre[0]){ + + case '+': + push(&p,ordre[1]); + printf("Le caractere %c a été ajouté",ordre[1]); + break; + + case '-': + if(empty(&p)){ + printf("Le caractere %c a été supprimé",pop(&p)); + }else printf("La pile est vide !\n"); + break; + } + } + printf("Aurevoir\n"); +return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.2/Aranger/t1.csv b/APL1.2/Aranger/t1.csv new file mode 100644 index 0000000..248436c --- /dev/null +++ b/APL1.2/Aranger/t1.csv @@ -0,0 +1,2 @@ +1,2,3,4,5, +1,2,3,4,5, diff --git a/APL1.2/Aranger/t2.csv b/APL1.2/Aranger/t2.csv new file mode 100644 index 0000000..93f6a89 --- /dev/null +++ b/APL1.2/Aranger/t2.csv @@ -0,0 +1,3 @@ +1,2,3,4,5, +1,2,3,4,5, +1,2,3,4,5, diff --git a/APL1.2/Aranger/t3.csv b/APL1.2/Aranger/t3.csv new file mode 100644 index 0000000..d477a07 --- /dev/null +++ b/APL1.2/Aranger/t3.csv @@ -0,0 +1,5 @@ +0,0,0,0,0, +1,0,0,0,0, +1,2,0,0,0, +1,2,3,0,0, +1,2,3,4,0, diff --git a/APL1.2/Aranger/truc.c b/APL1.2/Aranger/truc.c new file mode 100644 index 0000000..620cf5e --- /dev/null +++ b/APL1.2/Aranger/truc.c @@ -0,0 +1,129 @@ +#include +#include +#include + +int i=1; + +typedef struct mail{ + unsigned short entier; + struct mail *suivant; +}maillon; + + + + +void delLast(maillon* firstMail){ + + maillon* p=firstMail; + while(p->suivant!=NULL){ + + p=p->suivant; + } + + printf("la valeur du dernier maillon est %d\n",p->entier ); +} + + + + +maillon* creatMail(maillon* maillonPrecedent){ + + maillon* p=(maillon*) malloc(sizeof(maillon)); + + p->entier=i++; + p->suivant=NULL; + maillonPrecedent->suivant=p; + + return p; +} + +maillon* creatList(int nbElem){ + + int compteur=0; + maillon* p=(maillon*) malloc(sizeof(maillon)); + maillon *firstMail=p; + + for(compteur=0;compteursuivant=creatMail(p); + p=p->suivant; + } + return firstMail; +} + +void readList(maillon* premierMaillon){ + + maillon* p=premierMaillon; + while(p!=NULL){; + printf("%d, ",p->entier); + p=p->suivant; + } + +} + + +void delList(maillon* maillonX){ + + maillon* p; + + while(maillonX!=NULL){ + p=maillonX->suivant; + free(maillonX); + maillonX=p; + } +} + +void delLastElem(maillon* premierMaillon){ + + maillon* p=premierMaillon; + maillon* saveLast; + + while(p->suivant!=NULL){ + saveLast=p; + p=p->suivant; + } + + free(p); + saveLast->suivant=NULL; +} + +void permCircu(maillon* premierMaillon){ + + maillon* p; + int x=premierMaillon->entier; + int y=premierMaillon->suivant->entier; + + for(p=premierMaillon->suivant;p->suivant!=NULL;p=p->suivant){ + + p->entier=x; + x=y; + y=p->suivant->entier; + } + premierMaillon->entier=p->entier; + p->entier=x; +} + +int main(void){ + + maillon* premierMaillon=creatList(10); + readList(premierMaillon); + permCircu(premierMaillon); + printf("permutation circulaire:\n"); + readList(premierMaillon); + delList(premierMaillon); +return EXIT_SUCCESS; +} + + +/* + srand(time(NULL)); + int t; + + for (int l = 0; l < lim; ++l) + { + t = (rand()%888+1)+111; + printf("%d\n", t); + } +}*/ + + diff --git a/APL1.2/CM1/Débordement.c b/APL1.2/CM1/Débordement.c new file mode 100644 index 0000000..7606ade --- /dev/null +++ b/APL1.2/CM1/Débordement.c @@ -0,0 +1,36 @@ +#include +#include + +int main(int argc, char *argv[]) { + unsigned long int l; + int n = 1; + int compteur=0; + + + l=1; + + printf("Combien vaut n :"); + scanf("%d",&n); + + for (compteur=n;compteur!=0;compteur--){ + + l=l*compteur; + + } + +int valMax = sizeof(int)*255; + +printf("%d\n",valMax ); + + if (l > (sizeof(int)*255)) { /* la valeur maximum decimal d'un entier et le nombre d'octet sur lequel il est code * 255 */ + + l=l-l*compteur; + } + + + + + printf("valeur de n = %d, valeur de %d! = %lu\n", n, n, l); + return EXIT_SUCCESS; +} + diff --git a/APL1.2/CM1/Mesure b/APL1.2/CM1/Mesure new file mode 100644 index 0000000..575aec8 Binary files /dev/null and b/APL1.2/CM1/Mesure differ diff --git a/APL1.2/CM1/Mesure.c b/APL1.2/CM1/Mesure.c new file mode 100644 index 0000000..c61611a --- /dev/null +++ b/APL1.2/CM1/Mesure.c @@ -0,0 +1,24 @@ +#include +#include +#include +#include +#include + + +int main(int argc, char *argv[]){ + +struct stat tailleFichier; + +stat(argv[1],&tailleFichier); + +if(argc!=2){ + + printf("ERREUR UTILISATION: Veuillez entrer le chemin du fichier en parametre\n"); + return EXIT_FAILURE; +} + + +printf("La taille du fichier est de %ld octet(s)\n",tailleFichier.st_size); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.2/CM1/Parenthésage b/APL1.2/CM1/Parenthésage new file mode 100644 index 0000000..89438b0 Binary files /dev/null and b/APL1.2/CM1/Parenthésage differ diff --git a/APL1.2/CM1/Parenthésage.c b/APL1.2/CM1/Parenthésage.c new file mode 100644 index 0000000..479c0ee --- /dev/null +++ b/APL1.2/CM1/Parenthésage.c @@ -0,0 +1,67 @@ +#include +#include +#include + +void recupereTableau(char tableau[], int tailleTableau,char tableauFermante, char tableauOuvrante[]); +void recupereParenthese(char tableau[], int tailleTableau); + +int main(int argc, char *argv[]) { + +char* chaineDeBase; +int tailleChaineDeBase; + +printf("Veuillez entrez votre calcul\n:"); +scanf("%s",chaineDeBase); + +tailleChaineDeBase=(strlen(chaineDeBase)); + +char *tableauOuvrante; /* contiendra les '('*/ +char *tableauFermante;/* contiendra les ')'*/ + +tableauOuvrante=malloc(tailleChaineDeBase*sizeof(char)); /*Pour etre sur que le tableau puisse contenir tout les '(' present, on lui affecte la meme taille que la premiere string */ +tableauFermante=malloc(tailleChaineDeBase*sizeof(char));/*Pour etre sur que le tableau puisse contenir tout les ')' present, on lui affecte la meme taille que la premiere string */ + + +printf("%d\n%ld\n%ld\n",tailleChaineDeBase, strlen(tableauOuvrante), strlen(tableauFermante) ); + +free(tableauOuvrante); +free(tableauFermante); + return EXIT_SUCCESS; +} + + + + +void recupereTableau(char tableau[], int tailleTableau){ + +int compteur=0; + +for(compteur=0;compteur +#include +#include"biblio.h" + +double ma_sqrt(double a, int base, int n){ + + int xPrecedent=base; + double x; + int compteur=0; + for(compteur=0;compteur +#include +#include +#include"biblio.h" +/* +double recupCalcul(double a, int base,int n); +double ma_sqrt(double a, int base, int n); +*/ + +int main(int argc, char const *argv[]){ + + if(argc==4){ + int base=strtol(argv[2],NULL,10); + int n=strtol(argv[3],NULL,10); + double a=strtod(argv[1],NULL); + double retour=recupCalcul(a, base, n); + printf("Racine carrée de %lf = %lf\n",a,retour ); + do{ + scanf(" %lf %d %d",&a,&base,&n); + retour=recupCalcul(a, base, n); + if(retour!=0.0) printf("Racine carrée de %0.5lf = %lf\n",a,retour ); + }while(retour!=0.0); +}else printf("Veuillez utilisez le bon nombre de parametres\n"); +return 0; +} + + +/* +double recupCalcul(double a, int base,int n){ + + if(a>0 && base>=0 && n >=0){ + + double resultat=ma_sqrt(a,base,n); + return resultat; + }else return 0.0; +} + + + +double ma_sqrt(double a, int base, int n){ + int xPrecedent=base; + int x; + int compteur=0; + for(compteur=0;compteur +#include +#include +/* +double recupCalcul(double a, int base,int n); +double ma_sqrt(double a, int base, int n); +*/ + +int main(int argc, char const *argv[]){ + + if(argc==2){ + FILE* flux; + flux=fopen(argv[1],"w"); + + if(flux){ + int base=0; + int n=0; + double a=0.0; + do{ + scanf(" %lf %d %d",&a,&base,&n); + retour=recupCalcul(a, base, n); + if(retour!=0.0){ + printf("Racine carrée de %0.5lf = %lf\n",a,retour ); + fprintf(flux,"%lf",retour); + } + }while(retour!=0.0); + fclose(flux); + } + }else printf("Veuillez utilisez le bon nombre de parametres\n"); +return 0; +} + + +/* +double recupCalcul(double a, int base,int n){ + + if(a>0 && base>=0 && n >=0){ + + double resultat=ma_sqrt(a,base,n); + return resultat; + }else return 0.0; +} + + + +double ma_sqrt(double a, int base, int n){ + int xPrecedent=base; + int x; + int compteur=0; + for(compteur=0;compteur +#include +#include + +int main(int argc, char const *argv[]){ + + if(argc==2){ + FILE* flux; + flux=fopen(argv[1],"r"); + + if(flux){ + double valeur=0.0; + int valeurRetour=0; + while(valeur!=EOF){ + valeurRetour=fscanf(" %lf",&valeur); + printf(" %lf ",valeur); + } + fclose(flux); + } + }else printf("Veuillez utilisez le bon nombre de parametres\n"); +return 0; +} \ No newline at end of file diff --git a/APL1.2/Débordement.c b/APL1.2/Débordement.c new file mode 100644 index 0000000..7606ade --- /dev/null +++ b/APL1.2/Débordement.c @@ -0,0 +1,36 @@ +#include +#include + +int main(int argc, char *argv[]) { + unsigned long int l; + int n = 1; + int compteur=0; + + + l=1; + + printf("Combien vaut n :"); + scanf("%d",&n); + + for (compteur=n;compteur!=0;compteur--){ + + l=l*compteur; + + } + +int valMax = sizeof(int)*255; + +printf("%d\n",valMax ); + + if (l > (sizeof(int)*255)) { /* la valeur maximum decimal d'un entier et le nombre d'octet sur lequel il est code * 255 */ + + l=l-l*compteur; + } + + + + + printf("valeur de n = %d, valeur de %d! = %lu\n", n, n, l); + return EXIT_SUCCESS; +} + diff --git a/APL1.2/Image.c b/APL1.2/Image.c new file mode 100644 index 0000000..e69de29 diff --git a/APL1.2/Maximum.c b/APL1.2/Maximum.c new file mode 100644 index 0000000..ebd2d93 --- /dev/null +++ b/APL1.2/Maximum.c @@ -0,0 +1,57 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#define TAILLE 10 + +void iniTable(int tableau[],int tailleTableau); + +int main(int argc, char * argv[]){ + + int tableau[TAILLE]; + + iniTable(tableau,TAILLE); + + struct mail{ + + int valeur; + struct mail* suivant; + } + + typedef struct mail maillon; + + +return EXIT_SUCCESS; +} + + + +void iniTable(int tableau[],int tailleTableau){ + + srand(time(NULL)); + int compteur=0; + + for(compteur=0;compteurvaleur = tableau[compteur]; + + } + +} \ No newline at end of file diff --git a/APL1.2/Mesure.c b/APL1.2/Mesure.c new file mode 100644 index 0000000..c61611a --- /dev/null +++ b/APL1.2/Mesure.c @@ -0,0 +1,24 @@ +#include +#include +#include +#include +#include + + +int main(int argc, char *argv[]){ + +struct stat tailleFichier; + +stat(argv[1],&tailleFichier); + +if(argc!=2){ + + printf("ERREUR UTILISATION: Veuillez entrer le chemin du fichier en parametre\n"); + return EXIT_FAILURE; +} + + +printf("La taille du fichier est de %ld octet(s)\n",tailleFichier.st_size); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.2/Parenthésage.c b/APL1.2/Parenthésage.c new file mode 100644 index 0000000..479c0ee --- /dev/null +++ b/APL1.2/Parenthésage.c @@ -0,0 +1,67 @@ +#include +#include +#include + +void recupereTableau(char tableau[], int tailleTableau,char tableauFermante, char tableauOuvrante[]); +void recupereParenthese(char tableau[], int tailleTableau); + +int main(int argc, char *argv[]) { + +char* chaineDeBase; +int tailleChaineDeBase; + +printf("Veuillez entrez votre calcul\n:"); +scanf("%s",chaineDeBase); + +tailleChaineDeBase=(strlen(chaineDeBase)); + +char *tableauOuvrante; /* contiendra les '('*/ +char *tableauFermante;/* contiendra les ')'*/ + +tableauOuvrante=malloc(tailleChaineDeBase*sizeof(char)); /*Pour etre sur que le tableau puisse contenir tout les '(' present, on lui affecte la meme taille que la premiere string */ +tableauFermante=malloc(tailleChaineDeBase*sizeof(char));/*Pour etre sur que le tableau puisse contenir tout les ')' present, on lui affecte la meme taille que la premiere string */ + + +printf("%d\n%ld\n%ld\n",tailleChaineDeBase, strlen(tableauOuvrante), strlen(tableauFermante) ); + +free(tableauOuvrante); +free(tableauFermante); + return EXIT_SUCCESS; +} + + + + +void recupereTableau(char tableau[], int tailleTableau){ + +int compteur=0; + +for(compteur=0;compteur +#include + +void exemple(unsigned n) { + + if (n != 0) { + putchar('>'); + exemple(n-1); + putchar('<'); + } else + putchar('O'); +} + +int main(void){ + + int n=4; + exemple(n); + +return 0; +} + + diff --git a/APL1.2/fichier/Hexadécimal.c b/APL1.2/fichier/Hexadécimal.c new file mode 100644 index 0000000..9e020ef --- /dev/null +++ b/APL1.2/fichier/Hexadécimal.c @@ -0,0 +1,30 @@ +#include + +int main(int argc, char *argv[]){ + + FILE* fluxLecture; + + fluxLecture=fopen(argv[1],"r"); + + if(fluxLecture){ + + int buffer=0; + + while(!feof(fluxLecture)){ + + fread(&buffer,sizeof(char),1,fluxLecture); + printf(".%x", buffer); + } + + printf("\n"); + fclose(fluxLecture); + } + + + + + + + + return 0; +} \ No newline at end of file diff --git a/APL1.2/fichier/Numérotation.c b/APL1.2/fichier/Numérotation.c new file mode 100644 index 0000000..a4a461e --- /dev/null +++ b/APL1.2/fichier/Numérotation.c @@ -0,0 +1,53 @@ + #include + #include + + int verifRetourLigne(char chaine[], int tailleChaine); + + int main(int argc, char * argv[]){ + + if(argc!=2){ + printf("erreur parametre\n"); + } + FILE* fluxLecture; + fluxLecture=fopen(argv[1],"r"); + + if(fluxLecture){ + + char buffer[256]; + int flag=1, compteur=0; + + while(flag){ + + if(fgets(buffer,256,fluxLecture)){ //On recupere tout les caractere jusqua 256 mais on sarrette avant si on rencontre la fin du fichier ou un '\n' MAIS LE 'N' SERA INCLU + + printf("\n%s",buffer ); + printf("\n \033[0;31m%3d . \033[0m",compteur); + fputs(buffer,stdout); // on affiche grace a fputs tout ce qu'il ya jusqua un caratere de fin de chaine + + + flag=verifRetourLigne(buffer,256); //on regarde si un caractere d'echappement a été recuperer + compteur++; + + }else flag=0; + } + fclose(fluxLecture); + } + return EXIT_SUCCESS; + } + + + int verifRetourLigne(char chaine[], int tailleChaine){ + + int compteur=0; + + for(compteur=0;compteur!=tailleChaine && chaine[compteur]!='\0';compteur++){} + + if(tailleChaine==compteur){ + + compteur=0; + + }else compteur=1; + + return compteur; + + } \ No newline at end of file diff --git a/APL1.2/fichier/Tableur.c b/APL1.2/fichier/Tableur.c new file mode 100644 index 0000000..0d75b58 --- /dev/null +++ b/APL1.2/fichier/Tableur.c @@ -0,0 +1,69 @@ +#include +#include +#include + +int main(void){ + + +FILE* fluxEcriture; +fluxEcriture=fopen("t1.csv","w"); +int t1[2][5],t2[3][5],t3[5][5],compteurTableau,compteur,valeurTableau=0,compteurHorizontal=0; + + + +if(fluxEcriture){ + + + for(compteurTableau=0;compteurTableau<2;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + fprintf(fluxEcriture,"%d,",compteur); + } + fprintf(fluxEcriture,"\n"); + + } + + fclose(fluxEcriture); +} + + +if(fluxEcriture=fopen("t2.csv","w")){ + + for(compteurTableau=0;compteurTableau<3;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + fprintf(fluxEcriture,"%d,",compteur); + } + fprintf(fluxEcriture,"\n"); + } + +fclose(fluxEcriture); +} + + +if(fluxEcriture=fopen("t3.csv","w")){ + + for(compteurTableau=0;compteurTableau<5;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + if(compteur>compteurTableau){ + + fprintf(fluxEcriture,"0,"); + } else fprintf(fluxEcriture,"%d,",compteur); + + + + } + fprintf(fluxEcriture,"\n"); + + } +fclose(fluxEcriture); +} + + +return EXIT_SUCCESS; +} + diff --git a/APL1.2/fichier/ab b/APL1.2/fichier/ab new file mode 100644 index 0000000..4dfc434 --- /dev/null +++ b/APL1.2/fichier/ab @@ -0,0 +1,39 @@ +#include +#include + +int main(void){ + +int t1[2][5],t2[3][5],t3[5][5],compteurTableau,compteur,valeurTableau=0,compteurHorizontal=0; + + +for(compteurTableau=0;compteurTableau<2;compteurTableau++){ + + for(compteur=0;compteur<5;compteur++){ + + t1[compteurTableau][compteur]=compteur+1; + } +} + +printf("\n"); + +for(compteurTableau=0;compteurTableau<3;compteurTableau++){ + + for(compteur=0;compteur<5;compteur++){ + + t2[compteurTableau][compteur]=++valeurTableau; + } +} + + +for(compteurTableau=0;compteurTableau<5;compteurTableau++){ + + for(compteur=1;compteur<=5;compteur++){ + + if(compteur>compteurTableau){ + t3[compteurTableau][compteur]=0; + } else + t3[compteurTableau][compteur]=compteur; + + } + +} \ No newline at end of file diff --git a/APL1.2/fichier/fichier.txt b/APL1.2/fichier/fichier.txt new file mode 100644 index 0000000..a14c4d0 --- /dev/null +++ b/APL1.2/fichier/fichier.txt @@ -0,0 +1,6 @@ +Bonjour +ceci +est +un +test + diff --git a/APL1.2/fichier/pile.c b/APL1.2/fichier/pile.c new file mode 100644 index 0000000..aa26459 --- /dev/null +++ b/APL1.2/fichier/pile.c @@ -0,0 +1,57 @@ +#include +#include +#include + +typedef struct mail{ + char valeur; + struct mail* suivant; +}maillon; +typedef maillon* pile; + +void push(pile *p, char valeur){ + maillon* nouveauMaillon=(maillon*) malloc(sizeof(maillon)); /*Creation du nouveau maillon*/ + nouveauMaillon->valeur=valeur;/*On affecte la valeur au nouveau maillon*/ + nouveauMaillon->suivant=*p;/*p etant un pointeur sur une pile etant elle meme un pointeur sur le premier element de la pile, le nouveau maillon pointe donc sur celui pointé par p*/ + *p=nouveauMaillon;/*p doit pointer sur le nouveau dernier maillon*/ +} + +char pop(pile *p){ + maillon sauvegardeDernierMaillon=**p;/*On fait une copie du dernier maillon de la pile actuel*/ + free(*p);/*On supprime le dernier maillon de la pile */ + *p=sauvegardeDernierMaillon.suivant;/*Le pointeur de la pile doit maintenant pointer sur l'ex avant dernier maillon car ce dernier devient le nouveau dernier maillon*/ + return sauvegardeDernierMaillon.valeur;/*On retourne la valeur de l'ex dernier maillon qui a été supprimé*/ +} + +int empty(pile *p){ + if(*p==NULL){/*Si le pointeur de debut de pile pointe sur NULL, la pile est vide*/ + return 0; + }else return 1; +} + +int main(void){ + + pile p=NULL;/*IL FAUT INITIALISER LE POINTEUR DE PILE A NULL*/ + char ordre[3]=" \0"; + printf("La pile attends vos ordres "); + + while(ordre[0]!='q'){ + printf("\n> "); + scanf("%s",ordre); + + switch(ordre[0]){ + + case '+': + push(&p,ordre[1]); + printf("Le caractere %c a été ajouté",ordre[1]); + break; + + case '-': + if(empty(&p)){ + printf("Le caractere %c a été supprimé",pop(&p)); + }else printf("La pile est vide !\n"); + break; + } + } + printf("Aurevoir\n"); +return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/APL1.2/fichier/t1.csv b/APL1.2/fichier/t1.csv new file mode 100644 index 0000000..248436c --- /dev/null +++ b/APL1.2/fichier/t1.csv @@ -0,0 +1,2 @@ +1,2,3,4,5, +1,2,3,4,5, diff --git a/APL1.2/fichier/t2.csv b/APL1.2/fichier/t2.csv new file mode 100644 index 0000000..93f6a89 --- /dev/null +++ b/APL1.2/fichier/t2.csv @@ -0,0 +1,3 @@ +1,2,3,4,5, +1,2,3,4,5, +1,2,3,4,5, diff --git a/APL1.2/fichier/t3.csv b/APL1.2/fichier/t3.csv new file mode 100644 index 0000000..d477a07 --- /dev/null +++ b/APL1.2/fichier/t3.csv @@ -0,0 +1,5 @@ +0,0,0,0,0, +1,0,0,0,0, +1,2,0,0,0, +1,2,3,0,0, +1,2,3,4,0, diff --git a/APL1.2/testAvantCM b/APL1.2/testAvantCM new file mode 100644 index 0000000..e69de29 diff --git a/APL2.1/TP1_Introduction/Arguments.java b/APL2.1/TP1_Introduction/Arguments.java new file mode 100644 index 0000000..a5eb81b --- /dev/null +++ b/APL2.1/TP1_Introduction/Arguments.java @@ -0,0 +1,9 @@ +public class Arguments{ + + public static void main(String args[]){ + + for(int compteur=0;compteurthis.date.year){ + intervalle+=365*integerCmprYear-this.date.year; + intervalle+=30*this.date.month; + intervalle+=this.date.day; + }else{ + if(integerCmprMonth>this.date.month){ + intervalle+=30*this.date.month; + intervalle+=this.date.day; + }else{ + if(this.date.day "+date.toString()+" est de " +intervalle+" jours "); + } +} +//CODE NON FONCTIONEL \ No newline at end of file diff --git a/APL2.1/TP2_Classes_et_objets/Progression.java b/APL2.1/TP2_Classes_et_objets/Progression.java new file mode 100644 index 0000000..60506e2 --- /dev/null +++ b/APL2.1/TP2_Classes_et_objets/Progression.java @@ -0,0 +1,12 @@ + public class Progression{ + + public static void main(String[] args){ + Compteur objet = new Compteur(); + int compteur=0; + for(compteur=0;compteur<5;compteur++)objet.plusUn(); + for(compteur=0;compteur<4;compteur++){ + objet.plusUn(); + System.out.println(objet); + } + } + } diff --git a/APL2.1/TP2_Classes_et_objets/TestDate.class b/APL2.1/TP2_Classes_et_objets/TestDate.class new file mode 100644 index 0000000..9c6bba7 Binary files /dev/null and b/APL2.1/TP2_Classes_et_objets/TestDate.class differ diff --git a/APL2.1/TP2_Classes_et_objets/TestDate.java b/APL2.1/TP2_Classes_et_objets/TestDate.java new file mode 100644 index 0000000..34ec2e3 --- /dev/null +++ b/APL2.1/TP2_Classes_et_objets/TestDate.java @@ -0,0 +1,21 @@ +public class TestDate{ + + public static void main(String[] args){ + + Date date = new Date(); + String date1 = "2021-02-28", date2 = "2031-01-28"; + + System.out.println("\nEXERCICE 2\n---------------"); + System.out.println("La date actuelle est : "+date.toString() ); + System.out.println("La date du lendemain est : "+date.tomorowDate() ); + + System.out.println("\nEXERCICE 3\n---------------"); + System.out.println("La premiere date est "+date1); + System.out.println("La seconde date est "+date2); + + if(date.dateCompare(date1, date2)){ + System.out.println("Les deux dates sont les mêmes"); + }else System.out.println("Les deux dates sont différentes"); + } + +} \ No newline at end of file diff --git a/APL2.1/TP3_Composants_graphiques/Boutons.java b/APL2.1/TP3_Composants_graphiques/Boutons.java new file mode 100644 index 0000000..e523b5b --- /dev/null +++ b/APL2.1/TP3_Composants_graphiques/Boutons.java @@ -0,0 +1,34 @@ +import javax.swing.*; +import java.awt.*; + +public class Boutons{ + + public static void main(String[] args) { + JFrame fenetre = new JFrame(); //Objet representant la fenetre + fenetre.setSize(500, 300); //taille de la fenetre + fenetre.setLocation(0, 0); //position de la fenetre dans l'ecran + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + JButton bouton1 = new JButton("bouton 1"); + JButton bouton2 = new JButton("bouton 2"); + JButton bouton3 = new JButton("bouton 3"); + JButton bouton4 = new JButton("bouton 4"); + JButton bouton5 = new JButton("bouton 5"); + + bouton1.setHorizontalAlignment(JButton.CENTER); + fenetre.add(bouton1, BorderLayout.CENTER); + + bouton2.setHorizontalAlignment(JButton.CENTER); + fenetre.add(bouton2, BorderLayout.SOUTH); + + bouton3.setHorizontalAlignment(JButton.CENTER); + fenetre.add(bouton3, BorderLayout.NORTH); + + bouton4.setHorizontalAlignment(JButton.CENTER); + fenetre.add(bouton4, BorderLayout.WEST); + + bouton5.setHorizontalAlignment(JButton.CENTER); + fenetre.add(bouton5, BorderLayout.EAST); + + fenetre.setVisible(true); +} +} \ No newline at end of file diff --git a/APL2.1/TP3_Composants_graphiques/Choix.class b/APL2.1/TP3_Composants_graphiques/Choix.class new file mode 100644 index 0000000..301e46c Binary files /dev/null and b/APL2.1/TP3_Composants_graphiques/Choix.class differ diff --git a/APL2.1/TP3_Composants_graphiques/Choix.java b/APL2.1/TP3_Composants_graphiques/Choix.java new file mode 100644 index 0000000..0bcfad3 --- /dev/null +++ b/APL2.1/TP3_Composants_graphiques/Choix.java @@ -0,0 +1,32 @@ +import javax.swing.*; +import java.awt.*; + +public class Choix{ + + public static void main(String[] args){ + JFrame fenetre = new JFrame(); //Objet representant la fenetre + fenetre.setSize(500, 300); //taille de la fenetre + fenetre.setLocation(0, 0); //position de la fenetre dans l'ecran + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + Color vert = new Color(0,255,0); + Color noir = new Color(0,0,0); + Color gris = new Color(100,100,100); + + JRadioButton gryffondor = new JRadioButton("Gryffondor"); + JRadioButton serdaigle = new JRadioButton("Serdaigle"); + JRadioButton serpentard = new JRadioButton("Serpentard"); + + ButtonGroup groupe = new ButtonGroup(); + groupe.add(gryffondor); + groupe.add(serdaigle); + groupe.add(serpentard); + + fenetre.add(gryffondor, BorderLayout.NORTH); + fenetre.add(serdaigle, BorderLayout.CENTER); + fenetre.add(serpentard, BorderLayout.SOUTH); + + fenetre.setVisible(true); + + } +} diff --git a/APL2.1/TP3_Composants_graphiques/Contingence.java b/APL2.1/TP3_Composants_graphiques/Contingence.java new file mode 100644 index 0000000..0120398 --- /dev/null +++ b/APL2.1/TP3_Composants_graphiques/Contingence.java @@ -0,0 +1,35 @@ +import javax.swing.*; +import java.awt.*; + +public class Contingence{ + + public static void main(String[] args){ + JFrame fenetre = new JFrame(); //Objet representant la fenetre + fenetre.setSize(500, 300); //taille de la fenetre + fenetre.setLocation(0, 0); //position de la fenetre dans l'ecran + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + Color vert = new Color(0,255,0); + Color noir = new Color(0,0,0); + Color gris = new Color(100,100,100); + + JTextField champDeTexte = new JTextField("Champ de texte"); + champDeTexte.setHorizontalAlignment(JTextField.CENTER); + champDeTexte.setBackground(gris); + champDeTexte.setForeground(vert); + fenetre.add(champDeTexte, BorderLayout.SOUTH); + + JTextArea zoneDeTexte = new JTextArea("Zone de texte"); + zoneDeTexte.setBackground(noir); + zoneDeTexte.setForeground(vert); + zoneDeTexte.setLineWrap(true); + + JScrollPane scrollView = new JScrollPane(zoneDeTexte); + scrollView.createHorizontalScrollBar(); + scrollView.setVerticalScrollBarPolicy(scrollView.VERTICAL_SCROLLBAR_ALWAYS); + fenetre.add(scrollView, BorderLayout.CENTER); + + fenetre.setVisible(true); + + } +} diff --git a/APL2.1/TP3_Composants_graphiques/Saisie.class b/APL2.1/TP3_Composants_graphiques/Saisie.class new file mode 100644 index 0000000..0d47438 Binary files /dev/null and b/APL2.1/TP3_Composants_graphiques/Saisie.class differ diff --git a/APL2.1/TP3_Composants_graphiques/Saisie.java b/APL2.1/TP3_Composants_graphiques/Saisie.java new file mode 100644 index 0000000..a1fc2b5 --- /dev/null +++ b/APL2.1/TP3_Composants_graphiques/Saisie.java @@ -0,0 +1,30 @@ +import javax.swing.*; +import java.awt.*; + +public class Saisie{ + + public static void main(String[] args){ + JFrame fenetre = new JFrame(); //Objet representant la fenetre + fenetre.setSize(500, 300); //taille de la fenetre + fenetre.setLocation(0, 0); //position de la fenetre dans l'ecran + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + Color vert = new Color(0,255,0); + Color noir = new Color(0,0,0); + Color gris = new Color(100,100,100); + + JTextField champDeTexte = new JTextField("Champ de texte"); + champDeTexte.setHorizontalAlignment(JTextField.CENTER); + champDeTexte.setBackground(gris); + champDeTexte.setForeground(vert); + fenetre.add(champDeTexte, BorderLayout.SOUTH); + + JTextArea zoneDeTexte = new JTextArea("Zone de texte"); + zoneDeTexte.setBackground(noir); + zoneDeTexte.setForeground(vert); + fenetre.add(zoneDeTexte, BorderLayout.CENTER); + + + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP3_Composants_graphiques/Sirocco.java b/APL2.1/TP3_Composants_graphiques/Sirocco.java new file mode 100644 index 0000000..56c35cc --- /dev/null +++ b/APL2.1/TP3_Composants_graphiques/Sirocco.java @@ -0,0 +1,23 @@ +import javax.swing.*; +import java.awt.*; + +public class Sirocco { + public static void main(String[] args) { + // un objet pour servir de fenetre + JFrame fenetre = new JFrame(); + // on configure la fenetre + fenetre.setSize(500, 300); + fenetre.setLocation(0, 0); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + // un composant pour afficher du texte + JLabel etiquette = new JLabel("Sirocco"); + // on configure l'etiquette + etiquette.setHorizontalAlignment(JLabel.RIGHT); + etiquette.setVerticalAlignment(JLabel.BOTTOM); + + // on ajoute le composant dans la fenetre, au milieu + fenetre.add(etiquette, BorderLayout.CENTER); + // et on montre le resultat + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP4_Mise_en_page/Damier.class b/APL2.1/TP4_Mise_en_page/Damier.class new file mode 100644 index 0000000..96a007b Binary files /dev/null and b/APL2.1/TP4_Mise_en_page/Damier.class differ diff --git a/APL2.1/TP4_Mise_en_page/Damier.java b/APL2.1/TP4_Mise_en_page/Damier.java new file mode 100644 index 0000000..735d8e4 --- /dev/null +++ b/APL2.1/TP4_Mise_en_page/Damier.java @@ -0,0 +1,45 @@ +import javax.swing.*; +import java.awt.*; + + + +public class Damier{ + + public static void main(String[] args){ + + if(args.length==1){ + + Dimension dimFenetre = new Dimension(800,800); + int squareNumber = Integer.parseInt(args[0]); + int compteurColonnes=0; + boolean switchColor = false; + + JFrame fenetre = new JFrame(); //Objet representant la fenetre + fenetre.setSize(dimFenetre); //taille de la fenetre + fenetre.setLocation(0, 0); //position de la fenetre dans l'écran + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + fenetre.setMinimumSize(dimFenetre); + fenetre.setMaximumSize(dimFenetre); + + GridLayout grille = new GridLayout(squareNumber,squareNumber); + fenetre.setLayout(grille); + + for(int compteurLigne = 0;compteurLigne < squareNumber;compteurLigne++){ + + for(compteurColonnes = 0;compteurColonnes < squareNumber;compteurColonnes++) { + JLabel a = new JLabel(); + a.setOpaque(true); + + if(switchColor) a.setBackground(Color.GREEN); + fenetre.add(a); + switchColor=!switchColor; + } + if(compteurColonnes%2==0) switchColor=!switchColor; //si la taille est paire, on change l'ordre des couleurs + } + + fenetre.setVisible(true); + + }else System.out.println("Veuillez passer un seul parametre après le nom du programme"); + + } +} diff --git a/APL2.1/TP4_Mise_en_page/Question.java b/APL2.1/TP4_Mise_en_page/Question.java new file mode 100644 index 0000000..c865211 --- /dev/null +++ b/APL2.1/TP4_Mise_en_page/Question.java @@ -0,0 +1,47 @@ +import javax.swing.*; +import java.awt.*; +public class Question{ + + + public static void main(String[] args){ + + + JFrame fenetre = new JFrame(); //Objet representant la fenetre + fenetre.setSize(500,100); //taille de la fenetre + fenetre.setLocation(0, 0); //position de la fenetre dans l'ecran + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + Dimension tailleMinimalFenetre = new Dimension(300,300); + fenetre.setMinimumSize(tailleMinimalFenetre); + FlowLayout questionCentrer = new FlowLayout(FlowLayout.CENTER); + + JPanel partieSuperieur = new JPanel(); + JLabel question = new JLabel("Aimez-vous les chiens ?"); + question.setForeground(Color.BLACK); + partieSuperieur.add(question, BorderLayout.SOUTH); + question.setOpaque(true); + + + + JPanel partieInferieur = new JPanel(); + partieInferieur.setLayout(questionCentrer); + JButton boutonOui = new JButton("OUI"); + JButton boutonNon = new JButton("Non"); + JButton boutonRestant = new JButton("NSPP"); + partieInferieur.add(boutonOui); + partieInferieur.add(boutonNon); + partieInferieur.add(boutonRestant); + + GridLayout grilleCentrage = new GridLayout(10,1); + fenetre.setLayout(grilleCentrage); + for(int compteur=0;compteur < 4;compteur++)fenetre.add(new JPanel()); + + + fenetre.add(partieSuperieur); + fenetre.add(partieInferieur); + + + fenetre.setVisible(true); + + } + +} \ No newline at end of file diff --git a/APL2.1/TP4_Mise_en_page/Rose.java b/APL2.1/TP4_Mise_en_page/Rose.java new file mode 100644 index 0000000..6748d7b --- /dev/null +++ b/APL2.1/TP4_Mise_en_page/Rose.java @@ -0,0 +1,9 @@ +public class Rose{ + + public static void main(Strings[] args){ + + + + + } +} \ No newline at end of file diff --git a/APL2.1/TP5_Heritage/Documentation_int.java b/APL2.1/TP5_Heritage/Documentation_int.java new file mode 100644 index 0000000..9c5b4a0 --- /dev/null +++ b/APL2.1/TP5_Heritage/Documentation_int.java @@ -0,0 +1,10 @@ +import java.lang.Integer; + +public class Documentation_int{ + + public static void main(String[] args){ + + int a = Integer.parseInt(args[0],8); + System.out.println(Integer.toHexString(a)); + } +} \ No newline at end of file diff --git a/APL2.1/TP5_Heritage/Documentation_string.java b/APL2.1/TP5_Heritage/Documentation_string.java new file mode 100644 index 0000000..9f5c873 --- /dev/null +++ b/APL2.1/TP5_Heritage/Documentation_string.java @@ -0,0 +1,15 @@ +public class Documentation_string{ + + + public static void main(String[] args){ + + if(args.length>0){ + for(int i=0; io<",100,150); + Image image = Toolkit.getDefaultToolkit().getImage("cercles.png"); + secondPinceau.drawImage(image,10,20,this); + } + public static void main(String[] args){ + formes a = new formes(); + JFrame fenetre = new JFrame(); + fenetre.setSize(500,500); + fenetre.setLocation(100,100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + fenetre.add(a); + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/Formes.java b/APL2.1/TP6_Dessin/Formes.java new file mode 100644 index 0000000..656f9b6 --- /dev/null +++ b/APL2.1/TP6_Dessin/Formes.java @@ -0,0 +1,35 @@ +import javax.swing.*; +import java.awt.*; + +public class Formes extends JComponent{ + + private Image cercle; + + public Formes(){ + super(); + this.cercle = Toolkit.getDefaultToolkit().getImage("cercles.png"); + } + + @Override + protected void paintComponent(Graphics pinceau){ + Graphics secondPinceau = pinceau.create(); + secondPinceau.setColor(Color.GREEN); + secondPinceau.drawOval(200,200,50,50); + secondPinceau.setColor(Color.BLUE); + secondPinceau.drawRect(100,100,50,50); + secondPinceau.setColor(Color.PINK); + secondPinceau.setFont(new Font(Font.SERIF,Font.BOLD,24)); + secondPinceau.drawString(">o<",300,300); + secondPinceau.drawImage(cercle,100,400,this); + } + + public static void main(String[] args){ + JFrame fenetre = new JFrame(); + fenetre.setSize(500,500); + fenetre.setLocation(50,50); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + Formes dessin = new Formes(); + fenetre.add(dessin); + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/Sautoir.java b/APL2.1/TP6_Dessin/Sautoir.java new file mode 100644 index 0000000..85a31e5 --- /dev/null +++ b/APL2.1/TP6_Dessin/Sautoir.java @@ -0,0 +1,49 @@ +import javax.swing.*; +import java.awt.*; + +public class Sautoir extends JComponent{ + + public Sautoir(){ + super(); + } + + protected void paintComponent(Graphics pinceau){ + + Graphics secondPinceau = pinceau.create(); + + if (this.isOpaque()) + { + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + + Polygon sablier = new Polygon(); + + secondPinceau.setColor(Color.BLACK); + + //definition des differents points + sablier.addPoint(0,0);// en haut a gauche + sablier.addPoint(this.getWidth(),0); // en haut a droite + sablier.addPoint(this.getWidth()/2,this.getHeight()/2); // au millieu + sablier.addPoint(0,this.getHeight());// en bas a gauche + sablier.addPoint(this.getWidth(),this.getHeight()); //en bas a droite + + secondPinceau.fillPolygon(sablier); // on remplie le sablier + } + public static void main(String[] args){ + + JFrame fenetre = new JFrame(); + fenetre.setSize(500,500); + fenetre.setLocation(100,100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + GridLayout grille = new GridLayout(5,5); + + fenetre.setLayout(grille); + + for(int i=0; i<25; i++){ + fenetre.add(new Sautoir()); + } + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/cercles.png b/APL2.1/TP6_Dessin/cercles.png new file mode 100644 index 0000000..4713bcc Binary files /dev/null and b/APL2.1/TP6_Dessin/cercles.png differ diff --git a/APL2.1/TP6_Dessin/logScreen.jpg b/APL2.1/TP6_Dessin/logScreen.jpg new file mode 100644 index 0000000..139f222 Binary files /dev/null and b/APL2.1/TP6_Dessin/logScreen.jpg differ diff --git a/APL2.1/TP6_Dessin/panelAttente.java b/APL2.1/TP6_Dessin/panelAttente.java new file mode 100644 index 0000000..376b008 --- /dev/null +++ b/APL2.1/TP6_Dessin/panelAttente.java @@ -0,0 +1,29 @@ +import java.awt.*; +import javax.swing.* + +public class panelAttente extends JPanel{ + + int rayonCercle; + int positionCentreX; + int positionCentreY; + + public panelAttente(int rayonCercle){ + super(); + this.rayonCercle=rayonCercle; + this.getCenter(); + } + + public Position getCenter(){ + this.positionCentreX = this.getWidth()/2; + this.positionCentreY = this.getHeight()/2); + } + + protected void paintComponent(Graphics pinceau){ + Graphics secondPinceau = pinceau.create(); + if (this.isOpaque()) { + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + secondPinceau.drawOval(this.positionCentreX, this.positionCentreY,200, 200); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/Accueil.class b/APL2.1/TP6_Dessin/tp06/Accueil.class new file mode 100644 index 0000000..d8314a7 Binary files /dev/null and b/APL2.1/TP6_Dessin/tp06/Accueil.class differ diff --git a/APL2.1/TP6_Dessin/tp06/Accueil.java b/APL2.1/TP6_Dessin/tp06/Accueil.java new file mode 100644 index 0000000..00bb229 --- /dev/null +++ b/APL2.1/TP6_Dessin/tp06/Accueil.java @@ -0,0 +1,25 @@ +import javax.swing.JComponent; +import java.awt.*; + +public class Accueil extends JComponent +{ + private Image fond; + + public Accueil() + { + super(); + this.fond = Toolkit.getDefaultToolkit().getImage("login.jpg"); + } + + @Override + protected void paintComponent(Graphics pinceau) + { + Graphics secondPinceau = pinceau.create(); + if (this.isOpaque()) + { + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + secondPinceau.drawImage(this.fond, 0, 0, this); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/Cercle.java b/APL2.1/TP6_Dessin/tp06/Cercle.java new file mode 100644 index 0000000..06a217b --- /dev/null +++ b/APL2.1/TP6_Dessin/tp06/Cercle.java @@ -0,0 +1,29 @@ +import javax.swing.JComponent; +import java.awt.*; + +public class Cercle extends JComponent +{ + private Color circleColor; + + public Cercle(Color c) + { + super(); + this.circleColor = c; + } + + @Override + protected void paintComponent(Graphics pinceau) + { + Graphics secondPinceau = pinceau.create(); + if (this.isOpaque()) + { + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + + secondPinceau.setColor(circleColor); + secondPinceau.fillOval(0, 0, this.getWidth(), this.getHeight()); + secondPinceau.setColor(Color.WHITE); + secondPinceau.fillOval(this.getWidth()/4, this.getHeight()/4, this.getWidth()/2, this.getHeight()/2); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/Ex1.java b/APL2.1/TP6_Dessin/tp06/Ex1.java new file mode 100644 index 0000000..bf61de4 --- /dev/null +++ b/APL2.1/TP6_Dessin/tp06/Ex1.java @@ -0,0 +1,19 @@ +import javax.swing.*; +import java.awt.*; + +public class Ex1 +{ + public static void main(String[] args) + { + JFrame fenetre = new JFrame(); + + fenetre.setSize(500, 300); + fenetre.setLocation(100, 100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + Formes frm = new Formes(); + + fenetre.add(frm, BorderLayout.CENTER); + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/Ex2.class b/APL2.1/TP6_Dessin/tp06/Ex2.class new file mode 100644 index 0000000..856019c Binary files /dev/null and b/APL2.1/TP6_Dessin/tp06/Ex2.class differ diff --git a/APL2.1/TP6_Dessin/tp06/Ex2.java b/APL2.1/TP6_Dessin/tp06/Ex2.java new file mode 100644 index 0000000..9da8381 --- /dev/null +++ b/APL2.1/TP6_Dessin/tp06/Ex2.java @@ -0,0 +1,31 @@ +import javax.swing.*; +import java.awt.*; + +public class Ex2 +{ + public static void main(String[] args) + { + int rows = 5; + int lines = 5; + + JFrame fenetre = new JFrame(); + + fenetre.setSize(rows * 100, lines * 100); + fenetre.setMinimumSize(new Dimension(rows * 100, lines * 100)); + fenetre.setLocation(100, 100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + GridLayout layout = new GridLayout(lines, rows); + fenetre.setLayout(layout); + + for (int i = 0; i < lines; i++) + { + for (int j = 0; j < rows; j++) + { + fenetre.add(new Sablier()); + } + } + + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/Ex3.class b/APL2.1/TP6_Dessin/tp06/Ex3.class new file mode 100644 index 0000000..be856f9 Binary files /dev/null and b/APL2.1/TP6_Dessin/tp06/Ex3.class differ diff --git a/APL2.1/TP6_Dessin/tp06/Ex3.java b/APL2.1/TP6_Dessin/tp06/Ex3.java new file mode 100644 index 0000000..4e40f32 --- /dev/null +++ b/APL2.1/TP6_Dessin/tp06/Ex3.java @@ -0,0 +1,33 @@ +import javax.swing.*; +import java.awt.*; + +public class Ex3 +{ + public static void main(String[] args) + { + JFrame fenetre = new JFrame(); + + fenetre.setSize(285, 210); + fenetre.setMinimumSize(new Dimension(285, 210)); + fenetre.setLocation(100, 100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + fenetre.setLayout(null); + + Accueil acc = new Accueil(); + acc.setLocation(0, 0); + acc.setSize(285, 210); + fenetre.add(acc); + + JTextField userField = new JTextField(); + userField.setLocation(110, 90); + userField.setSize(150, 25); + fenetre.add(userField); + + JTextField passField = new JTextField(); + passField.setLocation(110, 130); + passField.setSize(150, 25); + fenetre.add(passField); + + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/Ex4.java b/APL2.1/TP6_Dessin/tp06/Ex4.java new file mode 100644 index 0000000..bb36ea2 --- /dev/null +++ b/APL2.1/TP6_Dessin/tp06/Ex4.java @@ -0,0 +1,34 @@ +import javax.swing.*; +import java.awt.*; + +public class Ex4 +{ + public static void main(String[] args) + { + + JFrame fenetre = new JFrame(); + + fenetre.setSize(500, 500); + fenetre.setMinimumSize(new Dimension(500, 500)); + fenetre.setLocation(100, 100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + GridLayout layout = new GridLayout(5, 5); + fenetre.setLayout(layout); + + int green = 0; + + for (int i = 0; i < 5; i++) + { + int blue = 0; + green += 51; + for (int j = 0; j < 5; j++) + { + blue += 51; + fenetre.add(new Cercle(new Color(0, green, blue))); + } + } + + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/Formes.java b/APL2.1/TP6_Dessin/tp06/Formes.java new file mode 100644 index 0000000..41c46d9 --- /dev/null +++ b/APL2.1/TP6_Dessin/tp06/Formes.java @@ -0,0 +1,35 @@ +import javax.swing.JComponent; +import java.awt.*; + +public class Formes extends JComponent +{ + private Image dessin; + + public Formes() + { + super(); + this.dessin = Toolkit.getDefaultToolkit().getImage("cercles.png"); + } + + @Override + protected void paintComponent(Graphics pinceau) + { + Graphics secondPinceau = pinceau.create(); + if (this.isOpaque()) + { + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + secondPinceau.drawImage(this.dessin, 10, 20, this); + + secondPinceau.setColor(Color.CYAN); + secondPinceau.drawRect(5,100,50,50); + + secondPinceau.setColor(Color.GREEN); + secondPinceau.fillOval(150,5,50,50); + + secondPinceau.setColor(new Color(173, 66, 245)); + secondPinceau.setFont(new Font("TimesRoman", Font.PLAIN, 24)); + secondPinceau.drawString(">0<", 150, 100); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/Sablier.class b/APL2.1/TP6_Dessin/tp06/Sablier.class new file mode 100644 index 0000000..fd3d290 Binary files /dev/null and b/APL2.1/TP6_Dessin/tp06/Sablier.class differ diff --git a/APL2.1/TP6_Dessin/tp06/Sablier.java b/APL2.1/TP6_Dessin/tp06/Sablier.java new file mode 100644 index 0000000..fe6c40b --- /dev/null +++ b/APL2.1/TP6_Dessin/tp06/Sablier.java @@ -0,0 +1,34 @@ +import javax.swing.JComponent; +import java.awt.*; + +public class Sablier extends JComponent +{ + public Sablier() + { + super(); + } + + @Override + protected void paintComponent(Graphics pinceau) + { + Graphics secondPinceau = pinceau.create(); + if (this.isOpaque()) + { + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + + Polygon poly1 = new Polygon(); + poly1.addPoint(0, 0); + poly1.addPoint(this.getWidth(), 0); + poly1.addPoint(this.getWidth()/2, this.getHeight()/2); + Polygon poly2 = new Polygon(); + poly2.addPoint(0, this.getHeight()); + poly2.addPoint(this.getWidth(), this.getHeight()); + poly2.addPoint(this.getWidth()/2, this.getHeight()/2); + + secondPinceau.setColor(Color.CYAN); + secondPinceau.fillPolygon(poly1); + secondPinceau.fillPolygon(poly2); + } +} \ No newline at end of file diff --git a/APL2.1/TP6_Dessin/tp06/cercles.png b/APL2.1/TP6_Dessin/tp06/cercles.png new file mode 100644 index 0000000..4713bcc Binary files /dev/null and b/APL2.1/TP6_Dessin/tp06/cercles.png differ diff --git a/APL2.1/TP6_Dessin/tp06/login.jpg b/APL2.1/TP6_Dessin/tp06/login.jpg new file mode 100644 index 0000000..139f222 Binary files /dev/null and b/APL2.1/TP6_Dessin/tp06/login.jpg differ diff --git a/APL2.1/TP7_Polymorphisme/Moto.java b/APL2.1/TP7_Polymorphisme/Moto.java new file mode 100644 index 0000000..56a88c4 --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/Moto.java @@ -0,0 +1,20 @@ +public class Moto implements Vehicule{ + + int nbRoue; + String sorte; + + public Moto(){ + this.nbRoue=2; + this.sorte="Moto"; + } + + @Override + public int nbRoues(){ + return this.nbRoue; + } + + @Override + public String sorte(){ + return this.sorte; + } +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/Moyenne.java b/APL2.1/TP7_Polymorphisme/Moyenne.java new file mode 100644 index 0000000..e50aed6 --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/Moyenne.java @@ -0,0 +1,19 @@ +public class Moyenne { + + int numberOfNumber; + double total; + + public Moyenne(){ //constructeur + } + + double public getAverage(){ + + return this.numberOfNumber/this.total; + } + + void public add(Number newNumber){ + this.numberOfNumber++; + this.total+= newNumber.doubleValue(); + } + +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/TP7/Ex1.java b/APL2.1/TP7_Polymorphisme/TP7/Ex1.java new file mode 100644 index 0000000..a344d7f --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/TP7/Ex1.java @@ -0,0 +1,22 @@ +import javax.swing.JOptionPane; + +public class Ex1 { + public static void main(String[] args) { + Vehicule v; + Object[] choix = {"Voiture", "Moto"}; + + int reponse = JOptionPane.showOptionDialog(null, + "Quel v\u00E9hicule choisissez-vous ?", + "Question", + JOptionPane.DEFAULT_OPTION, + JOptionPane.QUESTION_MESSAGE, + null, + choix, + null); + if (reponse == 0) + v = new Voiture(); + else + v = new Moto(); + System.out.println("Une "+v.sorte()+" poss\u00E8de "+v.nbRoues()+" roues."); + } +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/TP7/Ex2.java b/APL2.1/TP7_Polymorphisme/TP7/Ex2.java new file mode 100644 index 0000000..f298d20 --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/TP7/Ex2.java @@ -0,0 +1,19 @@ +public class Ex2 +{ + public static void main(String[] args) + { + short a = 5; + int b = 150; + long c = 200; + float d = 500.5f; + + Moyenne moy = new Moyenne(); + + moy.add(a); + moy.add(b); + moy.add(c); + moy.add(d); + + System.out.println("Moyenne: " + moy.getAverage()); + } +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/TP7/Moto.java b/APL2.1/TP7_Polymorphisme/TP7/Moto.java new file mode 100644 index 0000000..cd1d294 --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/TP7/Moto.java @@ -0,0 +1,12 @@ +public class Moto implements Vehicule +{ + public String sorte() + { + return "Moto"; + } + + public int nbRoues() + { + return 2; + } +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/TP7/Moyenne.java b/APL2.1/TP7_Polymorphisme/TP7/Moyenne.java new file mode 100644 index 0000000..69f284c --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/TP7/Moyenne.java @@ -0,0 +1,16 @@ +public class Moyenne +{ + int count = 0; + double all = 0; + + public void add(Number nb) + { + count++; + all += nb.doubleValue(); + } + + public double getAverage() + { + return all/count; + } +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/TP7/Vehicule.java b/APL2.1/TP7_Polymorphisme/TP7/Vehicule.java new file mode 100644 index 0000000..f298d20 --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/TP7/Vehicule.java @@ -0,0 +1,19 @@ +public class Ex2 +{ + public static void main(String[] args) + { + short a = 5; + int b = 150; + long c = 200; + float d = 500.5f; + + Moyenne moy = new Moyenne(); + + moy.add(a); + moy.add(b); + moy.add(c); + moy.add(d); + + System.out.println("Moyenne: " + moy.getAverage()); + } +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/TP7/Voiture.java b/APL2.1/TP7_Polymorphisme/TP7/Voiture.java new file mode 100644 index 0000000..e4fd78b --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/TP7/Voiture.java @@ -0,0 +1,12 @@ +public class Voiture implements Vehicule +{ + public String sorte() + { + return "Voiture"; + } + + public int nbRoues() + { + return 4; + } +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/Test.java b/APL2.1/TP7_Polymorphisme/Test.java new file mode 100644 index 0000000..2a0daee --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/Test.java @@ -0,0 +1,22 @@ +import javax.swing.JOptionPane; + +public class Test{ + public static void main(String[] args) { + Vehicule v; + Object[] choix = {"Voiture", "Moto"}; + + int reponse = JOptionPane.showOptionDialog(null, + "Quel v\u00E9hicule choisissez-vous ?", + "Question", + JOptionPane.DEFAULT_OPTION, + JOptionPane.QUESTION_MESSAGE, + null, + choix, + null); + if (reponse == 0) + v = new Voiture(); + else + v = new Moto(); + System.out.println("Une "+v.sorte()+" poss\u00E8de "+v.nbRoues()+" roues."); + } +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/Vehicule.java b/APL2.1/TP7_Polymorphisme/Vehicule.java new file mode 100644 index 0000000..09c45a0 --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/Vehicule.java @@ -0,0 +1,5 @@ +public interface Vehicule { + + int nbRoues(); + String sorte(); +} \ No newline at end of file diff --git a/APL2.1/TP7_Polymorphisme/Voiture.java b/APL2.1/TP7_Polymorphisme/Voiture.java new file mode 100644 index 0000000..f08fd34 --- /dev/null +++ b/APL2.1/TP7_Polymorphisme/Voiture.java @@ -0,0 +1,20 @@ +public class Voiture implements Vehicule{ + + int nbRoue; + String sorte; + + public Voiture(){ + this.nbRoue=4; + this.sorte="Voiture"; + } + + @Override + public int nbRoues(){ + return this.nbRoue; + } + + @Override + public String sorte(){ + return this.sorte; + } +} \ No newline at end of file diff --git a/APL2.1/TP8_Evenements/Attente.java b/APL2.1/TP8_Evenements/Attente.java new file mode 100644 index 0000000..da7c5b5 --- /dev/null +++ b/APL2.1/TP8_Evenements/Attente.java @@ -0,0 +1,86 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class Attente extends JComponent implements WindowListener +{ + + Boolean mode = true; + + @Override + protected void paintComponent(Graphics pinceau) + { + Graphics secondPinceau = pinceau.create(); + + if (this.isOpaque()) + { + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + + secondPinceau.setColor(Color.GREEN); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + + if (mode) + { + secondPinceau.setColor(Color.MAGENTA); + secondPinceau.fillOval(this.getWidth()/2-100, this.getHeight()/2-100, 200, 200); + } + else + { + Polygon top = new Polygon(); + top.addPoint(this.getWidth()/2-100, this.getHeight()/2-100); + top.addPoint(this.getWidth()/2+100, this.getHeight()/2-100); + top.addPoint(this.getWidth()/2, this.getHeight()/2); + + Polygon bottom = new Polygon(); + bottom.addPoint(this.getWidth()/2-100, this.getHeight()/2+100); + bottom.addPoint(this.getWidth()/2+100, this.getHeight()/2+100); + bottom.addPoint(this.getWidth()/2, this.getHeight()/2); + + secondPinceau.setColor(Color.GREEN); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + + secondPinceau.setColor(Color.MAGENTA); + secondPinceau.fillPolygon(top); + secondPinceau.fillPolygon(bottom); + } + } + + public void windowActivated(WindowEvent evenement) // premier plan + { + mode = true; + this.repaint(); + } + + public void windowClosed(WindowEvent evenement) // après fermeture + { + // Rien + } + + public void windowClosing(WindowEvent evenement) // avant fermeture + { + //Rien + } + + public void windowDeactivated(WindowEvent evenement) // arrière-plan + { + mode = false; + this.repaint(); + } + + public void windowDeiconified(WindowEvent evenement) // restauration + { + //Rien + } + + public void windowIconified(WindowEvent evenement) // minimisation + { + // + } + + public void windowOpened(WindowEvent evenement) // après ouverture + { + //Rien + } +} \ No newline at end of file diff --git a/APL2.1/TP8_Evenements/ChangeCouleurListener.java b/APL2.1/TP8_Evenements/ChangeCouleurListener.java new file mode 100644 index 0000000..3f3b838 --- /dev/null +++ b/APL2.1/TP8_Evenements/ChangeCouleurListener.java @@ -0,0 +1,21 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class ChangeCouleurListener implements ActionListener +{ + Color color; + JPanel panel; + + public ChangeCouleurListener(Color color, JPanel panel) + { + this.color = color; + this.panel = panel; + } + + public void actionPerformed(ActionEvent evenement) + { + panel.setBackground(color); + panel.repaint(); + } +} \ No newline at end of file diff --git a/APL2.1/TP8_Evenements/Ex1.java b/APL2.1/TP8_Evenements/Ex1.java new file mode 100644 index 0000000..6e18f71 --- /dev/null +++ b/APL2.1/TP8_Evenements/Ex1.java @@ -0,0 +1,38 @@ +import javax.swing.*; +import java.awt.*; + +public class Ex1 +{ + public static void main(String[] args) + { + JFrame fenetre = new JFrame(); + + fenetre.setSize(400, 400); + fenetre.setLocation(100, 100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JPanel fond = new JPanel(); + JPanel panel = new JPanel(); + + JButton cyan = new JButton("Cyan"); + JButton magenta = new JButton("Magenta"); + JButton jaune = new JButton("Jaune"); + + ChangeCouleurListener cyanListener = new ChangeCouleurListener(Color.CYAN, fond); + ChangeCouleurListener magentaListener = new ChangeCouleurListener(Color.MAGENTA, fond); + ChangeCouleurListener jauneListener = new ChangeCouleurListener(Color.YELLOW, fond); + + cyan.addActionListener(cyanListener); + magenta.addActionListener(magentaListener); + jaune.addActionListener(jauneListener); + + panel.add(cyan); + panel.add(magenta); + panel.add(jaune); + + fenetre.add(panel, BorderLayout.SOUTH); + fenetre.add(fond, BorderLayout.CENTER); + + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP8_Evenements/Ex2.java b/APL2.1/TP8_Evenements/Ex2.java new file mode 100644 index 0000000..e140c85 --- /dev/null +++ b/APL2.1/TP8_Evenements/Ex2.java @@ -0,0 +1,21 @@ +import javax.swing.*; +import java.awt.*; + +public class Ex2 +{ + public static void main(String[] args) + { + JFrame fenetre = new JFrame(); + + fenetre.setSize(400, 400); + fenetre.setLocation(100, 100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + Attente obj = new Attente(); + + fenetre.add(obj); + fenetre.addWindowListener(obj); + + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP8_Evenements/Ex3.java b/APL2.1/TP8_Evenements/Ex3.java new file mode 100644 index 0000000..56d9ac6 --- /dev/null +++ b/APL2.1/TP8_Evenements/Ex3.java @@ -0,0 +1,41 @@ +import javax.swing.*; +import java.awt.*; + +public class Ex3 +{ + public static void main(String[] args) + { + JFrame fenetre = new JFrame(); + + fenetre.setSize(400, 400); + fenetre.setLocation(100, 100); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JPanel fond = new JPanel(); + JPanel panel = new JPanel(); + + JRadioButton cyan = new JRadioButton("Cyan"); + JRadioButton magenta = new JRadioButton("Magenta"); + JRadioButton jaune = new JRadioButton("Jaune"); + + ButtonGroup grp = new ButtonGroup(); + grp.add(cyan); + grp.add(magenta); + grp.add(jaune); + + RadioListener listener = new RadioListener(fond); + + cyan.addActionListener(listener); + magenta.addActionListener(listener); + jaune.addActionListener(listener); + + panel.add(cyan); + panel.add(magenta); + panel.add(jaune); + + fenetre.add(panel, BorderLayout.SOUTH); + fenetre.add(fond, BorderLayout.CENTER); + + fenetre.setVisible(true); + } +} \ No newline at end of file diff --git a/APL2.1/TP8_Evenements/Radio.class b/APL2.1/TP8_Evenements/Radio.class new file mode 100644 index 0000000..bf90c82 Binary files /dev/null and b/APL2.1/TP8_Evenements/Radio.class differ diff --git a/APL2.1/TP8_Evenements/Radio.java b/APL2.1/TP8_Evenements/Radio.java new file mode 100644 index 0000000..ff0567a --- /dev/null +++ b/APL2.1/TP8_Evenements/Radio.java @@ -0,0 +1,47 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class Radio{ + + public static void main(String[] args) { + JFrame fenetre = new JFrame(); + fenetre.setSize(500,500); + fenetre.setLocation(50,50); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JPanel panneauCouleur = new JPanel(); + panneauCouleur.setBackground(Color.GRAY); + + JPanel conteneurRadioButton = new JPanel(); + conteneurRadioButton.setBackground(Color.BLACK); + + RadioListener cyanListener = new RadioListener(panneauCouleur, Color.CYAN); + RadioListener jauneListener = new RadioListener(panneauCouleur, Color.YELLOW); + RadioListener magentaListener = new RadioListener(panneauCouleur, Color.MAGENTA); + + JRadioButton cyan = new JRadioButton("cyan"); + cyan.addItemListener(cyanListener); + conteneurRadioButton.add(cyan,BorderLayout.WEST); + + JRadioButton jaune = new JRadioButton("jaune"); + jaune.addItemListener(jauneListener); + conteneurRadioButton.add(jaune,BorderLayout.CENTER); + + JRadioButton magenta = new JRadioButton("magenta"); + magenta.addItemListener(magentaListener); + conteneurRadioButton.add(magenta,BorderLayout.EAST); + + + ButtonGroup ensembleRB = new ButtonGroup(); + ensembleRB.add(cyan); + ensembleRB.add(jaune); + ensembleRB.add(magenta); + + fenetre.add(panneauCouleur, BorderLayout.CENTER); + fenetre.add(conteneurRadioButton, BorderLayout.NORTH); + + fenetre.setVisible(true); + } + +} \ No newline at end of file diff --git a/APL2.1/TP8_Evenements/RadioListener.class b/APL2.1/TP8_Evenements/RadioListener.class new file mode 100644 index 0000000..eb69a95 Binary files /dev/null and b/APL2.1/TP8_Evenements/RadioListener.class differ diff --git a/APL2.1/TP8_Evenements/RadioListener.java b/APL2.1/TP8_Evenements/RadioListener.java new file mode 100644 index 0000000..02f456d --- /dev/null +++ b/APL2.1/TP8_Evenements/RadioListener.java @@ -0,0 +1,20 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class RadioListener implements ItemListener{ + + JPanel panel; + Color couleur; + + public RadioListener(JPanel panel,Color couleur){ + this.panel=panel; + this.couleur=couleur; + } + + public void itemStateChanged(ItemEvent evenement){ + this.panel.setBackground(this.couleur); + this.panel.repaint(); + } + +} \ No newline at end of file diff --git a/APL2.1/TP9_Evenements(suite)/Cercle.class b/APL2.1/TP9_Evenements(suite)/Cercle.class new file mode 100644 index 0000000..0ffa89f Binary files /dev/null and b/APL2.1/TP9_Evenements(suite)/Cercle.class differ diff --git a/APL2.1/TP9_Evenements(suite)/Cercle.java b/APL2.1/TP9_Evenements(suite)/Cercle.java new file mode 100644 index 0000000..ce83d78 --- /dev/null +++ b/APL2.1/TP9_Evenements(suite)/Cercle.java @@ -0,0 +1,38 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class Cercle extends JComponent{ + + private int volume; + + public Cercle(){ + super(); + this.volume=0; + } + + public void setVolume(int volume){ + this.volume=volume; + } + + protected void paintComponent(Graphics pinceau){ + Graphics secondPinceau = pinceau.create(); + if (this.isOpaque()){ + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + + secondPinceau.setColor(Color.BLACK); + secondPinceau.fillRect(0,0,this.getWidth(), this.getHeight()); + + secondPinceau.setColor(Color.YELLOW); + for(int i=0;i + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/APL2.1/TP9_Evenements(suite)/volumeListener.class b/APL2.1/TP9_Evenements(suite)/volumeListener.class new file mode 100644 index 0000000..e3b70cd Binary files /dev/null and b/APL2.1/TP9_Evenements(suite)/volumeListener.class differ diff --git a/APL2.1/TP9_Evenements(suite)/volumeListener.java b/APL2.1/TP9_Evenements(suite)/volumeListener.java new file mode 100644 index 0000000..d2cc25d --- /dev/null +++ b/APL2.1/TP9_Evenements(suite)/volumeListener.java @@ -0,0 +1,39 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class volumeListener implements MouseWheelListener{ + + private int volumeValue; + private Cercle dessinCercle; + + public volumeListener(Cercle dessinCercle){ + this.volumeValue=0; + this.dessinCercle=dessinCercle; + } + + public void mouseWheelMoved(MouseWheelEvent evenement){ + + int add = this.volumeValue+evenement.getWheelRotation(); + + + if(add>=0 && add<=10){ + this.volumeValue=add; + } + + if(add>10){ + this.volumeValue=10; + } + + if(add<0){ + this.volumeValue=0; + } + System.out.println("Volume ="+this.volumeValue); + + this.dessinCercle.setVolume(this.volumeValue); + + this.dessinCercle.repaint(); + } + } + +