From f61ee77c30c72ea7aa42b169bd8fee8af7567b8b Mon Sep 17 00:00:00 2001 From: Avrillon Samy Date: Mon, 11 Oct 2021 10:06:26 +0200 Subject: [PATCH] Un peu de C maintenant ! --- C2.md | 13 ++++++++++--- C3.1.c | 5 +++++ C3.2.c | 6 ++++++ C3.3.c | 6 ++++++ C3.4.c | 6 ++++++ C3.5.c | 11 +++++++++++ C4.1.c | 8 ++++++++ C4.2.c | 10 ++++++++++ C4.3.c | 14 ++++++++++++++ C4.4.c | 15 +++++++++++++++ C4.5.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ C4.6.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 2 ++ 13 files changed, 191 insertions(+), 3 deletions(-) create mode 100644 C3.1.c create mode 100644 C3.2.c create mode 100644 C3.3.c create mode 100644 C3.4.c create mode 100644 C3.5.c create mode 100644 C4.1.c create mode 100644 C4.2.c create mode 100644 C4.3.c create mode 100644 C4.4.c create mode 100644 C4.5.c create mode 100644 C4.6.c create mode 100644 Makefile diff --git a/C2.md b/C2.md index cbd3d3d..f0c8b01 100644 --- a/C2.md +++ b/C2.md @@ -7,12 +7,19 @@ C 2 3. Sur les PC de l'ENS: version `7.5.0` ### Exercice 2 ``` -gcc test.c -./a.out +savrillo@slsu1-07:/tmp$ gcc test.c -o hello +savrillo@slsu1-07:/tmp$ ./hello +hellosavrillo@slsu1-07:/tmp$ +savrillo@slsu1-07:/tmp$ ``` ### Exercice 3 - +- **-o** Définit le nom du fichier de sortie du programme +- **-Wall** Tout les *warnings* affichables sont affichés +- **-g** Rajoute les informattion de débogage au fichier de sortie. +- **-pedantic** Demande au programme de compiler les programmes de manière trèèès rigoureuse, exactement comme demandé par la spécification du C/C++ +- **-Werror** Demande au programme de traiter les *warnings* comme des erreurs (stopper la compilation). +- **-O0** Définit le niveau d'optimisation à 0: Le code est alors plus gros, moins rapide mais plus facilement déboggable. ### Exercice 4 RAS diff --git a/C3.1.c b/C3.1.c new file mode 100644 index 0000000..f125520 --- /dev/null +++ b/C3.1.c @@ -0,0 +1,5 @@ +#include + +int main() { + printf("Bonjour, il fait beau aujourd'hui.\n"); +} diff --git a/C3.2.c b/C3.2.c new file mode 100644 index 0000000..460cf36 --- /dev/null +++ b/C3.2.c @@ -0,0 +1,6 @@ +#include +int main() { + int val; + scanf("%d", &val); + printf("%d\n",val); +} diff --git a/C3.3.c b/C3.3.c new file mode 100644 index 0000000..8ac7f07 --- /dev/null +++ b/C3.3.c @@ -0,0 +1,6 @@ +#include +int main(){ + char ch; + scanf("%c",&ch); + printf("%c\n",ch); +} diff --git a/C3.4.c b/C3.4.c new file mode 100644 index 0000000..9506af4 --- /dev/null +++ b/C3.4.c @@ -0,0 +1,6 @@ +#include +int main(){ + float dble; + scanf("%f",&dble); + printf("%f\n",dble); +} diff --git a/C3.5.c b/C3.5.c new file mode 100644 index 0000000..35fe110 --- /dev/null +++ b/C3.5.c @@ -0,0 +1,11 @@ +#include +int main() { + printf("Pourriez-vous entre (séparés par une espace) vos initiales sur deux caractères, votre âge et votre taille en mètres avec deux décimales SVP : "); + char initiales[2]; + int age; + float taille; + scanf("%c%c %d %f", initiales, initiales+1, &age, &taille); + printf("Vos initiales sont \"%c%c\"\n",initiales, initiales+1); + printf("Votre âge est %d\n", age); + printf("Vous mesurez %f mètres\n", taille); +} diff --git a/C4.1.c b/C4.1.c new file mode 100644 index 0000000..a2442c1 --- /dev/null +++ b/C4.1.c @@ -0,0 +1,8 @@ +#include + +int main() { + int n; + printf("Votre âge s'il vous plait : "); + scanf("%d", &n); + printf((n>=18)?"Vous êtes majeur.\n":"\nVous n'êtes pas majeur\n"); +} diff --git a/C4.2.c b/C4.2.c new file mode 100644 index 0000000..43a3a41 --- /dev/null +++ b/C4.2.c @@ -0,0 +1,10 @@ +#include +int main() { + int n; + printf("Votre n ? "); + scanf("%d", &n); + + for(int i=0; i<=n; i++){ + printf("%d\n", i); + } +} diff --git a/C4.3.c b/C4.3.c new file mode 100644 index 0000000..e78b7c9 --- /dev/null +++ b/C4.3.c @@ -0,0 +1,14 @@ +#include +int main(){ + int n; + printf("Votre n ? "); + scanf("%d", &n); + + int s0=0; + int s1=1; + for(int i=0;i<=n;i++){ + s1 = s0 + s1; + s0 = s1 - s0; + printf("%d: %d\n",i, s0); + } +} diff --git a/C4.4.c b/C4.4.c new file mode 100644 index 0000000..504c871 --- /dev/null +++ b/C4.4.c @@ -0,0 +1,15 @@ +#include +int main(){ + int n; + int estP; + printf("Votre n ? "); + scanf("%d", &n); + + for(int i=2;i<=n;i++){ + estP = 1; + for(int j=2;j*j<=i && estP;j++){ + estP = !(i%j==0); + } + if(estP)printf("%d est premier\n", i); + } +} diff --git a/C4.5.c b/C4.5.c new file mode 100644 index 0000000..bbc1761 --- /dev/null +++ b/C4.5.c @@ -0,0 +1,44 @@ +#include +int main() { + char choix; + int nmax; + int ndevine; + int nprop; + while(1){ + do{ + printf("Bienvenue au Koikecélenombre !\n" + "1: très facile\n" + "2: facile\n" + "3: difficile\n" + "4: très difficile\n" + "5: expert\n" + "q: quitter l'application\n" + "Votre choix : "); + scanf("%c", &choix); + printf("\n"); + if(choix=='q')return 0; + nmax=0; + if(choix=='1')nmax=10; + else if(choix=='2')nmax=20; + else if(choix=='3')nmax=50; + else if(choix=='4')nmax=100; + else if(choix=='5')nmax=500; + }while(nmax==0); + do{ + printf("Ami, donnez votre nombre : "); + scanf("%d", &ndevine); + }while(nmaxndevine); + + //for(int i=0; i<420; i++){printf("\n");} + nprop=0; + printf("\033[2JMaintenant, joueur, faites vos propositions.\n"); + for(int j=1; nprop!=ndevine; j++){ + printf("Je pense que c'est le "); + scanf("%d", &nprop); + if(nprop +#include +#include +int main() { + + int val; + printf("Pose de la bombe.\n"); + for(int i=10; i>0; i--){ + printf("%d\n", i); + sleep(1); + } + printf("BOOOOOM\n"); + printf("Maintenant, vous êtes au purgatoire. Quand votre file d'attente se libèrera, votre destination sera choisie en fonction de critères arbitraires.\n"); + int out = 0; + while(!out){ + sleep(1); + val = rand(); + printf("Vous attendez encore dans le purgatoire.\n"); + switch(val%42){ + case 3: + printf("Une faille spatio-temporelle vous fait avancer de 5 minutes dans le temps. Vous avez ptet loupé votre chance.\n"); + break; + case 21: + printf("5 personnes viennent d'arriver.\n"); + break; + case 23: + printf("Une classe de maternelle vient d'arriver.\n"); + break; + case 12: + printf("Un vendeur de petit cahier noirs sur lesquels il est inscrit デスノート vous aborde. Vous le repoussez\n"); + break; + case 36: + printf("C'est votre tour ! Ah ben non...."); + break; + case 18: + printf("Un individu vous propose des cours de Brainfuck. Quel dommage, vous conaissez déjà.\n"); + break; + case 8: + printf("Un homme annonce qu'il parle le Java. Il monte directement au paradis. Devriez-vous faire pareil ?\n"); + break; + case 32: + printf("C'est votre tour ! Vous vous envolez enfin pour le paradis. Quel ennui.\n"); + out = 1; + case 0: + printf("C'est votre tour ! Vous décenderez en enfer ! Ça c'est métal !\n"); + out = 1; + default: + printf("Rien ne se passe\n"); + } + } + printf("Vous êtes arrivés à destination.\n"); + printf("Merci de votre visite (comme si vous aviez le choix)\n"); + printf("Ce purgatoire vous était proposé par PURGASOFT *le purgatoire, autrement*\n"); +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5530e5b --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +%: %.c + gcc $@.c -g -O0 -Wall -o /tmp/$*