Calculatrice

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 676 fois - Téléchargée 32 fois

Contenu du snippet

Une calculatrice, simple, avec juste la division, multiplication, soustraction et addition.

Pour comprendre les bases de GTK+

Pour le moment, juste l'affichage, bientôt le calcul et surtout des commentaires ...

Source / Exemple :


#include <stdlib.h> 
#include <gtk/gtk.h> 
#include <stdio.h>
#include <windows.h> 

struct nombre_struct {
	float nombre1;
	float nombre2;
	float resultat;
	bool virgule;
}nombre;

int main(int argc,char **argv)
{ 
	GtkWidget *principal;
    GtkWidget *pVBox;
    GtkWidget *pHBox;
    GtkWidget *pButton[17];
	GtkWidget* pLabel;

	nombre.nombre1 = 0;
	nombre.nombre2 = 0;
	nombre.resultat = 0;
	nombre.virgule = FALSE;

 
	gtk_init(&argc,&argv); 

    principal = gtk_window_new(GTK_WINDOW_TOPLEVEL); 
    gtk_window_set_title(GTK_WINDOW(principal),"Calculatrice By Funcky"); 
    gtk_window_set_default_size(GTK_WINDOW(principal),200,200);
	gtk_window_set_position (GTK_WINDOW (principal), GTK_WIN_POS_CENTER); 
	gtk_widget_realize (principal); 
	g_signal_connect (principal, "destroy", gtk_main_quit, NULL); 

	pButton[7] = gtk_button_new_with_mnemonic("_7");
	pButton[8] = gtk_button_new_with_mnemonic("_8");
	pButton[9] = gtk_button_new_with_mnemonic("_9");
	pButton[10] = gtk_button_new_with_mnemonic("_/");
	pButton[0] = gtk_button_new_with_mnemonic("_0");
	pButton[1] = gtk_button_new_with_mnemonic("_1");
	pButton[2] = gtk_button_new_with_mnemonic("_2");
	pButton[3] = gtk_button_new_with_mnemonic("_3");
	pButton[4] = gtk_button_new_with_mnemonic("_4");
	pButton[5] = gtk_button_new_with_mnemonic("_5");
	pButton[6] = gtk_button_new_with_mnemonic("_6");
	pButton[11] = gtk_button_new_with_mnemonic("_*");
	pButton[12] = gtk_button_new_with_mnemonic("_-");
	pButton[13] = gtk_button_new_with_mnemonic("_+");
	pButton[14] = gtk_button_new_with_mnemonic("_.");
	pButton[15] = gtk_button_new_with_mnemonic("_OK");
	pButton[16] = gtk_button_new_with_mnemonic("_Reset");

	pLabel=gtk_label_new("0"); 
	gtk_label_set_justify(GTK_LABEL(pLabel), GTK_JUSTIFY_RIGHT);
	
	pVBox = gtk_vbox_new(FALSE, 0);
	gtk_container_add(GTK_CONTAINER(principal), pVBox);

	pHBox = gtk_hbox_new(TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pVBox), pHBox, TRUE, TRUE, 0);

	gtk_box_pack_start(GTK_BOX(pHBox), pLabel, TRUE, TRUE, 0);

	pHBox = gtk_hbox_new(TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pVBox), pHBox, TRUE, TRUE, 0);

	gtk_box_pack_start(GTK_BOX(pHBox), pButton[7], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[8], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[9], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[10], TRUE, TRUE, 0);

	pHBox = gtk_hbox_new(TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pVBox), pHBox, TRUE, TRUE, 0);

	gtk_box_pack_start(GTK_BOX(pHBox), pButton[4], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[5], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[6], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[11], TRUE, TRUE, 0);

	pHBox = gtk_hbox_new(TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pVBox), pHBox, TRUE, TRUE, 0);

	gtk_box_pack_start(GTK_BOX(pHBox), pButton[1], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[2], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[3], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[12], TRUE, TRUE, 0);

	pHBox = gtk_hbox_new(TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pVBox), pHBox, TRUE, TRUE, 0);

	gtk_box_pack_start(GTK_BOX(pHBox), pButton[0], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[14], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[13], TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pHBox), pButton[15], TRUE, TRUE, 0);

	pHBox = gtk_hbox_new(TRUE, 0);
	gtk_box_pack_start(GTK_BOX(pVBox), pHBox, TRUE, TRUE, 0);

	gtk_box_pack_start(GTK_BOX(pHBox), pButton[16], TRUE, TRUE, 0);
	

	gtk_widget_show_all (principal);
	gtk_main (); 
	return 0; 
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
6
Date d'inscription
samedi 13 septembre 2003
Statut
Membre
Dernière intervention
9 janvier 2006

bonjour,
avant toute chose, je voulais te dire bravo, pour ton code qui est pas mal du tout, ensuite, je voudrais te demander si tu sais comment on peut récupérer un float ou un double à partir GtkEntry, merci d'avance et bonne chance pour la suite,

david21

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.