Advertisement
Guest User

code_projet

a guest
Jan 25th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.96 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <gtk/gtk.h>
  3. static void button_clicked(GtkWidget* Widget,gpointer data);
  4. int sign_in();
  5. int sign_up();
  6. void on_E1_changed(GtkEntry *pEntry);
  7. void on_E2_changed(GtkEntry *pEntry_1);
  8. void donnees_user();
  9.  
  10. GtkWidget *pButton_v;
  11. GtkWidget *pWindow;
  12.  
  13. int main(int argc, char **argv)
  14. {
  15.  
  16. GtkWidget *pVBox;
  17. GtkWidget *pButton[2];
  18.  
  19.  
  20. gtk_init(&argc,&argv);
  21.  
  22. pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  23. gtk_window_set_title(GTK_WINDOW(pWindow), "TIC_TAC_TOE");
  24. gtk_window_set_default_size(GTK_WINDOW(pWindow), 500, 500);
  25. g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
  26.  
  27. //Création de la GtkBox verticale
  28. pVBox = gtk_vbox_new(TRUE, 0);
  29. //Ajout de la GtkVBox dans la fenetre
  30. gtk_container_add(GTK_CONTAINER(pWindow), pVBox);
  31.  
  32. // Creation des boutons
  33. pButton[0] = gtk_button_new_with_label("Sign In");
  34. pButton[1] = gtk_button_new_with_label("Sign Up");
  35.  
  36. // Ajout de Bouton 1 dans la GtkVBox
  37. gtk_box_pack_start(GTK_BOX(pVBox), pButton[0], TRUE, FALSE, 0);
  38.  
  39. // Ajout du bouton 2 dans la GtkVBox
  40. gtk_box_pack_start(GTK_BOX(pVBox), pButton[1], TRUE, FALSE, 0);
  41.  
  42. gtk_widget_show_all(pWindow);
  43.  
  44. g_signal_connect(
  45. G_OBJECT(pButton[0]),
  46. "clicked",
  47. G_CALLBACK(donnees_user),
  48. NULL);
  49.  
  50. g_signal_connect(
  51. G_OBJECT(pButton[1]),
  52. "clicked",
  53. G_CALLBACK(donnees_user),
  54. NULL);
  55.  
  56.  
  57. gtk_main();
  58.  
  59. return EXIT_SUCCESS;
  60. }
  61. int sign_in()
  62. {
  63. signed char nom[200], nom1[200];
  64. signed char mot_de_passe[200], mdp[200];
  65. int score=0;
  66.  
  67.  
  68.  
  69. // Pour entrer les donnees de l'utilisateur
  70.  
  71. const gchar *gtk_entry_get_text (GtkEntry *pEntry);
  72. const gchar *gtk_entry_get_text (GtkEntry *pEntry_1);
  73. FILE*fichier=NULL;
  74. g_signal_connect(G_OBJECT(pWindow), "activate-default", G_CALLBACK(donnees_user), NULL);
  75. fichier = fopen( "Utilisateurs.txt", "r"); // On peut lire et écrire dans le fichier
  76. while (!feof(fichier))
  77. { fscanf(fichier,"%s",nom1);
  78. fscanf(fichier,"%s",mdp);
  79.  
  80. if ( strcmp (nom1,nom) == 0 &&
  81. strcmp (mdp , mot_de_passe ) == 0 )
  82. {
  83. g_signal_connect(
  84. G_OBJECT(pButton_v),
  85. "clicked",
  86. G_CALLBACK(button_clicked),
  87. NULL);
  88. }
  89. else
  90. {
  91. g_signal_connect(
  92. G_OBJECT(pButton_v),
  93. "clicked",
  94. G_CALLBACK(donnees_user),
  95. NULL);
  96. }
  97. }
  98.  
  99.  
  100. return 0;
  101. }
  102.  
  103. int sign_up()
  104. {
  105.  
  106. signed char nom[200], nom1[200];
  107. signed char mot_de_passe[200], mdp[200];
  108. int score=0;
  109.  
  110. // Pour entrer les donnees de l'utilisateur
  111. const gchar *gtk_entry_get_text (GtkEntry *pEntry);
  112. const gchar *gtk_entry_get_text (GtkEntry *pEntry_1);
  113.  
  114. FILE*fichier=NULL;
  115.  
  116. fichier = fopen( "Utilisateurs.txt", "a+");
  117.  
  118. // On peut lire et écrire dans le fichier
  119. //si utilisateur choisi sign up
  120.  
  121. if (fichier != NULL)
  122. {
  123. fscanf(fichier,"%s",nom1);
  124. const gchar *gtk_entry_get_text (GtkEntry *fichier);//bach nbdl fscanf a chercher
  125.  
  126. if (strcmp( nom,nom1) == 0 )
  127. // si le nom existe deja
  128. {
  129. g_signal_connect(
  130. G_OBJECT(pButton_v),
  131. "clicked",
  132. G_CALLBACK(main),
  133. NULL);
  134. }
  135. else
  136. {
  137. fprintf(fichier,"%s %s %d \n", nom, mot_de_passe, score );
  138. fclose(fichier);
  139. g_signal_connect(
  140. G_OBJECT(pButton_v),
  141. "clicked",
  142. G_CALLBACK(button_clicked),
  143. NULL);
  144. }
  145. }
  146. else
  147. {
  148. // message d'erreur
  149. printf("Impossible d'ouvrir le fichier ");
  150. }
  151. return 0;
  152. }
  153.  
  154. void donnees_user()
  155. {
  156. GtkWidget *pWindow_d;
  157. GtkWidget *pVBox;
  158. GtkWidget *pEntry;
  159. GtkWidget *pEntry_1;
  160. GtkWidget *pButton_v;
  161.  
  162.  
  163. pWindow_d = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  164. gtk_window_set_title(GTK_WINDOW(pWindow_d),"Entrer vos coordonnées");
  165. gtk_window_set_default_size(GTK_WINDOW(pWindow_d), 500, 500);
  166. g_signal_connect(G_OBJECT(pWindow_d), "destroy", G_CALLBACK(gtk_main_quit), NULL);
  167.  
  168.  
  169. pVBox = gtk_vbox_new(TRUE, 0);
  170. gtk_container_add(GTK_CONTAINER(pWindow_d), pVBox);
  171.  
  172. /* Creation du GtkEntry */
  173. pEntry = gtk_entry_new();
  174. pEntry_1 = gtk_entry_new();
  175. /* Insertion du GtkEntry dans la GtkVBox */
  176. gtk_box_pack_start(GTK_BOX(pVBox), pEntry, TRUE, FALSE, 0);
  177. gtk_box_pack_start(GTK_BOX(pVBox), pEntry_1, TRUE, FALSE, 0);
  178.  
  179. pButton_v = gtk_button_new_with_label("VALIDER");
  180. gtk_box_pack_start(GTK_BOX(pVBox), pButton_v, TRUE, FALSE, 0);
  181.  
  182.  
  183. gtk_widget_show_all(pWindow_d);
  184.  
  185. g_signal_connect(pEntry,"activate",G_CALLBACK(on_E1_changed),
  186. pEntry);
  187. g_signal_connect(pEntry_1,"activate",G_CALLBACK(on_E2_changed),
  188. pEntry_1);
  189.  
  190. gtk_main();
  191.  
  192. return EXIT_SUCCESS;
  193. }
  194.  
  195.  
  196. void on_E1_changed(GtkEntry *pEntry)
  197. {
  198. signed char nom[200];
  199. sprintf(nom, "%s",gtk_entry_get_text(pEntry));
  200. }
  201. void on_E2_changed(GtkEntry *pEntry_1)
  202. {
  203. signed char mot_de_passe[200];
  204. sprintf(mot_de_passe,"%s",gtk_entry_get_text(pEntry_1));
  205.  
  206. }
  207.  
  208.  
  209. static void button_clicked(GtkWidget* Widget,gpointer data)
  210. {
  211.  
  212. GtkWidget *pWindow_p;
  213. GtkWidget *pButton_p;
  214. pButton_p = gtk_button_new_with_label("Play");
  215. pWindow_p = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  216. gtk_window_set_title(GTK_WINDOW(pWindow_p), "TIC_TAC_TOE");
  217. gtk_window_set_default_size(GTK_WINDOW(pWindow_p), 500, 500);
  218. g_signal_connect(G_OBJECT(pWindow_p), "destroy", G_CALLBACK(gtk_main_quit), NULL);
  219. gtk_container_add(GTK_CONTAINER(pWindow_p), pButton_p);
  220.  
  221. gtk_widget_show_all(pWindow_p);
  222.  
  223. return EXIT_SUCCESS;
  224. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement