Guest User

Untitled

a guest
Mar 17th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.46 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. void comprendre(char verbe[], char objet[]);
  6. void interpreter(char ordre[], char *verbe, char *objet);
  7. void saisie(char *ordre);
  8.  
  9. //----------------------------------------------------------------------------------------------------------------
  10.  
  11. void comprendre(char verbe[], char objet[])     // FONCTION DE COMPRÉHENSION
  12. {
  13. int i;
  14. char nom[20]={0};
  15. if(strstr(verbe, "tuer")!=NULL)         // TUER
  16.   printf("Crèves %s !!!!\n\n", objet);         // à terme on appellera la fonction tuer
  17. if(strstr(verbe, "violer")!=NULL)       // VIOLER
  18.   printf("Tu la sens %s ?!! Hein ?! Tu la sens ?!!!!!\n\n", objet);
  19. if(strstr(verbe, "parler")!=NULL)       // PARLER
  20.   printf("Putain... J'parle vraiment avec n'importe qui. Hein %s ?\n\n", objet);
  21. }
  22.  
  23. //----------------------------------------------------------------------------------------------------------------
  24.  
  25. void saisie(char *ordre)    // FONCTION DE SAISIE
  26. {
  27. gets(ordre);        // gets à remplacer car dangereuse (mais gère les espaces)
  28. }
  29.  
  30. //----------------------------------------------------------------------------------------------------------------
  31.  
  32. void interpreter(char ordre[], char *verbe, char *objet)    // FONCTION DE INTERPRÉTATION
  33. {
  34. int i, j=0;
  35. char sav[20]={0};
  36.  
  37. for(i=0;ordre[i]!=' ';i++)      // tant qu'on ne trouve pas d'espace on continu
  38.    *(verbe+i)=ordre[i];         // à copier ordre dans verbe
  39. for(i++;ordre[i]!='\0';i++,j++)     // ensuite on copie la suite de ordre
  40.    *(objet+j)=ordre[i];         // dans objet jusqu'à la fin de la chaine
  41. if(strchr(objet, 'à')!=NULL)       // si "à " au début de "objet" on le supprime
  42.   {
  43.   strcpy(sav, objet);           // on sauve objet dans sav
  44.   for(i=0;i<20;i++)         // on remplit objet de caractère null
  45.      *(objet+i)='\0';
  46.   for(i=3;sav[i]!='\0';i++)     // ensuite on copie sav dans objet à partir du 3ème caractère
  47.      *(objet+(i-3))=sav[i];     // jusqu'au caractère null (de sav)
  48.   }
  49. }
  50.  
  51. //----------------------------------------------------------------------------------------------------------------
  52.  
  53. void main()                         // FONCTION MAIN
  54. {
  55. char ordre[30]={0}, verbe[20]={0}, objet[20]={0};
  56.  
  57. saisie(ordre);                      // on entre l'ordre
  58. interpreter(ordre, verbe, objet);           // on interprète l'ordre
  59. printf("\nverbe : %s\nobjet : %s\n\n", verbe, objet);   // on affiche
  60. comprendre(verbe, objet);               // on appelle comprendre
  61. }
  62.  
  63. //----------------------------------------------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment