j'ai un petit souci avec un entry, je rentre dedans un nombre, ensuite je récupère ce que j'ai rentré et je suppose que je dois transcrire la chaine de caracteres en integer mais le porblem c'est que je n'es pas d'erreur mon programme s'éxécute mais quand je clique sur le boutton et que je rentre des valeur inférieur a 0.80 j'ai aucun message
voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
 
void on_button3_clicked(GtkButton *button, gpointer data)
{
  /*déclaration des variables*/
  GtkWidget *pinfo1;
  GSList *pListE;
  const gchar *sLabelE;
  GSList *pListA;
  const gchar *sLabelA;
  int compE=0;
  int compA=0;
  GtkWidget *pinfo3;
  GSList *pListPE;
  const gchar *sLabelPE;
  GSList *pListPA;
  const gchar *sLabelPA;
  int compPE=0;
  int compPA=0;
 
  /*On récupère les données des largeurs des portes
  /*pour la porte d'entrée*/
  GtkWidget *entryPE;  
  /*pour la porte des pièces*/
  GtkWidget *entryPP; 
  int valuePE = 0;
  int valuePP = 0;
  GtkWidget *pinfo2;
 
  /*on récupère ce que l'utilisateur a rentré pour les deux premières questions*/
 
  GtkWidget * radioE=lookup_widget(GTK_WIDGET(button),"radiobutton1");
  GtkWidget *radioA=lookup_widget(GTK_WIDGET(button),"radiobutton3");
 
/*on récupère pour les questions concernant la porte d'entrée*/
 GtkWidget * radioPE=lookup_widget(GTK_WIDGET(button),"radiobutton11");
  GtkWidget *radioPA=lookup_widget(GTK_WIDGET(button),"radiobutton13");
 
 
  /* Recuperation de la liste des boutons */
  pListE = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioE));
  /* Parcours de la liste */
  while(pListE)
  {
    /* Le bouton est il selectionne */
    if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pListE->data)))
    {
      /* OUI -> on copie le label du bouton */
      sLabelE = gtk_button_get_label(GTK_BUTTON(pListE->data));
      /*On met la liste a NULL pour sortir de la boucle */
      pListE = NULL;
    }
    else
    {
      /* NON -> on passe au bouton suivant */
      pListE = g_slist_next(pListE);
    }
  }
 
  /* Recuperation de la liste des boutons */
  pListA = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioA));
  /* Parcours de la liste */
  while(pListA)
  {
    /* Le bouton est il selectionne */
    if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pListA->data)))
    {
      /* OUI -> on copie le label du bouton */
      sLabelA = gtk_button_get_label(GTK_BUTTON(pListA->data));
      /* On met la liste a NULL pour sortir de la boucle */
      pListA = NULL;
    }
    else
    {
    /* NON -> on passe au bouton suivant */
    pListA = g_slist_next(pListA);
    }
  }
 
  /* Recuperation de la liste des boutons */
  pListPE = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioPE));
  /* Parcours de la liste */
  while(pListPE)
  {
    /* Le bouton est il selectionne */
    if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pListPE->data)))
    {
      /* OUI -> on copie le label du bouton */
      sLabelPE = gtk_button_get_label(GTK_BUTTON(pListPE->data));
      /* On met la liste a NULL pour sortir de la boucle */
      pListPE = NULL;
    }
    else
    {
    /* NON -> on passe au bouton suivant */
    pListPE = g_slist_next(pListPE);
    }
  }
 
  /* Recuperation de la liste des boutons */
  pListPA = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioPA));
  /* Parcours de la liste */
  while(pListPA)
  {
    /* Le bouton est il selectionne */
    if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pListPA->data)))
    {
      /* OUI -> on copie le label du bouton */
      sLabelPA = gtk_button_get_label(GTK_BUTTON(pListPA->data));
      /* On met la liste a NULL pour sortir de la boucle */
      pListPA = NULL;
    }
    else
    {
    /* NON -> on passe au bouton suivant */
    pListPA = g_slist_next(pListPA);
    }
  }
 
 
 
  /*on compare la réponse de l'escalier à OUI*/                 
  compE=strcmp(sLabelE,"oui"); 
  /*on compare la réponse de l'ascenseur avec oui*/
  compA=strcmp(sLabelA,"oui"); 
  /*si c'est différent, on écrit les lignes dans essai */             
  if((compE==0) && (compA!=0))
  {
  /*on regarde que s'il y a plusieurs étages alors il y a un ascenseur sinon on marque un message d'erreur*/
   pinfo1 = gtk_message_dialog_new (GTK_WINDOW(data),GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"attention la personne ne peut pas acceder aux etages superieurs"); 
    /* Affichage de la boite de message */
    gtk_dialog_run(GTK_DIALOG(pinfo1));
    /* Destruction de la boite de message */
    gtk_widget_destroy(pinfo1);      
  } 
  /*else
  {
    pinfo1 = gtk_message_dialog_new (GTK_WINDOW(data),GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"ok"); 
    /* Affichage de la boite de message */
    //gtk_dialog_run(GTK_DIALOG(pinfo1));
    /* Destruction de la boite de message */
    /*gtk_widget_destroy(pinfo1);
  }*/
 
/*on compare la réponse de la porte d'entrée à OUI*/                 
  compPE=strcmp(sLabelPE,"oui"); 
  /*on compare la réponse de la porte accessible avec oui*/
  compPA=strcmp(sLabelPA,"oui"); 
 
 /*si c'est différent, on écrit les lignes dans essai */             
  if((compPE==0) && (compPA!=0))
  {
  /*si la porte d'entrée possèede une marche et qu'il n'y a pas d'autre entrée accessible on marque un message d'erreur*/
   pinfo3 = gtk_message_dialog_new (GTK_WINDOW(data),GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"attention aucune entree n'est accessible puisqu'elles ont toutes une marche"); 
    /* Affichage de la boite de message */
    gtk_dialog_run(GTK_DIALOG(pinfo3));
    /* Destruction de la boite de message */
    gtk_widget_destroy(pinfo3);      
  } 
 
 /*On récupére ce que l'utilisateur a rentré*/                                        
  entryPE=lookup_widget(GTK_WIDGET(button),"entry14");
    /*On récupére ce que l'utilisateur a rentré*/                                        
  entryPP=lookup_widget(GTK_WIDGET(button),"entry15");
 
  /*on transcrit la chaine en un nombre*/
  valuePE = (int) strtol (entryPE, NULL,0);
  valuePP = (int) strtol (entryPP, NULL,0);
 
  if ((valuePE < 0.90) || (valuePP < 0.80))
  {
  /*si la largeur des portes n'est pas suffisante, on note un message d'erreur*/
   pinfo2 = gtk_message_dialog_new (GTK_WINDOW(data),GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"attention la largeur d'une ou plusieurs portes n'est pas aux normes, regarder les normes");                
    /* Affichage de la boite de message */
    gtk_dialog_run(GTK_DIALOG(pinfo2));
    /* Destruction de la boite de message */
    gtk_widget_destroy(pinfo2);      
  }
}
merci
pepsister