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éatoire - </td></tr> \ No newline at end of file + !formselect confparm2 list code,code_cpp,algo,random prompt Langage C,Langage C++,Algorithme,Alé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<stdio.h> #include<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 <iostream> +#include <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