From b73ed0afd34cf4c57d531b7f53b893260e624ec7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20M=2E=20Thi=C3=A9ry?= <nthiery@users.sf.net>
Date: Tue, 23 Sep 2014 22:22:24 +0200
Subject: [PATCH] Premiere etape ajout suport C++; correctif de coquilles,
 accents plus systematiques

---
 U2~coding~oefprogramC.fr/introhook.phtml    |  4 +-
 U2~coding~oefprogramC.fr/src/etat_civil.oef | 93 ++++++++++++++-------
 2 files changed, 65 insertions(+), 32 deletions(-)

diff --git a/U2~coding~oefprogramC.fr/introhook.phtml b/U2~coding~oefprogramC.fr/introhook.phtml
index b5a839d..0ae6cbd 100644
--- a/U2~coding~oefprogramC.fr/introhook.phtml
+++ b/U2~coding~oefprogramC.fr/introhook.phtml
@@ -5,5 +5,5 @@
 
    <tr><td align="center">Type de programme</td>
     <td>
-      !formselect confparm2 list code,algo,random prompt  Langage C,Algorithme,Al&eacute;atoire
-    </td></tr>
\ No newline at end of file
+      !formselect confparm2 list code,code_cpp,algo,random prompt  Langage C,Langage C++,Algorithme,Al&eacute;atoire
+    </td></tr>
diff --git a/U2~coding~oefprogramC.fr/src/etat_civil.oef b/U2~coding~oefprogramC.fr/src/etat_civil.oef
index f5a9773..c9dd0c9 100644
--- a/U2~coding~oefprogramC.fr/src/etat_civil.oef
+++ b/U2~coding~oefprogramC.fr/src/etat_civil.oef
@@ -1,4 +1,4 @@
-\title{Etat civil}
+\title{État civil}
 \language{fr}
 \author{Mathieu Clément-Ziza}
 \email{clementm@necker.fr}
@@ -6,18 +6,18 @@
 \text{C=C_etat_civil}
 
 
-\text{code_celibataire=randitem(celibataire, marie)}
+\text{code_celibataire=randitem(célibataire, marié)}
 
-<!-- Il faut que le source soit logique en fonctin de la question 2 (celibataire ou marié) -->
-\text{code_etat1=\code_celibataire issametext celibataire ?Mademoiselle : Madame}
-\text{code_etat2=\code_celibataire issametext celibataire ?Madame : Mademoiselle}
+<!-- Il faut que le source soit logique en fonction de la question 2 (célibataire ou marié) -->
+\text{code_etat1=\code_celibataire issametext célibataire ? Mademoiselle : Madame}
+\text{code_etat2=\code_celibataire issametext célibataire ? Madame : Mademoiselle}
 
 \text{code_oui1=randitem(Oui,OUI)}
 \text{faux_oui1=\code_oui1 issamecase Oui ? OUI : Oui}
 \text{code_oui2=randitem(Oui,OUI)}
 \text{nom=randitem(Trucmuche,Trucmachin)}
 
-<!-- Code C de l'ennocé-->
+<!-- Code C de l'énoncé -->
 \text{code_c= <pre style="background-color:#F0FFFF; color:red;">
 #include&#60;stdio.h>
 #include&#60;string.h>
@@ -28,17 +28,17 @@ int main(void)
    char reponse2[4];
    char etat[14];
    char nom[30];
-   printf("Etes vous de sexe masculin ? ");
+   printf("Êtes vous de sexe masculin ? ");
    scanf("%s",reponse1);
    if (strcmp(reponse1,"oui") == 0 || strcmp(reponse1,"\code_oui1") == 0)
       strcpy(etat,"Monsieur");
    else
    {
-      printf("Etes-vous \code_celibataire ? ");
+      printf("Êtes-vous \code_celibataire ? ");
       scanf("%s",reponse2);
-      if (strcmp(reponse2,"oui")==0 || strcmp(reponse2,"\code_oui2")==0) 
+      if (strcmp(reponse2,"oui")==0 || strcmp(reponse2,"\code_oui2")==0)
          strcpy(etat,"\code_etat1");
-      else 
+      else
          strcpy(etat,"\code_etat2");
    }
    printf("Bonjour %s\n",etat);
@@ -51,26 +51,58 @@ int main(void)
 </pre>
 }
 
-<!-- algogrithme-->
+<!-- Code C++ de l'énoncé -->
+\text{code_cpp= <pre style="background-color:#F0FFFF; color:red;">
+#include &#60;iostream>
+#include &#60;string>
+using namespace std;
+
+int main(void) {
+    string reponse1;
+    string reponse2;
+    string etat;
+    string nom;
+    cout << "Êtes vous de sexe masculin ? ";
+    cin >> reponse1;
+    if (reponse1 == "oui" or reponse1 == "\code_oui1") {
+        etat = "Monsieur";
+    } else {
+        cout << "Êtes-vous \code_celibataire ? ";
+        cin >> reponse2;
+        if ( reponse2 == "oui" or reponse2 == "\code_oui2")
+            etat = "\code_etat1";
+        else
+            etat = "\code_etat2";
+    }
+    cout << "Bonjour: " << etat << endl;
+    cout << "Quel est votre nom ? ";
+    cin >> nom;
+    cout << "Au revoir " << etat << " " nom << endl;
+    return 0;
+}
+</pre>
+}
+
+<!-- algorithme-->
 \text{algo= <pre style="background-color:#F0FFFF; color:red">
 
 <b>DEBUT DE PROGRAMME</b>
 
-     Afficher ("etes vous de sexe masculin")
+     Afficher ("Êtes vous de sexe masculin")
    <b>SI</b> reponse est "oui" OU "\code_oui1"
     	Copier la chaîne "Monsieur" dans etat
    <b>SINON</b>
-       Afficher ("Etes-vous \code_celibataire ? ")
-       <b>SI</b> reponse est "oui" OU "\code_oui2"
-       		Copier la chaîne "\code_etat1" dans etat 
+       Afficher ("Êtes-vous \code_celibataire ? ")
+       <b>SI</b> réponse est "oui" OU "\code_oui2"
+       		Copier la chaîne "\code_etat1" dans etat
        <b>SINON </b>
         	Copier la chaîne "\code_etat2" dans etat
    <b>Fin SINON</b>
-    
+
    Afficher ("Bonjour [etat]")
    Afficher ("Quel est votre nom ?")
-   Afficher ("Au revoir [etat] [nom]")   
-   
+   Afficher ("Au revoir [etat] [nom]")
+
 <b>FIN DE PROGRAMME</b>
 </pre>
 }
@@ -101,7 +133,7 @@ oui,\nom,0
 \matrix{sortie=wims( exec bioinfo  \C \code_oui1 \code_oui2  \code_etat1 \code_etat2 \code_celibataire \entree[1;1] \entree[1;2] \entree[1;3] )}
 
 
-<!-- Il faut choisir le deuxième choix de façon à ce qu'il soit différent du premier --> 
+<!-- Il faut choisir le deuxième choix de façon à ce qu'il soit différent du premier -->
 \text{ok=0}
 \text{i=2}
 \while{\ok < 1}{
@@ -115,7 +147,7 @@ oui,\nom,0
 	\integer{i=\i+1}
 }
 
-<!-- Il faut choisir le 3ème choix de façon à ce qu'il soit différent du 1er et du 2?me --> 
+<!-- Il faut choisir le 3ème choix de façon à ce qu'il soit différent du 1er et du 2ème -->
 \text{ok=0}
 \while{\ok < 1}{
 	\matrix{temp=\M[\rows_entree[\i];]}
@@ -129,7 +161,7 @@ oui,\nom,0
 	\integer{i=\i+1}
 }
 
-<!-- Détermination au hasard de la bonne combinaison parmis les 3 sélectionner au hasard -->
+<!-- Détermination au hasard de la bonne combinaison parmi les trois sélectionnées au hasard -->
 \integer{solution=random(1..3)}
 
 <!-- Gestion de l'enoncé-->
@@ -141,12 +173,13 @@ oui,\nom,0
 
 \text{code=\confparm2 issametext algo?\algo:randitem(\algo,\code_c)}
 \text{code=\confparm2 issametext code?\code_c}
+\text{code=\confparm2 issametext code_cpp?\code_cpp}
 
 <!-- Affichage-->
 \statement{
 <!-- Enoncé-->
-<p>Lors de l'exécution de ce programme, par saisie clavier, 
-l'utitlisateur a répondu successivement \enonce. 
+<p>Lors de l'exécution de ce programme, par saisie clavier,
+l'utilisateur a répondu successivement \enonce.
 Quels seront les affichages à l'écran?
 
 <!-- Tableau : à gauche le code C, à droite le QCM -->
@@ -157,7 +190,7 @@ Quels seront les affichages 
 				<!-- Affichage du Code C -->
 				\special{expandlines \code}
 			</td>
-				
+
 				<!-- Mis en forme html du QCM -->
 			<td>
 				<table align="center" border="1">
@@ -169,7 +202,7 @@ Quels seront les affichages 
 							<pre>\sortie[1;]</pre>
 						</td>
 					</tr>
-					
+
 					<tr>
 						<td>
 							\embed{reply1,2}
@@ -178,7 +211,7 @@ Quels seront les affichages 
 							<pre>\sortie[2;]</pre>
 						</td>
 					</tr>
-					
+
 					<tr>
 						<td>
 							\embed{reply1,3}
@@ -187,11 +220,11 @@ Quels seront les affichages 
 							<pre>\sortie[3;]</pre>
 						</td>
 					</tr>
-				</table>	
-			</td>	
-			
+				</table>
+			</td>
+
 		</tr>
 	</table>
 }
-	
+
 \answer{}{\solution;A,B,C}{type=click}
-- 
GitLab