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
| #include<stdio.h>
#include<gtk/gtk.h>
#include<stdlib.h>
char *temp,*temp2;
int entier,temp3;
int mat[5][5];
GtkWidget *entre[20];
void initialisation(GtkWidget *Widget, GtkWidget *data)
{
int i=0,j=0,k=0;
for(i=0;i<entier;i++)
{
for(j=0;j<entier;j++)
{
temp2 = gtk_entry_get_text(GTK_ENTRY(entre[k]));
temp3=atoi(temp2);
mat[i][j]=temp3;
g_print("%d\n",mat[i][j]);
k++;
}
}
}
void creation(GtkWidget *Widget, gpointer *Data)
{
int i,j,k=0;
GtkWidget *fenetre,*boxv,*boxh[20];
GtkWidget *evaluer,*fermer;
// recupere la chaine contenu dans l'entree
temp = gtk_entry_get_text(GTK_ENTRY(Data));
entier=atoi(temp);
fenetre=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(fenetre),"les entres de donnees avec les matrices");
g_signal_connect(G_OBJECT(fenetre),"destroy",G_CALLBACK(gtk_main_quit),NULL);
boxv=gtk_vbox_new(TRUE,0);
gtk_container_add(GTK_CONTAINER(fenetre),boxv);
for(i=0;i<entier;i++)
{
boxh[i]=gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(boxv),boxh[i], TRUE,FALSE, 0);
for(j=0;j<entier;j++)
{
entre[k]=gtk_entry_new();
gtk_box_pack_start(GTK_BOX(boxh[i]),entre[k], TRUE, FALSE, 0);
k++;
}
}
evaluer=gtk_button_new_with_label("evaluer");
fermer=gtk_button_new_with_label("fermer");
gtk_box_pack_start(GTK_BOX(boxv),evaluer, TRUE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(boxv),fermer, TRUE, FALSE, 0);
gtk_signal_connect(GTK_OBJECT(evaluer), "clicked", GTK_SIGNAL_FUNC (initialisation),(gpointer)entre);
g_signal_connect(G_OBJECT(fermer), "clicked", gtk_main_quit, NULL);
gtk_widget_show_all(fenetre);
gtk_main();
}
int main(int argc,char **argv)
{
GtkWidget *pwindows,*pvbox,*label,*pbouton;
GtkWidget *pentry;
gchar *texte=NULL;
gtk_init(&argc,&argv);
pwindows=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(pwindows),200,200);
gtk_window_set_title(GTK_WINDOW(pwindows),"les entres de donnees avec les matrices");
g_signal_connect(G_OBJECT(pwindows),"destroy",G_CALLBACK(gtk_main_quit),NULL);
pvbox=gtk_vbox_new(TRUE,0);
gtk_container_add(GTK_CONTAINER(pwindows),pvbox);
texte="veillez donner la taille de la matrice";
label=gtk_label_new(texte);
gtk_box_pack_start(GTK_BOX(pvbox),label,TRUE,FALSE,0);
pentry=gtk_entry_new();
gtk_box_pack_start(GTK_BOX(pvbox),pentry,TRUE,FALSE,0);
pbouton=gtk_button_new_with_label("valider");
gtk_box_pack_start(GTK_BOX(pvbox),pbouton,TRUE,FALSE,0);
gtk_signal_connect(GTK_OBJECT(pbouton), "clicked", GTK_SIGNAL_FUNC (creation), (gpointer)pentry);
gtk_signal_connect(GTK_OBJECT(pentry), "activate", GTK_SIGNAL_FUNC (creation), (gpointer)pentry);
//g_signal_connect(G_OBJECT(pbouton), "clicked", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(pwindows);
gtk_main();
return 0;
} |
Partager