From d4accf1ec68dba597141ef1765c99581ce5655be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20M=2E=20Thi=C3=A9ry?= <nthiery@users.sf.net>
Date: Thu, 11 Dec 2014 00:01:27 +0100
Subject: [PATCH] WIMS: support pour les programmes dont on doit deviner
 l'entree

---
 test~coding~readingCppPrograms.fr/INDEX       |  4 ++--
 test~coding~readingCppPrograms.fr/Makefile    | 20 +++++++++++--------
 test~coding~readingCppPrograms.fr/README      | 13 ++++++++++++
 .../data/io_basic_input.cpp                   |  0
 ...{tableaux_doubles_1.cpp => vector2D_1.cpp} |  0
 ...{tableaux_doubles_2.cpp => vector2D_2.cpp} |  0
 ...{tableaux_doubles_3.cpp => vector2D_3.cpp} |  0
 ...{tableaux_doubles_4.cpp => vector2D_4.cpp} |  0
 ...{tableaux_doubles_5.cpp => vector2D_5.cpp} |  0
 ...{tableaux_doubles_6.cpp => vector2D_6.cpp} |  0
 ...leaux_doubles_det.cpp => vector2D_det.cpp} |  0
 ...doubles_loop_1.cpp => vector2D_loop_1.cpp} |  0
 ...doubles_loop_2.cpp => vector2D_loop_2.cpp} |  0
 ...doubles_loop_3.cpp => vector2D_loop_3.cpp} |  0
 .../{guess_output.cpp => read_program.cpp}    |  0
 15 files changed, 27 insertions(+), 10 deletions(-)
 rename choose_input/data/io-basic.cpp => test~coding~readingCppPrograms.fr/data/io_basic_input.cpp (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_1.cpp => vector2D_1.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_2.cpp => vector2D_2.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_3.cpp => vector2D_3.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_4.cpp => vector2D_4.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_5.cpp => vector2D_5.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_6.cpp => vector2D_6.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_det.cpp => vector2D_det.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_loop_1.cpp => vector2D_loop_1.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_loop_2.cpp => vector2D_loop_2.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_loop_3.cpp => vector2D_loop_3.cpp} (100%)
 rename test~coding~readingCppPrograms.fr/src/cpp/{guess_output.cpp => read_program.cpp} (100%)

diff --git a/test~coding~readingCppPrograms.fr/INDEX b/test~coding~readingCppPrograms.fr/INDEX
index 9f495c4..4bc9d25 100644
--- a/test~coding~readingCppPrograms.fr/INDEX
+++ b/test~coding~readingCppPrograms.fr/INDEX
@@ -2,10 +2,10 @@
 # Do not edit by hand.
 
 title=Exercices de programmation C++
-description=quelques exercices de lecture et interprétation de programmes en C++.
+description=quelques exercices de lecture et interprétation de programmes en C++
 language=fr
 category=oef, exercise
-domain=programming, 
+domain=programming,
 level=U1
 keywords=C++
 require=
diff --git a/test~coding~readingCppPrograms.fr/Makefile b/test~coding~readingCppPrograms.fr/Makefile
index c89cd53..b854647 100644
--- a/test~coding~readingCppPrograms.fr/Makefile
+++ b/test~coding~readingCppPrograms.fr/Makefile
@@ -1,7 +1,7 @@
 PROGRAMS=$(wildcard data/*.cpp)
-OUTPUT=$(PROGRAMS:%=%.output)
-TARGETS=variable if loop function
-all: data/index $(OUTPUT)
+ANSWER=$(PROGRAMS:%=%.answer)
+TARGETS=$(shell cd data; ls *.cpp | cut -d '_' -f 1 - | sort | uniq)
+all: data/index $(ANSWER)
 
 data/index: $(PROGRAMS)
 	cd data; \
@@ -10,18 +10,22 @@ data/index: $(PROGRAMS)
 	    (echo "$$target: "`ls -m $${target}_*.cpp`) >> index; \
 	done
 
-data/%.output: data/%.bin
-	./$< > $@
+data/%.answer: data/%.bin
+	if echo $< | grep -q _input.cpp; then \
+	    for i in `seq 0 99`; do if [ x`echo $$i | $<` = 'x42' ]; then echo $$i; fi; done > $@;           \
+	else           \
+	    ./$< > $@; \
+	fi
 
 data/%.cpp.bin: data/%.cpp
-	g++ $< -o $@
+	g++ -Wall -Wno-sign-compare -Wno-unused-value -pedantic -std=c++11 $< -o $@
 
 clean:
-	rm data/*.bin data/*.output data/index
+	rm data/*.bin data/*.answer data/index
 
 # Pour restauration
 archive:
-	cd ..; tar zcvf /tmp/modtool-test~coding~readingCppPrograms.fr.tgz test~coding~readingCppPrograms.fr
+	cd ..; tar zcf /tmp/modtool-test~coding~readingCppPrograms.fr.tgz test~coding~readingCppPrograms.fr
 
 #main.oef: header.oef programs/guess-output/*.cpp footer.oef Makefile
 #	cd programs/guess-output; make all.oef
diff --git a/test~coding~readingCppPrograms.fr/README b/test~coding~readingCppPrograms.fr/README
index 2c3ad74..853af47 100644
--- a/test~coding~readingCppPrograms.fr/README
+++ b/test~coding~readingCppPrograms.fr/README
@@ -28,3 +28,16 @@ en changeant le nom.
    doit être répétée à chaque fois que les fichiers sources sont modifiés). 
 
 
+%%%%
+
+Le répertoire data/ contient des programmes C++. Le nom des programmes
+est de la forme <theme>_nom.cpp ou <theme>_nom_input.cpp.
+
+Dans le premier cas, l'utilisateur doit deviner la sortie du
+programme. Dans le second cas, le programme doit lire un entier entre
+0 et 99 sur l'entrée standard, et l'utilisateur doit deviner lequel
+donne 42; pour l'instant il doit être unique.
+
+Mise à jour de l'exercice sur WIMS:
+
+wims.u-psud.fr -> serveur de l'université -> Accueil WIMS -> modtools -> login -> Restauration
diff --git a/choose_input/data/io-basic.cpp b/test~coding~readingCppPrograms.fr/data/io_basic_input.cpp
similarity index 100%
rename from choose_input/data/io-basic.cpp
rename to test~coding~readingCppPrograms.fr/data/io_basic_input.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_1.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_1.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_1.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_1.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_2.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_2.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_2.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_2.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_3.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_3.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_3.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_3.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_4.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_4.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_4.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_4.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_5.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_5.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_5.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_5.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_6.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_6.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_6.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_6.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_det.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_det.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_det.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_det.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_1.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_loop_1.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_1.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_loop_1.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_2.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_loop_2.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_2.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_loop_2.cpp
diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_3.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_loop_3.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_3.cpp
rename to test~coding~readingCppPrograms.fr/data/vector2D_loop_3.cpp
diff --git a/test~coding~readingCppPrograms.fr/src/cpp/guess_output.cpp b/test~coding~readingCppPrograms.fr/src/cpp/read_program.cpp
similarity index 100%
rename from test~coding~readingCppPrograms.fr/src/cpp/guess_output.cpp
rename to test~coding~readingCppPrograms.fr/src/cpp/read_program.cpp
-- 
GitLab