91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-10
  • 語言: 其他
  • 標簽: 計算器??

資源簡介

這是一個界面用glade3設計,代碼用c實現的一個功能俱全的計算器。

資源截圖

代碼片段和文件信息

#include?
#include?

???/*創建一個指向GtkWidget類型的指針(創建文本框使用)*/
static?GtkWidget?*entry;

???/*創建全局變量:名為“fnum”(雙精度,第一個輸入量);
?????????????????????“snum”(雙精度,第二個輸入量)*/
gdouble?fnum?=?0;
gdouble?snum?=?0;

???/*創建全局控制變量:名為“num_count”(整型,控制輸入位數);
??????????????????????????“operator”(整型,控制輸入的運算符號);
??????????????????????????“first_num”(布爾型,控制輸入的次數);
??????????????????????????“have_result”(布爾型,為重新進行計算作好準備)*/
gint?????num_count?=0;
gint?????operator?=?0;
gboolean?first_num?=?TRUE;
//gboolean?first_num_equal?=?FALSE;
gboolean?have_dot?=?FALSE;?//小數點
gboolean?have_result?=?FALSE;
gchar????number[100];



/*........................................................................?*/
//清除函數:ClearReset()
//1:清除屏幕上的內容(TURE);2:初始化變量并清屏(FALSE)

void?ClearReset(gboolean?clear_only)
????????{
????????????/*初始化number[100]等,分配內存空間*/
????????????gint?i?=?0;
????????????for(i?=?0;i<100;i++)
????????????????number[i]?=?‘\0‘;
????????????fnum?=?0;
????????????snum?=?0;
????????????operator?=?0;
????????????num_count?=?0;
????????????first_num?=?TRUE;
????????????have_dot?=?FALSE;
????????????have_result?=?FALSE;
????????????//first_num_equal?=?FALSE;

????????????/*清除屏幕*/
????????????if(clear_only?=?TRUE)
???????????????gtk_entry_set_text(GTK_ENTRY(entry)“0“);
????????????}???????



/*----------------------------------------------------------------------------------?*/
//按下數字時的回調函數:PressNum()

void?PressNum(GtkButton?*buttongpointer?data)
????????{
????????????/*創建一個指向字符的指針變量:“num“(用來操作輸入量)*/
????????????const?gchar?*num;?????????????
????????????int?i;
?????????????????????????????????
????????????/*控制輸入數字的位數*/
????????????if(num_count?==?9)
????????????return;
??????????
????????????/*輸入位數記數*/
????????????num_count++;
??????????
????????????/*通過button的label獲取每次輸入的數值(字符串型)*/
????????????num=gtk_button_get_label(GTK_BUTTON(button));
??????????
????????????/*g_strlcat()?可以用來組合每次輸入數字(字符串)起到累加作用*/
????????????i=g_strlcat(numbernum100);

????????????????????????????????
????????????/*輸入第一個數和第二個數的控制開關strtod()是把字符串轉換為gdouble型*/
????????????if(first_num?)
????????????{
????????????/*第一次輸入*/
????????????fnum=strtod(numberNULL);

????????????}?????????
????????????else
????????????{
????????????????????/*第二次輸入*/
????????????????????/*防止除法時除數為0*/
????????????????????if(num_count?==?1);
????????????????????snum=strtod(numberNULL);
????
????????????????????if(num_count?==?1?&&?operator?==4?&&?snum?==?0)
????????????????????//gtk_entry_set_text(GTK_ENTRY(entry)“ERROR“);
????????????????????return;
????????????}

???????????if?(number[0]==‘0‘?&&?number[1]!=‘.‘?&&num_count>=2?)
????????????{
???????????????????gint?i;
???????????????for?(i?=0?;?i<100;?i++)
???????????????????{???
??????????????????????number[i]?=?number[i+1];
???????????????????}
????????????}
??????????????????
????????????/*把輸入的數字顯示出來*/
????????????gtk_entry_set_text(GTK_ENTRY(entry)number);

????????????//g_print(“F:%f\n“fnum);
????????????//g_print(“S:%f\n“snum);

????????}



/*--------

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-11-30?02:36??glade3設計的計算器\
?????文件???????15235??2011-10-17?00:49??glade3設計的計算器\glade_counter.c
?????文件???????11914??2011-10-17?00:51??glade3設計的計算器\counter.glade
?????文件??????????99??2011-10-17?01:05??glade3設計的計算器\readme
?????文件???????16384??2011-10-14?01:57??glade3設計的計算器\.callbacks.c.swo
?????文件?????????137??2011-10-17?01:25??glade3設計的計算器\Makefile

評論

共有 條評論