mateus Posté(e) le 6 juillet 2013 Posté(e) le 6 juillet 2013 Bonjour à tous et toutes , je souhaiterai traduite dans mon programme ceci :(trame) (setq interrupteur 0 Poser la question : Est-ce que l'implantation des candélabres vous convient? Si non Que souhaitez vous modifier? cas1 Alignement cas2 Décalage cas3 PremierCandelabre cas4 Entraxe cas5 Ecart Si c'est le cas "1" on désactive l'intérupteur pour tous les cas sauf le cas "1" Si c'est le cas "2" on désactive l'intérupteur pour tous les cas sauf le cas "2" Si c'est le cas "3" on désactive l'intérupteur pour tous les cas sauf le cas "3" Si c'est le cas "4" on désactive l'intérupteur pour tous les cas sauf le cas "4" Si c'est le cas "5" on désactive l'intérupteur pour tous les cas sauf le cas "5" Si oui setq ( = interrupteur 1) Tous mes cas sont des fonctions crées , je voudrais tous les lancer au démarrage de mon programme de façon à ce que le programme se déroule une première fois( d'où l'interrupteur à 0) Ensuite je souhaiterai poser ces questions (ci-dessous) et si jamais l'utilisateur indique qu'il souhaiterai modifier un des cas on reviendrai au cas voulu si l'utilisateur est satisfait alors interrupteur à 1 et on continue le programme. Ps: Tous les cas seraient dans une boucle "while" Voilà ce que j'ai pensé à faire, mais pour l'instant rien ne marche bien sur :/ : (defun c:MAIN ();Début de la fonction principale (setq interupteur 0) (setq = cas1 0 cas1 0 cas2 0 cas3 0 cas4 0 cas5 0 ) (while(= interupteur 0) if( = cas1 0) ( (setq alignementEnCours(c:ALIGN));récupération de la fonction "ALIGN" et mise en variable ) if( = cas2 0) ( (c:DECAL_RESEAU alignementEnCours); récupération de la fonction DECAL_RESEAU avec comme argument "alignementEnCours" ) if( = cas3 0) ( (setq premierCandelabre (getpoint"\n cliquez sur le premier candélabre ")) (setq projectionCandelabre (c:PROJECTION premierCandelabre)) ) if( = cas4 0) ( (setq entraxeCandelabre (getdist"\n Indiquez l'entraxe des candélabres ")) ) if( = cas5 0) ( (setq decalageCandelabre(getdist"\n Indiquez le décalage des candélabres")); mettre la valeur de la droite par défaut ) );fin de la fonction principal (setq question (strcase(getstring "\n L'implantation vous est t-elle satisfaisante ? [Oui / Non] <Non> "))) (cond ((or(= choix "NON") (= choix "N") (= choix "")) (progn (setq question2 (strcase(getstring "\n Que souhaitez vous modifier? [Alignement / Décalage / PremierCandélabre / Entraxe / Ecart] <Alignement> "))) ) ) ((or(= choix "OUI") (= choix "O")) (setq interrupteur 1) ) ) ) Voilà je souhaiterai avoir des explications si possible en deux temps. Les premières sur la boucle "while" qui ne fonctionne pas , et les autres sur mes questions ( la première question m'est posée et met en variable la réponse "oui" ou "non" mais ne poursuit pas avec les conditions... Merci beaucoup :) et bon week end
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant