Voici un bout de code:
stephan
-
stephan -
stephan -
bonjour à tous,
je programme un peu en c sur gtk pour m'amuser un peu mais hellas je rencontre quelques problèmes.
je programme un genre de petite calculatrice, l'utilisateur tape un nombre dans un gtkentry, ensuite il choisi entre une soustraction, addition, division ou multiplication dans un combo box, il tape le deuxième nombre dans un gtkentry et enfin il appuie sur un bouton pour valider et ensuite le programme est sencer afficher la reponse.
Seulement voilà, lorsque l'on rempli bien toute les cases et qu'on appuit sur le bouton je reçoit un message disant que le programme.exe a césser de fonctionner.
Y a-t-il des problemes fréquents à ce sujet là?
Est-ce lier à la fonction calback?
j'ai besoin de votre aide.
voici un bout de code:
ça c'est la fonction du bouton
et je précise que pour le moment il ne fait que les additions
je programme un peu en c sur gtk pour m'amuser un peu mais hellas je rencontre quelques problèmes.
je programme un genre de petite calculatrice, l'utilisateur tape un nombre dans un gtkentry, ensuite il choisi entre une soustraction, addition, division ou multiplication dans un combo box, il tape le deuxième nombre dans un gtkentry et enfin il appuie sur un bouton pour valider et ensuite le programme est sencer afficher la reponse.
Seulement voilà, lorsque l'on rempli bien toute les cases et qu'on appuit sur le bouton je reçoit un message disant que le programme.exe a césser de fonctionner.
Y a-t-il des problemes fréquents à ce sujet là?
Est-ce lier à la fonction calback?
j'ai besoin de votre aide.
voici un bout de code:
ça c'est la fonction du bouton
void calcul(GtkWidget *pButton, gpointer data)
{
gint resultat, t1, t2;
gchar charresult[30];
const gchar *texteliste;
GtkWidget *saisie;
GtkWidget *saisie2;
GtkWidget *saisie3;
GtkWidget *liste;
GList *pList;
pList = gtk_container_get_children(GTK_CONTAINER((GtkWidget*)data));
pList = g_list_next(pList);
saisie = GTK_WIDGET(pList->data);
pList = g_list_next(pList);
liste = GTK_WIDGET(pList->data);
pList = g_list_next(pList);
saisie2 = GTK_WIDGET(pList->data);
pList = g_list_next(pList);
pList = g_list_next(pList);
saisie3 = GTK_WIDGET(pList->data);
texteliste = gtk_combo_box_get_active_text(GTK_COMBO_BOX(liste));
if (strcmp(texteliste, "+") == 0)
{
t1 = atoi(gtk_entry_get_text(GTK_ENTRY(saisie)));
t2 = atoi(gtk_entry_get_text(GTK_ENTRY(saisie2)));
resultat = t1 + t2;
sprintf (charresult,"%d",resultat);
gtk_entry_set_text(GTK_ENTRY(saisie3), texteliste);
}
g_list_free(pList);
}et ca le debut
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(pWindow), "Le mathematitien");
gtk_window_set_default_size(GTK_WINDOW(pWindow), 200, 360);
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
pVBox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(pWindow), pVBox);
pHBox = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX(pVBox), pHBox, FALSE, FALSE, 0);
pEntry = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(pHBox), pEntry, FALSE, FALSE, 0);
pBande = gtk_combo_box_new_text();
gtk_combo_box_append_text(GTK_COMBO_BOX(pBande), "+");
gtk_combo_box_append_text(GTK_COMBO_BOX(pBande), "-");
gtk_combo_box_append_text(GTK_COMBO_BOX(pBande), "x");
gtk_combo_box_append_text(GTK_COMBO_BOX(pBande), ":");
gtk_box_pack_start(GTK_BOX(pHBox), pBande, FALSE, FALSE, 0);
entree = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(pHBox), entree, FALSE, FALSE, 0);
pButton = gtk_button_new_with_label("resoudre");
gtk_box_pack_start(GTK_BOX(pVBox), pButton, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(pButton), "clicked", G_CALLBACK(calcul), (GtkWidget*) pVBox);
txt3 = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(pVBox), txt3, FALSE, FALSE, 0);
gtk_widget_show_all(pWindow);
gtk_main();
}
et je précise que pour le moment il ne fait que les additions
A voir également:
- Voici un bout de code:
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide