From 057207d8c07549aa5d37005239c23df8b73651f0 Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@hesge.ch>
Date: Thu, 19 Sep 2019 22:12:46 +0200
Subject: [PATCH] added base_2 stuff and makefile

---
 Makefile  |  5 ++++-
 base_2.md | 35 ++++++++++++++++++++++++++++++++---
 2 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index c30ea66..1c73470 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ HTMLOPTIONS += -t html5
 HTMLOPTIONS += -c css/styling.css
 HTMLOPTIONS += --self-contained
 
-all: base_1.pdf intro.pdf index.html
+all: base_2.pdf base_1.pdf intro.pdf index.html
 
 intro.pdf: intro.md *.theme
 	pandoc -t beamer -o $@ $<
@@ -18,6 +18,9 @@ intro.pdf: intro.md *.theme
 base_1.pdf: base_1.md *.theme
 	pandoc -t beamer -o $@ $<
 
+base_2.pdf: base_2.md *.theme
+	pandoc -t beamer -o $@ $<
+
 index.html: index.md
 	pandoc -s $(OPTIONS) $(HTMLOPTIONS) -o $@ $<
 
diff --git a/base_2.md b/base_2.md
index ff6c7d6..b3f34fc 100644
--- a/base_2.md
+++ b/base_2.md
@@ -1,3 +1,8 @@
+% Programmation séquentielle en C
+% Base II - Inspirés des slides de F. Glück
+% 25 septembre 2019
+
+
 # Les fonctions (1/N)
 
 - Chaque partie indépendante d'un programme se met dans une fonction.
@@ -62,13 +67,37 @@
     }
     ```
 
-# Les fonctions (4/N)
+# La fonction `main()` (1/N)
 
-## La fonction `main`
+## Généralités
 
 - Point d'entrée du programme.
 - Retourne le code d'erreur du programme:
     - 0: tout s'est bien passé.
     - Pas zéro: problème.
 - La valeur de retour peut être lue par le shell qui a exécuté le programme.
-- `EXIT_SUCCESS`{.C} et `EXIT_FAILURE`{.C} (de `stdlib.h`) sont des valeurs de retour **portables** de programmes C. 
\ No newline at end of file
+- `EXIT_SUCCESS`{.C} et `EXIT_FAILURE`{.C} (de `stdlib.h`) sont des valeurs de retour **portables** de programmes C. 
+
+# La fonction `main()` (2/N)
+
+## Exemple
+
+```C
+int main() {
+    // ...
+    if (error)
+	    return EXIT_FAILURE;
+    else
+	    return EXIT_SUCCESS;
+}
+```
+
+- Le code d'erreur est lu dans le shell avec `$?`{.bash}
+
+```bash
+$ ./prog
+$ echo $?
+0 # tout s'est bien passé par exemple
+$ if [ $? -eq 0 ]; then echo "OK" ; else echo "ERROR"; fi
+ERROR # si tout s'est mal passé
+```
-- 
GitLab