Advertisement
Guest User

code c

a guest
Jun 25th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int A=7;
  4. typedef struct caractere
  5. {
  6. char car;
  7. struct caractere * suivcar;
  8. }caractere ;
  9. typedef caractere * ptrcar;
  10. typedef struct ligne
  11. {
  12. caractere * lig;
  13. struct ligne * suivlig;
  14. }ligne ;
  15. typedef ligne * ptrlig;
  16. ptrlig texte;
  17.  
  18. caractere * CreationCaractere()
  19. {
  20.  
  21. caractere * Dc;
  22. char c ;
  23. Dc=(caractere*)malloc(sizeof(caractere));
  24. c = getch(stdin);
  25. printf("%c",c);
  26. Dc->car = c;
  27. Dc->suivcar=NULL;
  28. A = 5;
  29. if(Dc->car=='*')
  30. A=1;
  31. return Dc;
  32. }
  33.  
  34.  
  35. InsererCaractere(caractere * Dc1)
  36. {
  37. caractere * rechcarac;
  38. char c;
  39. rechcarac = Dc1;
  40. while(rechcarac->suivcar != NULL)
  41. {
  42. rechcarac = rechcarac->suivcar;
  43. }
  44. c = 'a';
  45. while(c != '.' && c!= '*')
  46. {
  47. fflush(stdin);
  48. c = getch(stdin);
  49. printf("%c",c);
  50.  
  51. rechcarac->suivcar=malloc(sizeof(caractere));
  52. rechcarac->suivcar->car = c;
  53. rechcarac=rechcarac->suivcar;
  54.  
  55.  
  56. }
  57. rechcarac->suivcar=NULL;
  58. A = 5;
  59. if(rechcarac->car=='*')
  60. A=1;
  61.  
  62. }
  63.  
  64. ligne * CreationLigne()
  65. {
  66. ligne * Dl;
  67.  
  68. Dl=(ligne*)malloc(sizeof(ligne));
  69. Dl->lig = CreationCaractere();
  70. Dl->suivlig = NULL;
  71. if(A != 1)
  72. InsererCaractere(Dl->lig);
  73. return Dl;
  74. }
  75.  
  76. ptrlig InsererLigne(ptrlig Dl1)
  77. {
  78. ptrlig rechlig;
  79. //for(rechlig=Dl1;rechlig->suivlig!=NULL;rechlig=rechlig->suivlig);
  80. rechlig = Dl1;
  81.  
  82. while(rechlig->suivlig != NULL)
  83. {
  84. rechlig = rechlig->suivlig;
  85. }
  86.  
  87. rechlig->suivlig=(ptrlig)malloc(sizeof(ligne));
  88. rechlig=rechlig->suivlig;
  89. rechlig->suivlig=NULL;
  90. rechlig->lig=CreationCaractere();
  91. if(A!=1)
  92. InsererCaractere(rechlig->lig);
  93. return Dl1;
  94. }
  95. ptrlig Remplirtexte()
  96. {
  97. ptrlig Dt;
  98. Dt=CreationLigne();
  99. while(A!=1)
  100. {
  101. Dt = InsererLigne(Dt);
  102. // ptrlig //InsererLigne(Dt);
  103. }
  104. return Dt;
  105.  
  106. }
  107.  
  108. ptrlig CreationTexte()
  109. {
  110. ptrlig texte;
  111. texte=Remplirtexte();
  112. return texte;
  113. }
  114.  
  115. InsererPremierLigne(ptrcar Dt1)
  116. {
  117. ptrlig Dt2;
  118. Dt2=malloc(sizeof(ligne));
  119. Dt2->suivlig=Dt1;
  120. Dt1=Dt2;
  121. Dt1=CreationLigne();
  122. InsererLigne(Dt1);
  123.  
  124.  
  125. }
  126. /*AjouterLigne(ptrlig T)
  127. {
  128. int n,i;
  129. char Rep[2];
  130. char Etat[2];
  131. ptrlig Dl3,TempDl;
  132. printf("Entrez le numero de la ligne");
  133. scanf("%d",&n);
  134. printf("Si vous designé ajouter apres cette ligne entrez Ap sinon Av");
  135. scanf("%s",&Etat);
  136.  
  137. if(Etat=='A')
  138. {
  139. i=1; Dl3=T;
  140. while(i<n && Dl3!=NULL)
  141. {
  142. Dl3=Dl3->suivlig;
  143. i++;
  144. }
  145. ptrcar
  146. TempDl=Dl3;
  147. Dl3->suivlig=malloc(sizeof(ligne)); Dl3=Dl3->suivlig; Dl3->suivlig=TempDl->suivlig;
  148. Dl3->lig=CreationCaractere();
  149. InsererCaractere(Dl3->lig);
  150. }
  151. else if(Etat=='B')
  152. {
  153. if(n==1)
  154. InsererPremierLigne(Dl3);
  155. else if(n>1)
  156. {
  157. n=n-1;
  158. i=1; Dl3=T;
  159. while(i<n && Dl3!=NULL)
  160. {
  161. Dl3=Dl3->suivlig;
  162. i++;
  163. }
  164. TempDl=Dl3;
  165. Dl3->suivlig=malloc(sizeof(ligne));
  166. Dl3=Dl3->suivlig;
  167. Dl3->suivlig=TempDl->suivlig;
  168. Dl3->lig=CreationCaractere();
  169. InsererCaractere(Dl3->lig);
  170.  
  171. }
  172. }
  173. }
  174.  
  175. */
  176. AfficherLigneDonne(ptrlig l1)
  177. {
  178. int n2,i;
  179. ptrlig Dl4;
  180. printf("Entrez le nombre designe");
  181. scanf("%d",&n2);
  182. i=1; Dl4=l1;
  183. while(i<=n2 && Dl4!=NULL)
  184. {
  185. i++;Dl4=Dl4->suivlig;
  186. }
  187. AfficherLigne(Dl4->lig);
  188. }
  189.  
  190. initialiser()
  191. {
  192. ptrlig t1;
  193. t1 = (ptrlig) malloc(sizeof(ligne));
  194. t1->lig = NULL;
  195. t1->suivlig=NULL;
  196. return t1;
  197. }
  198.  
  199. AfficherLigne(ptrcar l)
  200. {
  201. ptrcar Dc2;
  202. for(Dc2=l;Dc2->suivcar!=NULL;Dc2=Dc2->suivcar)
  203. {
  204. printf("%c",Dc2->car);
  205. }
  206. }
  207.  
  208. AfficherTexte(ptrlig t)
  209. {
  210. ptrlig Dl4;
  211. Dl4 = t;
  212. while(Dl4 != NULL)
  213. {
  214. ptrcar c = Dl4->lig;
  215. while(c != NULL)
  216. {
  217. printf("%c",c->car);
  218. c = c->suivcar;
  219. }
  220. Dl4 = Dl4->suivlig;
  221.  
  222. }
  223. }
  224. int main()
  225. {
  226. ptrlig test;
  227. int z;
  228. // printf("Bienvenue entrez votre texte");
  229. // printf("entrez 1 pour cree et 2 pour afficher");
  230. // scanf("%d",&z);
  231. test = initialiser();
  232. // if(z==1)
  233. test=CreationTexte();
  234. printf("\n");
  235. AfficherTexte(test);
  236. /* else if(z==2)
  237. AfficherTexte(&test);*/
  238.  
  239.  
  240. return 0;
  241. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement