Se connecter avec
S'enregistrer | Connectez-vous

Gestion client

Dernière réponse : dans Programmation

Bonjour,
j'ai un gros problème avec mon code, je dois entrer des données à l'aide de fonction, de structure et de realloc, mais je ne parviens pas à retomber sur mes pattes, quelqu'un aurais-il une idée par hasard ??

  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. typedef struct
  7. {
  8. char nom[15+1];
  9. char prenom[15+1];
  10. int age;
  11. }id;
  12.  
  13. typedef struct
  14. {
  15. char rue[30+1];
  16. int num;
  17. char ville[20+1];
  18. char pays[20+1];
  19. int cp;
  20. }coo;
  21.  
  22. typedef struct
  23. {
  24. int tel;
  25. int gsm;
  26. int fax;
  27.  
  28. }cont;
  29.  
  30. typedef struct
  31. {
  32. id ident;
  33. coo coord;
  34. cont con;
  35.  
  36. }cli;
  37.  
  38. int automat(cli **,int);
  39. void consult (cli **,int);
  40.  
  41. void main (void)
  42. {
  43. cli *pclient=0;
  44. char c;
  45. int nclient,nbrclient=0;
  46. do
  47. {
  48. clrscr();
  49. gotoxy(30,5);
  50. printf("MENU PRINCIPAL");
  51. gotoxy(30,6);
  52. printf("==============");
  53. gotoxy(10,10);
  54. printf("Introduction automatisée...1");
  55. gotoxy(10,11);
  56. printf("Introducation manuelle.....2");
  57. gotoxy(10,12);
  58. printf("Consultation...............3");
  59. gotoxy(10,13);
  60. printf("Modification...............4");
  61. gotoxy(10,14);
  62. printf("Quitter....................5");
  63. gotoxy(20,17);
  64. printf("Introduisez votre choix : ");
  65.  
  66. c=getch();
  67. switch(c)
  68. {
  69. case 49:nclient=automat(&pclient,nbrclient); break;
  70. case 50:break;
  71. case 51:consult(&pclient,nclient); break;
  72. case 52:break;
  73. case 53: gotoxy(15,19);
  74. printf("Etes vous sur de vouloir quitter ? toutes progression non sauvegardée sera perdue, appuyer sur \"Q\" pour quitter");
  75. c=getch();
  76. if(c=='q' ||c=='Q') exit(0);
  77. else
  78. gotoxy(47,17);
  79. default:break;
  80. }
  81. }while(1);
  82. }
  83. int automat(cli **ppclient,int nbrclient)
  84. {
  85.  
  86. char test;
  87. int a;
  88.  
  89. clrscr();
  90. gotoxy(25,2);
  91. printf("INTRODUCTION AUTOMATISEE");
  92. gotoxy(25,3);
  93. printf("========================");
  94. gotoxy(2,5);
  95. printf("Introduisez le No de client (1-x) : ");
  96. scanf("%d",&a); getchar();
  97.  
  98. do
  99. {
  100. clrscr();
  101. if(nbrclient==0) nbrclient=a;
  102. gotoxy(25,2);
  103. printf("INTRODUCTION AUTOMATISEE");
  104. gotoxy(25,3);
  105. printf("========================");
  106. if(a>nbrclient)
  107. {
  108. if(!(*ppclient=(cli*)realloc(*ppclient,a*sizeof(cli)))) exit(0);
  109. nbrclient++;
  110. }
  111. gotoxy(2,5);
  112. clreol();
  113. printf("Client No : %d / %d",a,nbrclient);
  114. gotoxy(2,6);
  115. printf("Paramètres d'identification :");
  116. gotoxy(2,7);
  117. printf("-----------------------------");
  118. gotoxy(6,9);
  119. printf("Nom : ");
  120. gets((*ppclient[a]).ident.nom);
  121. gotoxy(6,10);
  122. printf("Prénom : ");
  123. gets((*ppclient[a]).ident.prenom);
  124. gotoxy(6,11);
  125. printf("Age : ");
  126. scanf("%d",&(*ppclient[a]).ident.age); getchar();
  127.  
  128. gotoxy(2,13);
  129. printf("Coordonnées :");
  130. gotoxy(2,14);
  131. printf("-------------");
  132. gotoxy(6,16);
  133. printf("Rue : ");
  134. gets((*ppclient[a]).coord.rue);
  135. gotoxy(6,17);
  136. printf("Numero : ");
  137. scanf("%d",&(*ppclient[a]).coord.num); getchar();
  138. gotoxy(6,18);
  139. printf("Ville : ");
  140. gets((*ppclient[a]).coord.ville);
  141. gotoxy(6,19);
  142. printf("Pays : ");
  143. gets((*ppclient[a]).coord.pays);
  144. gotoxy(40,19);
  145. printf("Code postale : ");
  146. scanf("%d",&(*ppclient[a]).coord.cp); getchar();
  147.  
  148. gotoxy(2,21);
  149. printf("Contact : ");
  150. gotoxy(2,22);
  151. printf("---------");
  152. gotoxy(6,24);
  153. printf("No Tel : ");
  154. scanf("%d",&(*ppclient[a]).con.tel); getchar();
  155. gotoxy(25,24);
  156. printf("No GSM : ");
  157. scanf("%d",&(*ppclient[a]).con.gsm); getchar();
  158. gotoxy(55,24);
  159. printf("No Fax : ");
  160. scanf("%d",&(*ppclient[a]).con.fax); getchar();
  161. gotoxy(2,25);
  162. printf("Appuyer sur \"s\" pour sortir du mode d'introduction");
  163. test=getch();
  164.  
  165. a++;
  166. }while(test!='s' && test!='S');
  167. return nbrclient;
  168. }
  169.  
  170.  
  171. void consult (cli **ppclient,int nbrclient)
  172. {
  173. char test;
  174. int a;
  175.  
  176. clrscr();
  177. gotoxy(25,2);
  178. printf("Consultation");
  179. gotoxy(25,3);
  180. printf("============");
  181. gotoxy(2,5);
  182. printf("Introduisez le No de client (1-x) : ");
  183. scanf("%d",&a); getchar();
  184. do
  185. {
  186. clrscr();
  187. gotoxy(25,2);
  188. printf("Consultation");
  189. gotoxy(25,3);
  190. printf("============");
  191. gotoxy(2,5);
  192. printf("Client No : %d / %d",a,nbrclient);
  193. gotoxy(2,6);
  194. printf("Paramètres d'identification :");
  195. gotoxy(2,7);
  196. printf("-----------------------------");
  197. gotoxy(6,9);
  198. printf("Nom : %s",(*ppclient[a]).ident.nom);
  199. gotoxy(6,10);
  200. printf("Prénom : %s",(*ppclient[a]).ident.prenom);
  201. gotoxy(6,11);
  202. printf("Age : %d",(*ppclient[a]).ident.age);
  203.  
  204. gotoxy(2,13);
  205. printf("Coordonnées :");
  206. gotoxy(2,14);
  207. printf("-------------");
  208. gotoxy(6,16);
  209. printf("Rue : %s",(*ppclient[a]).coord.rue);
  210. gotoxy(6,17);
  211. printf("Numero : %d",(*ppclient[a]).coord.num);
  212. gotoxy(6,18);
  213. printf("Ville : %s",(*ppclient[a]).coord.ville);
  214. gotoxy(6,19);
  215. printf("Pays : %s",(*ppclient[a]).coord.pays);
  216. gotoxy(40,19);
  217. printf("Code postale : %d",(*ppclient[a]).coord.cp);
  218.  
  219. gotoxy(2,21);
  220. printf("Contact : ");
  221. gotoxy(2,22);
  222. printf("---------");
  223. gotoxy(6,24);
  224. printf("No Tel : %d",(*ppclient[a]).con.tel);
  225. gotoxy(25,24);
  226. printf("No GSM : %d",(*ppclient[a]).con.gsm);
  227. gotoxy(55,24);
  228. printf("No Fax : %d",(*ppclient[a]).con.fax);
  229. gotoxy(2,25);
  230.  
  231. a++;
  232. getch();
  233. }while(a<=nbrclient);
  234. }

Autres pages sur : gestion client

Lassé par la pub ? Créez un compte

Meilleure solution

julien lemaire est un brillant informaticien que je ne connais pas, c'était juste pour avoir un point de comparaison.

En programmation, oui, je débute, cela fait un peu moins d'un an, pas contre en forum, non bien au contraire. Après cette petite altercation, j'en ai parlé avec 2 de mes profs ( de brillants professeurs ; un ingénieur en électronique et un autre en informatique ) et m'ont tout 2 dit que j'avais eu raison de poster l'entiereté du code car étant donné que je ne connaissais pas la nature réel du problème, je ne pouvais pas me permettre de le réduire, de + , pour la compréhension du code, il était préférable de faire ainsi.

Pour en revenir à mon code,

  1. # nbrclient=a;
  2. # do
  3. # {
  4. # clrscr();
  5. # // if(nbrclient==0)
  6. #
  7. # gotoxy(25,2);
  8. # printf("INTRODUCTION AUTOMATISEE" );
  9. # gotoxy(25,3);
  10. # printf("========================" );
  11. # // if(a>nbrclient)
  12. # {
  13. # if(!(*ppclient=(cli*)realloc(*ppclient,(a+1)*sizeof(cli)))) exit(0);
  14. # nbrclient++;
  15. # }


a été changé en :

  1. # nbrclient=a;
  2. # a-=1
  3. # do
  4. # {
  5. # clrscr();
  6. # // if(nbrclient==0)
  7. #
  8. # gotoxy(25,2);
  9. # printf("INTRODUCTION AUTOMATISEE" );
  10. # gotoxy(25,3);
  11. # printf("========================" );
  12. # if(a<=nbrclient)
  13. # {
  14. # if(!(*ppclient=(cli*)realloc(*ppclient,nbrclient*sizeof(cli)))) exit(0);
  15. # nbrclient++;
  16. # }


en gros, j'utilise mon nombre de client pour allouer la zone mémoire
et mon test "if(a<=nbrclient)" au cas ou je veux réintroduire en mode automatique
et le "a-=1" pour retomber sur mes pattes

de plus, j'avais un problème de notation :

  1. gets((*ppclient[a]).ident.prenom);


s'écrivait en réalité (parenthèse) :

  1. gets((*ppclient)[a].ident.prenom);


Le compilo va d'abord cherche l'adresse de pclient pour lui rajouter ensuite l'offset
Expert Programmation

Salut,

Rhoooo, du Turbo C++ ?!?!?!
Ca ne nous rajeunit pas.
¯¯¯/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
[:glublutz:11]

Dis, donc, tu viens de nous balancer 243 lignes de code à analyser, sans nous dire quel était ton problème. A nous de nous démerder, quoi. :/ 
T'as du bol, je suis de bonne humeur. :) 

Je pense que tu devrais revoir ton algorithme.

Ligne 95, tu demandes un numéro de client ou un nombre de clients ?
L'allocation de ton tableau se fait à l'intérieur de la boucle [:coyot-rtn:1]
A la place d'un tableau, je te propose de gérer une liste chaînée, voire mieux, un fichier séquentiel indexé.
(Mais ça ressemble plus à un exercice ou à un projet d'étude scolaire ou d'auto-formation qu'à une application professionnelle ;)  Alors s'il s'agit d'étudier la réallocation des tableaux, je n'ai rien dit :whistle:  ).
Utilise l'écriture p->champ plutôt que (*p).champ, c'est juste moins lourd.

c'est juste un exercice ^^
désolé pour la longueur du code mais le problème réside dans l'ensemble des commandes :p 

en fait, à la ligne 95, je demande d'introduire le numéro du client pour pouvoir ensuite à la ligne 51(fonction) accéder à sa fiche d'identité,

Le problème, c'est que quand je rentre mes données dans la fonction automat, je ne retombe pas correctement dessus dans la fonction consultation.
(je dois avoir un problème de pointeur mais je ne trouve pas(déjà plusieurs heure de recherches ^^))

Le realloc dans la boucle permet à l'utilisateur d'entrer à volonté des clients (il n'a pas à rentrer un nombre bien défini au commencement)

j'ai re-modifié quelques petit choses, mais le problème persiste
si vous pouviez m'aider, je vous en serais très reconnaissant :

  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. typedef struct
  7. {
  8. char nom[15+1];
  9. char prenom[15+1];
  10. int age;
  11. }id;
  12.  
  13. typedef struct
  14. {
  15. char rue[30+1];
  16. int num;
  17. char ville[20+1];
  18. char pays[20+1];
  19. int cp;
  20. }coo;
  21.  
  22. typedef struct
  23. {
  24. int tel;
  25. int gsm;
  26. int fax;
  27.  
  28. }cont;
  29.  
  30. typedef struct
  31. {
  32. id ident;
  33. coo coord;
  34. cont con;
  35.  
  36. }cli;
  37.  
  38. int automat(cli **,int);
  39. void consult (cli **,int);
  40.  
  41. void main (void)
  42. {
  43. cli *pclient=0;
  44. char c;
  45. int nclient,nbrclient=0;
  46. do
  47. {
  48. clrscr();
  49. gotoxy(30,5);
  50. printf("MENU PRINCIPAL");
  51. gotoxy(30,6);
  52. printf("==============");
  53. gotoxy(10,10);
  54. printf("Introduction automatisée...1");
  55. gotoxy(10,11);
  56. printf("Introducation manuelle.....2");
  57. gotoxy(10,12);
  58. printf("Consultation...............3");
  59. gotoxy(10,13);
  60. printf("Modification...............4");
  61. gotoxy(10,14);
  62. printf("Quitter....................5");
  63. gotoxy(20,17);
  64. printf("Introduisez votre choix : ");
  65.  
  66. c=getch();
  67. switch(c)
  68. {
  69. case 49:nclient=automat(&pclient,nbrclient); break;
  70. case 50:break;
  71. case 51:consult(&pclient,nclient); break;
  72. case 52:break;
  73. case 53: gotoxy(15,19);
  74. printf("Etes vous sur de vouloir quitter ? toutes progression non sauvegardée sera perdue, appuyer sur \"Q\" pour quitter");
  75. c=getch();
  76. if(c=='q' ||c=='Q') exit(0);
  77. else
  78. gotoxy(47,17);
  79. default:break;
  80. }
  81. }while(1);
  82. }
  83. int automat(cli **ppclient,int nbrclient)
  84. {
  85.  
  86. char test;
  87. int a;
  88.  
  89. clrscr();
  90. gotoxy(25,2);
  91. printf("INTRODUCTION AUTOMATISEE");
  92. gotoxy(25,3);
  93. printf("========================");
  94. gotoxy(2,5);
  95. printf("Introduisez le No de client (1-x) : ");
  96. scanf("%d",&a); getchar();
  97. nbrclient=a;
  98. do
  99. {
  100. clrscr();
  101. // if(nbrclient==0)
  102.  
  103. gotoxy(25,2);
  104. printf("INTRODUCTION AUTOMATISEE");
  105. gotoxy(25,3);
  106. printf("========================");
  107. // if(a>nbrclient)
  108. {
  109. if(!(*ppclient=(cli*)realloc(*ppclient,(a+1)*sizeof(cli)))) exit(0);
  110. nbrclient++;
  111. }
  112. gotoxy(2,5);
  113. clreol();
  114. printf("Client No : %d / %d",a,nbrclient);
  115. gotoxy(2,6);
  116. printf("Paramètres d'identification :");
  117. gotoxy(2,7);
  118. printf("-----------------------------");
  119. gotoxy(6,9);
  120. printf("Nom : ");
  121. gets((*ppclient[a]).ident.nom);
  122. gotoxy(6,10);
  123. printf("Prénom : ");
  124. gets((*ppclient[a]).ident.prenom);
  125. gotoxy(6,11);
  126. printf("Age : ");
  127. scanf("%d",&(*ppclient[a]).ident.age); getchar();
  128.  
  129. gotoxy(2,13);
  130. printf("Coordonnées :");
  131. gotoxy(2,14);
  132. printf("-------------");
  133. gotoxy(6,16);
  134. printf("Rue : ");
  135. gets((*ppclient[a]).coord.rue);
  136. gotoxy(6,17);
  137. printf("Numero : ");
  138. scanf("%d",&(*ppclient[a]).coord.num); getchar();
  139. gotoxy(6,18);
  140. printf("Ville : ");
  141. gets((*ppclient[a]).coord.ville);
  142. gotoxy(6,19);
  143. printf("Pays : ");
  144. gets((*ppclient[a]).coord.pays);
  145. gotoxy(40,19);
  146. printf("Code postale : ");
  147. scanf("%d",&(*ppclient[a]).coord.cp); getchar();
  148.  
  149. gotoxy(2,21);
  150. printf("Contact : ");
  151. gotoxy(2,22);
  152. printf("---------");
  153. gotoxy(6,24);
  154. printf("No Tel : ");
  155. scanf("%d",&(*ppclient[a]).con.tel); getchar();
  156. gotoxy(25,24);
  157. printf("No GSM : ");
  158. scanf("%d",&(*ppclient[a]).con.gsm); getchar();
  159. gotoxy(55,24);
  160. printf("No Fax : ");
  161. scanf("%d",&(*ppclient[a]).con.fax); getchar();
  162. gotoxy(2,25);
  163. printf("Appuyer sur \"s\" pour sortir du mode d'introduction");
  164. test=getch();
  165.  
  166. a++;
  167. }while(test!='s' && test!='S');
  168. return nbrclient;
  169. }
  170.  
  171.  
  172. void consult (cli **ppclient,int nbrclient)
  173. {
  174. int a;
  175.  
  176. clrscr();
  177. gotoxy(25,2);
  178. printf("Consultation");
  179. gotoxy(25,3);
  180. printf("============");
  181. gotoxy(2,5);
  182. printf("Introduisez le No de client (1-x) : ");
  183. scanf("%d",&a); getchar();
  184. do
  185. {
  186. clrscr();
  187. gotoxy(25,2);
  188. printf("Consultation");
  189. gotoxy(25,3);
  190. printf("============");
  191. gotoxy(2,5);
  192. printf("Client No : %d / %d",a,nbrclient);
  193. gotoxy(2,6);
  194. printf("Paramètres d'identification :");
  195. gotoxy(2,7);
  196. printf("-----------------------------");
  197. gotoxy(6,9);
  198. printf("Nom : %s",(*ppclient[a]).ident.nom);
  199. gotoxy(6,10);
  200. printf("Prénom : %s",(*ppclient[a]).ident.prenom);
  201. gotoxy(6,11);
  202. printf("Age : %d",(*ppclient[a]).ident.age);
  203.  
  204. gotoxy(2,13);
  205. printf("Coordonnées :");
  206. gotoxy(2,14);
  207. printf("-------------");
  208. gotoxy(6,16);
  209. printf("Rue : %s",(*ppclient[a]).coord.rue);
  210. gotoxy(6,17);
  211. printf("Numero : %d",(*ppclient[a]).coord.num);
  212. gotoxy(6,18);
  213. printf("Ville : %s",(*ppclient[a]).coord.ville);
  214. gotoxy(6,19);
  215. printf("Pays : %s",(*ppclient[a]).coord.pays);
  216. gotoxy(40,19);
  217. printf("Code postale : %d",(*ppclient[a]).coord.cp);
  218.  
  219. gotoxy(2,21);
  220. printf("Contact : ");
  221. gotoxy(2,22);
  222. printf("---------");
  223. gotoxy(6,24);
  224. printf("No Tel : %d",(*ppclient[a]).con.tel);
  225. gotoxy(25,24);
  226. printf("No GSM : %d",(*ppclient[a]).con.gsm);
  227. gotoxy(55,24);
  228. printf("No Fax : %d",(*ppclient[a]).con.fax);
  229. gotoxy(2,25);
  230.  
  231. a++;
  232. getch();
  233. }while(a<=nbrclient);
  234. }
Expert Programmation

Citation :
désolé pour la longueur du code mais le problème réside dans l'ensemble des commandes :p 
Non mais tu te fous de la gueule de qui ? Qu'est-ce qu'on en a à faire des tes gotoxy et de tes cinquante champs saisis ? Pour comprendre un problème, on le simplifie et on retire la présentation, surtout si on attend de l'aide de quelqu'un. Parce que là, j'ai l'impression que tu nous balances ton bordel en nous disant : Demerden Sie Sich.
  1. printf("Introduisez le No de client (1-x) : " ); scanf("%d",&a);
  2. nbrclient=a;
  3. do
  4. {
  5. {
  6. if(!(*ppclient=(cli*)realloc(*ppclient,(a+1)*sizeof(cli)))) exit(0);
  7. nbrclient++;
  8. }
  9. printf("Nom : " ); gets((*ppclient[a]).ident.nom);
  10. printf("Prénom : " ); gets((*ppclient[a]).ident.prenom);
  11. printf("Appuyer sur \"s\" pour sortir du mode d'introduction" );
  12. test=getch();
  13. a++;
  14. } while(test!='s' && test!='S');

Ca suffit pas comme ça, non ?

Déroulons ton programme :

Je réponds 3 à "Introduisez le No de client (1-x)".
Tu mets 3 dans nbrclient.
Tu réalloues 4 cases dans ton tableau.
Je donnes le nom et le prénom que tu mets dans la case n°3 du tableau, c'est à dire dans la dernière case.
Je ne réponds pas "s" parce que je veux continuer.
On augmente a qui contient maintenant 4.
Boucle.
Tu réalloues 5 cases dans ton tableau.
Je donnes le nom et le prénom que tu mets dans la case n°4 du tableau, c'est à dire dans la (nouvelle) dernière case.
Je réponds "s" pour stop.

  1. printf("Introduisez le No de client (1-x) : " ); scanf("%d",&a);
  2. do
  3. {
  4. printf("Client No : %d / %d",a,nbrclient);
  5. printf("Nom : %s",(*ppclient[a]).ident.nom);
  6. printf("Prénom : %s",(*ppclient[a]).ident.prenom);
  7. a++;
  8. getch();
  9. } while(a<=nbrclient);


Je demande à voir le n°3. Je ne sais pas pourquoi, mais il y a une boucle (! - moi, je ne voulais voir que le 3)
Le 3 devrait s'afficher. A la ligne 4, on me dit que le 3/3 s'affiche.
Tiens c'est bizarre. Où est le quatrième ? Ben on à fait n'importe quoi dans la procédure de saisie avec nbrclient.
Donc à la fin de la boucle on sort.

--------------------------

Fais des choses simples, et après seulement, tu compliques. :o 

je met l'entièreté du code car quand le programme m'affiche la fonction consulte , une fois sur 2 , le "nom est à NULL, si dans la structure ID j'intervertis le" nom "et le "prénom", c'est le prénom qui deviens NULL

Et je me fou de la gueule de personne, je pense que la meilleur manière de résoudre le problème est d'avoir l'entiereté du programme, je pense pas qu'il faille s'appeller Julien Lemaire pour comprendre qu'une grand partie du code n'est que de la répétition,

Je te remercie pour ton temps que tu m'as consacrer mais le "tu te fou de la gueule de qui ... " , je suis pas ton larbin ni un gosse de 18 ans qui va te lécher l'anus, alors un peu de respect stp.

mais merci quand même
Expert Programmation

Me faire faire quoi par un gosse de 18 ans ? :vomi:  beurk... ! C'est qui Julien Lemaire ? Il n'est pas inscrit sur PPC :o 

T'es débutant en programmation et en forum ? Alors laisse-moi t'apporter cette précision : la politesse est la chose la plus importante dans les échanges, aussi bien de ceux qui demandent envers ceux qui aident que dans l'autre sens. Ça, je ne me fais pas de bile, je crois que tu le sais. En revanche, la politesse étant affaire de code, il faut les connaître. Et sur un forum de programmation, ceux-ci ne sont pas les mêmes que dans la vie de tous les jours. Plus de 200 lignes de code, par exemple, c'est trop, et c'est un manque de respect dans la mesure où tu ne sembles pas avoir fais l'effort de bien cerner le problème. Je te l'ai fait remarquer dans mon premier message, mais tu récidives : c'est mal ! Alors ça m'énerve. Et c'est mon droit, d'autant que je suis le modérateur, garant du respect de cette partie du forum. Mais comme je traîne ici plus pour rendre service que pour modérer les gens, ben je t'aide. A ma décharge, je n'ai pas été nommé modérateur parce que je suis bon diplomate, mais parce que je suis généreux dans l'aide que j'apporte. D'aucuns diront qu'ils ne voient pas le rapport et que certains problèmes viennent de là [:spamafote]

----------------------

Bon, alors en simplifiant les choses, ça marche mieux, ou plus exactement tu vois une erreur ?
Expert Programmation

Arf, le coup des parenthèses ! C'est tellement pénible que justement, on a inventé la notation -> ;) 

------

Je ne sais pas comment tu juges que quelqu'un est brillant ou pas.
Pour info, j'ai un titre d'ingénieur et j'ai été prof.

Quelqu'un de brillant ... euu , ben je dirais que c'est quelqu'un qui prend le temps d'expliquer les choses correctement sans s'attarder avec de bonnes connaissance, et n'ayant pas que des connaissance dans le domaine concerné (tout ce qui s'y rapporte) , de plus, donne de son temps libre pour faire avancer les gens dans leur avenir (ah oui , pour info, je fais un gradua en informatique de gestion en cours du soir ^^ ). Le titre d'ingénieur en informatique me sera peut-être décerné un jour :-) en tout cas, la motivation y est !


merci pour ton aide ! :-)

("prof" ... :x quel idée )
Lassé par la pub ? Créez un compte