C語言課程設(shè)計(jì)報(bào)告房產(chǎn)銷售信息管理系統(tǒng)_第1頁
C語言課程設(shè)計(jì)報(bào)告房產(chǎn)銷售信息管理系統(tǒng)_第2頁
C語言課程設(shè)計(jì)報(bào)告房產(chǎn)銷售信息管理系統(tǒng)_第3頁
C語言課程設(shè)計(jì)報(bào)告房產(chǎn)銷售信息管理系統(tǒng)_第4頁
已閱讀5頁,還剩132頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院C語言課程設(shè)計(jì)報(bào)告題目:房產(chǎn)銷售信息管理系統(tǒng) 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級:計(jì)算機(jī)卓越工程師!301班學(xué)號: U201314939 姓名:許磯法成績:指導(dǎo)教師:李開完成日期:2014年2月7日目錄TOC\o"1-5"\h\zー、系統(tǒng)需求分析 1二、總體設(shè)計(jì) 2三、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 5四、詳細(xì)設(shè)計(jì) 10五、系統(tǒng)實(shí)現(xiàn) 10六、運(yùn)行測試與結(jié)果分析 95七、總結(jié) 120ハ、參考文獻(xiàn) 121九、指導(dǎo)教師評語 122ー、系統(tǒng)需求分析對所要解決的問題進(jìn)行詳細(xì)的分析,將題目要求實(shí)現(xiàn)的功能闡述清楚,包括對輸入數(shù)據(jù)的描述,對輸出結(jié)果的描述,系統(tǒng)應(yīng)滿足的功能要求和性能要求。通俗地說,就是講明本課程設(shè)計(jì)要“做什么”、“做到什么程度”。房產(chǎn)銷售信息管理系統(tǒng),提供開發(fā)商信息,樓盤信息,房產(chǎn)銷售信息三類信息的錄入修改刪除操作。提供查詢與統(tǒng)計(jì)功能:查詢功能:1)開發(fā)商基本信息查詢實(shí)現(xiàn)兩個(gè)功能。①以開發(fā)商名稱為條件,查找并顯示滿足條件的開發(fā)商基本信息,要求提供模糊査詢功能。例如,查找并顯示開發(fā)商名稱中包含“國際”的所有開發(fā)商基本信息。②以房屋總套數(shù)為條件,查找并顯示滿足條件的開發(fā)商基本信息。例如,查找并顯示房屋總套數(shù)大于等于1000套且小于等于5000套的所有開發(fā)商基本信息。2)樓盤基本信息查詢實(shí)現(xiàn)兩個(gè)功能。①以樓盤名稱為條件,查找并顯示滿足條件的樓盤基本信息。例如,查找并顯示名稱為“海聯(lián)時(shí)代廣場”的樓盤基本信息。②以開盤日期和每平米均價(jià)為條件,查找并顯示滿足條件的樓盤基本信息。例如,查找并顯示開盤日期在yl年ml月dl日至y2年m2月d2日之間,每平米均價(jià)大于等于5000元且小于等于8000元的所有樓盤基本信息。3)房產(chǎn)銷售信息查詢實(shí)現(xiàn)兩個(gè)功能。①以身份證號為條件,查找并顯示滿足條件的房產(chǎn)銷售信息。例如,查找并顯示身份證號為的房產(chǎn)銷售信息。②以客戶姓名和購房日期為條件,查找并顯示滿足條件的所有房產(chǎn)銷售信息。例如,查找并顯示客戶姓名中包含“建國”且購房日期在“2012年5月”和“2013年2月”之間的所有房產(chǎn)銷售信息。統(tǒng)計(jì)功能:

①統(tǒng)計(jì)各開發(fā)商房產(chǎn)開發(fā)總建筑面積和銷售總額,按銷售總額從高到低排序后輸出。排名開發(fā)商名稱房屋總套數(shù)總建筑面積銷售總額12 ②輸入年份,統(tǒng)計(jì)該年度十二個(gè)月份房產(chǎn)銷售的套數(shù)和銷售金額。年份:2011月份銷售總套數(shù)總建筑面積銷售總金額12 12③統(tǒng)計(jì)各樓盤房屋套數(shù)、售出套數(shù)、銷售金額,按銷售金額從高到低排序后輸出。排名樓盤名稱房屋套數(shù)售出套數(shù)銷售金額12 ④分別統(tǒng)計(jì)出售率最高的5個(gè)樓盤,從高到低排序后輸出樓盤名稱、樓盤房屋套數(shù)、售出套數(shù)。排名樓盤名稱房屋套數(shù)售出套數(shù)出售率12 5二、總體設(shè)計(jì)對有關(guān)系統(tǒng)全局問題給出總體的解決方案,也就是從全局的角度考慮“怎么做”。主體數(shù)據(jù)結(jié)構(gòu)由三向鏈表組成。錄入信息時(shí)都采用后進(jìn)先出式。錄入樓盤時(shí),根據(jù)開發(fā)商名稱確定開發(fā)商結(jié)點(diǎn)。錄入購房信息時(shí),由于購房信息不包括開發(fā)商名稱,故采取遍歷樓盤結(jié)點(diǎn)的方式根據(jù)樓盤名搜索樓盤結(jié)點(diǎn)。修改及刪除開發(fā)商時(shí)根據(jù)開發(fā)商名稱查找。修改及刪除樓盤結(jié)點(diǎn)時(shí)先根據(jù)開發(fā)商名稱確定開發(fā)商結(jié)點(diǎn),再根據(jù)樓盤名稱在此結(jié)點(diǎn)下搜尋樓盤結(jié)點(diǎn)。刪除及修改房產(chǎn)銷售信息時(shí)先根據(jù)樓盤名稱確定樓盤結(jié)點(diǎn),在根據(jù)身份證號確定購房信息結(jié)點(diǎn)。?數(shù)據(jù)查詢功能:.開發(fā)商信息查詢:a)按名稱查找,遍歷開發(fā)商鏈表,找到就輸出b)按房屋套數(shù):遍歷輸出.樓盤信息查詢:a)按樓盤名稱:遍歷開發(fā)商鏈表,沒到ー個(gè)開發(fā)商結(jié)點(diǎn),遍歷該結(jié)點(diǎn)下的樓盤鏈,輸出符合條件的樓盤信息b)按開盤日期和平米均價(jià):遍歷開發(fā)商鏈表,沒到ー個(gè)開發(fā)商結(jié)點(diǎn),遍歷該結(jié)點(diǎn)下的樓盤鏈,輸出符合條件的樓盤信息.房產(chǎn)銷售信息查詢:a)按身份證:遍歷鏈表,找到符合條件的銷售信息就輸出并退出遍歷。b)按客戶姓名與購房日期:遍歷鏈表,輸出所有符合條件的銷售信息。?數(shù)據(jù)統(tǒng)計(jì):.統(tǒng)計(jì)開發(fā)商總建筑面積和銷售額:在錄入樓盤及購房者信息的同時(shí)就進(jìn)行開發(fā)商信息的統(tǒng)計(jì),輸出前進(jìn)行排序后輸出,輸出時(shí)ー頁輸出五個(gè)開發(fā)商信息.輸入年份,統(tǒng)計(jì)該年度十二個(gè)月份房產(chǎn)銷售的套數(shù)和銷售金額。定義ー個(gè)結(jié)構(gòu),該結(jié)構(gòu)的內(nèi)容包括月份,銷售套數(shù)和銷售金額遍歷購房信息鏈表,根據(jù)購房信息中的日期判斷是否屬于這一年,如果屬于這一年的購房日期,則根據(jù)日期中的月份進(jìn)行選擇。待遍歷完全,輸出數(shù)據(jù)。.統(tǒng)計(jì)各樓盤房屋套數(shù)、售出套數(shù)、銷售金額,按銷售金額從高到低排序后輸出。各樓盤的房屋套數(shù)在插入樓盤是已確定,售出套數(shù)與銷售金額在插入購房信息時(shí)確定,之后再調(diào)用該統(tǒng)計(jì)函數(shù)時(shí)先使所有樓盤信息連成一條新鏈,之后排序輸出。.分別統(tǒng)計(jì)出售率最高的5個(gè)樓盤,從高到低排序后輸出樓盤名稱、樓盤房屋套數(shù)、售出套數(shù)。先將所有樓盤形成一條鏈,同時(shí)計(jì)算出售率,之后進(jìn)行排序,最后輸出。三、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)對實(shí)現(xiàn)系統(tǒng)主體功能的算法所涉及的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),要求用圖或表進(jìn)行準(zhǔn)確、具體地描述,同時(shí)需說明數(shù)據(jù)結(jié)構(gòu)的用法。開發(fā)商信息typedefstructbuilder_nodecharbuilder_name[30];charCEO[30];intall_housenum;floatall_area;floatmoney;structbuilder_node*next;structhouses_node*hnext;}BUILDER_NODE;中文字段名代碼類型及長度舉例開發(fā)商名稱builder_namechar[30]海天房產(chǎn)CEOCEOchar[30]張:.房屋總套數(shù)all_housenumint300總建筑面積all_areafloat340.234總銷售額moneyfloat345.23開發(fā)商鏈表指針*nextstructbuilder_node樓盤指針*hnextstructhouses_node功能:用來存儲開發(fā)商信息樓盤信息/*?樓盤信息鏈結(jié)點(diǎn)結(jié)構(gòu)**/typedefstructhouses_node(charhou_name[30];charbuilder_name[30];chardate[12];charaddress[20];floatarea;inthou_num;floatbuild_area;floatpresqm_price;charlinkman[20];charlinkphone[20];inthou_sell;floatmoney_sell;floatsell_per;structhouses_node*next;structclient*cnext;}H0U_N0DE;中文字段名代碼類型及長度舉例樓盤名稱hou_namechar[30]開發(fā)商builder_namechar[30]開盤日期datechar[12]樓盤地址addresschar[20]占地面積areafloat房屋套數(shù)hou_numint720建筑面積build_areafloat每平米均價(jià)presqm_pricefloat聯(lián)系人linkmanchar[20]“chenguoqing”聯(lián)系電話linkphonechar[20]12345678901售出套數(shù)hou_sellint銷售額money_sellfloat銷售率sell_perfloat樓盤指針*nextstructhouses_node購房信息指針*cnextstructclient作用:存儲樓盤信息購房信息結(jié)構(gòu):typedefstructclientcharclientname[20];charid[20];chardate[12];charhousetype[12];charhou_name[30];charbuild_num[10];floatbuild_area;floatpresqm_price;floatdiscount;floatactualprice;charsaleman[20];structclient*next;}CLIENT_N0DE;中文字段名代碼類型及長度舉例客戶姓名clientnamechar[20]身份證號idchar[20]購房日期datechar[12]房型housetypechar[12]“3s2tle2w” 三室兩廳ー廚二衛(wèi)所屬樓盤hou_namechar[30]樓棟號build_numchar[10]“03-2-1205”3棟2單元1205號建筑面積build_areafloat每平米單價(jià)presqm_pricefloat折扣discountfloat實(shí)際交易金額actualpricefloat銷售員salemanchar[20]“wangwu”購房信息指針*nextstructclient作用:存儲購房信息年度銷售typedefstructMONTHSELL(shortmonth;inthouse_num;floatbuilder_area;floatmoney;structmonth_num_money*next;}MONTH_SELL;中文名稱代碼類型及長度實(shí)例月份monthshort12售出套數(shù)house_numint234銷售面積builder_areafloat234.43銷售額moneyfloat453.345指針structmonth_num_money*next功能:統(tǒng)計(jì)年度每月銷售情況時(shí)用以存儲信息樓盤銷售情況結(jié)構(gòu)typedefstructhou_sellcharhouname[20];intallnum;intsellnum;floatsellmoney;floatsellrate;structhou_sell*next;}HOU_SELL;中文名稱代碼類型及長度實(shí)例樓盤名稱hounamechar[20]房屋食數(shù)allnumint售出套數(shù)sellnumint銷售金額sellmoneyfloat銷售率sellratefloat指針*nextstructhou_sell功能:在進(jìn)行樓盤數(shù)據(jù)統(tǒng)計(jì)時(shí),形成長鏈,用以臨時(shí)存儲樓盤信息四、詳細(xì)設(shè)計(jì)結(jié)束2.數(shù)據(jù)維護(hù)開發(fā)商信息查詢第11頁共122頁房產(chǎn)銷售信息查詢五、系統(tǒng)實(shí)現(xiàn)亙dorm.h#include<gtk/gtk.h>#include<gtk/glkclist.h>#include<stdio.h>#includc<stdlib.h>#include<windows.h>#include<wincon.h>#include<conio.h>#include<string.h>#include<io.h>#include<fcntl.h>#includc<sys\stat.h>#include<ctype.h>#include<time.h>#defineM(x)g_locale_to_utfB(x,-1,NULL,NULL,NULL)typedefstructclient{charclientname[20];charid[20];chardate[12];charhousetype[12J;charhou_name[30];charbuild_num[10];tloatbuild_area;floatpresqm_price;floatdiscount;floatactualprice;charsaleman[20];亙structclient*next;}CLIENT_NODE;/**樓盤信息鏈結(jié)點(diǎn)結(jié)構(gòu)**/typedefstructhouses_node{charhou_name[30];charbuilder_name|30];chardate[12];charaddress[20];floatarea;inthou_num;floatbuild_area;inthou_sell;floatpresqm_price;charlinkman[20];charlinkphone[20];floatmoney_sell;floatsell_per;structhouses_node*next;structclient*cnext;)HOU_NODE;/**開發(fā)商信息鏈結(jié)點(diǎn)結(jié)構(gòu)**/typedefstructbuilder_nodecharbuilder_name|30];亙charCEO|30];intall_housenum;floatall_area;floatmoney;structbuilder_node*next;structhouses_node*hnext;}BUILDER_NODE;typedefstructgtk_input//構(gòu)造輸入框時(shí)用(GtkWidget"window;〃主窗體GtkWidget*label_tips;〃用于信息提示的標(biāo)簽GtkWidget*button」ogin;〃兩個(gè)按鈕,ー個(gè)點(diǎn)擊后登錄,ー個(gè)點(diǎn)擊后退出GtkWidget*button_exit;GtkWidget*entry[ll];〃兩個(gè)文本框,用于輸入開發(fā)商名和CEO名GtkWidget*label[l1];〃兩個(gè)標(biāo)簽用于顯示username文本框和password文本框提示GtkWidget*vbox;〃垂直布局盒子,包含以卜三個(gè)水平布局盒子GtkWidget*hbox[ll];〃包含用戶名提示標(biāo)簽和用戶名文本框,下面的HBOX作用類似GtkWidget*hbox_button;)GJN;GJNwgt;〃定義為外部變量方便使用/**年度毎月房產(chǎn)銷售的套數(shù)和銷售金額信息鏈結(jié)點(diǎn)結(jié)構(gòu)**/typedefstructmonth_sell{shortmonth;inthouse_num;floatbuilder_area;floatmoney;structmonth_sell"next;}MONTH_SELL;/*?樓盤房屋套數(shù)、售出套數(shù)、銷售金額信息鏈結(jié)點(diǎn)結(jié)構(gòu)**/typedefstructhou_sell{charhouname[20];intallnum;intsellnum;floatsellmoney;floatsellrate;structhou_sell*next;}HOU_SELL;BUILDER.NODE*gp_head=NULL; 主鏈頭指針ッHOU_SELL*hou_sell_head;charbhc[12][30];char*x(12];GtkWidget*clist;gintrow,column;char*gp_bulider_info_filename="builder.dat"; /?開發(fā)商基本信息數(shù)據(jù)文件?/char*gp_houses_info_filename="houses.dat";/?樓盤信息數(shù)據(jù)文件?/char*gp_client_info_filename="client.daビ; /?買房者信息數(shù)據(jù)文件?/char*gp_bulider_infoback_filename="builderback.dat"; /?開發(fā)商基本信息數(shù)據(jù)文件?/char*gp_houses_infoback_filename="housesback.dat";/?樓盤信息數(shù)據(jù)文件?/char*gp_client_infoback_filename="clientback.dat"; /?買房者信息數(shù)據(jù)文件?/voidon_menu_activate(GtkMenuItem*item,gpointerdata);BOOLLoadDataO;intCreatList(BUILDER_NODE**phead);BOOLSaveData(void);BOOLBackupData(void);BOOLRestoreData(void);voidhelptopic(void);voidshow_about(GtkWidget*widget);voidshow_help(GtkWidget*widget);voidshow_box_builderQ(GtkWidget*widget,gpointerdata);voidquery_builder_name(GtkWidget*widget,gpointerdata);voidshow_box_houQ(GtkWidget*widget,gpointerdata);voidshow_box_clientQ(GtkWidget*widget,gpointerdata);voidinsert_builder(void);voidinsert_hou(GtkWidget*widget,gpointerdata);voidinsert_client(GtkWidget*widget,gpointerdata);voidinsert_builder_(GtkWidget*widget,gpointerdata);voidinsert_hou_(GtkWidget*widget,gpointerdata);voidinsert_client_(GtkWidget*widget,gpointerdata);voidInsertBuilderNode(BUILDER_NODE**gp_head,BUILDER_NODE*hd_insert);BOOLInsertHouNode(BUILDER_NODE*gp_head,HOU.NODE*hou_insert);BOOLInsertClientNode(BUILDER_NODE*hd,CLIENT_NODE*pclient_node);voidModifBuilderNode(GtkWidget*widget,gpointerdata);voidModifBuilderNode_();voidModifBuilderNode_2(GtkWidget*widget.gpointerdata);voidModifHouNode(GtkWidget*widget,gpointerdata);voidModifHouNode_();voidModifHouNode_2(GtkWidget*widget,gpointerdata);voidModifClientNode_2(GtkWidget*widget,gpointerdata);voidModifClientNode_();voidModifClientN(xle(GtkWidget*widget,gpointerdata);voidDelBuilderNode_();voidDelBuilderNodeO;voidDelHouNode_();voidDelHouNode();BU1LDER_NODE*SeekBuilderNode(BUlLDER_NODE*hd,constchar*name);voidSeckBuiIderNode_(GtkWidget*widget.gpointerdata);HOU_NODE*SeekHouNode(HOU_NODE*phou_node,constchar*name);HOU_NODE*SeekHouNodeM(BUILDER_NODE*hd,constchar*hou_name);CLIENT-NODE*SeekClientNode(HOU_NODE*hou_node,constchar*id);CLIENT-NODE*SeekClientN(xleM(BUlLDER_NODE*hd,char*hou_name,char*id);voidDclHouNodeM(BUILDER_NODE*hd);voidDelClientNodeM(HOU_NODE*hou);voidcancel_button(GtkWidget*widget,gpointerwin);voidshow_info(char*x);voidshow_list_build(GtkWidget*widget,gpointerdata);voidshow_list_hou(GtkWidget*widget,gpointerdata);voidshow_Iist_client(GtkWidget*widget,gpointerdata);voidbutton_add_build(gpointerdata);voidb_to_c(BUILDER_NODE*xl);voidh_to_c(HOU_NODE*xl);voidc_to_c(CLIENT_NODE*xl);voidm_to_c(MONTH_SELL*xl);voidhs_to_c(HOU_SELL*xl);voidDelCIientNode();voidDclClientNode_();voidinput_box(char**x,intn);voidQueryBuilderInfoN();voidQueryBuilderInfoH();voidfresh_clist_b();voidfresh_clist_h();voidfresh_clist_c();voidquery_builder_num(GtkWidget*widget,gpointerdata);voidQueryHouInfoN();voidquery_hou_name(GtkWidget*widget,gpointerdata);voidquery_hou_date(GtkWidget*widget,gpointerdata);voidQueryHouInfoTO;voidquery_client_id(GtkWidget*widget,gpointerdata);voidQueryClientInfoI();voidquery_client_name(GtkWidget*widget,gpointerdata);voidQueryClientlnfoNO;voidSortBuilderSellO;voidStatMonthSell();voidStatMonthSellNO;HOU.SELL*HouCont(BUILDER_NODE*hd);voidshow_list_housell(GtkWidget*widget,gpointerdata);main.c#include',dorml.hHintmain(intargc,char*argv[J)(intfa;for(fa=0;fa<12;fa++)(x[fa]=bhc[fa];}LoadData();GtkWidget"window;GtkWidget*box;GtkWidget"file;GtkWidget"save;GtkWidget"backup;GtkWidget"restore;GtkWidget*quit;GtkWidget*info;GtkWidget*builderl;GtkWidget*houl;GtkWidget*clientl;GtkWidget*stat;GtkWidget*clientS;GtkWidget*houSl;GtkWidget*help;GtkWidget*topic;GtkWidget*about;GtkWidget*menubar;GtkWidget"rootmenu;GtkWidget*menuitem;GtkAccelGroup*accel_group;gtk_init(&argc,&argv);window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDOW(window),M("房產(chǎn)信息管理”));gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);gtk_window_set_default_size(GTK_WINDOW(window),1000,500);accel_group=gtk_accel_group_new();gtk_window_add_accel_group(GTK_WINDOW(window),accel_group);box=gtk_vbox_new(FALSE,0);gtk_container_add(GTK_CONTAINER(window),box);menubar=gtk_menu_bar_new();file=gtk_menu_new();info=gtk_menu_new();stat=gtk_menu_new();help=gtk_menu_new();save=gtk_image_menu_item_new_from_stock(GTK_STOCK_SAVE,accel_group);gtk_menu_shell_append(GTK_MENU_SHELL(file),save);g_signal_connect(G_OBJECT(save),"activate",G_CALLBACK(SaveData),NULL);backup二gtk_menu_ilem_new_with」abel(M("備份”));gtk_menu_shell_append(GTK_MENU_SHELL(file),backup);g_signal_connect(G_OBJECT(backup),'Activate',,G_CALLBACK(BackupData),NULL);restore=gtk_menu_item_new_with」abel(M("恢復(fù)"));gtk_menu_shell_append(GTK_MENU_SHELL(file),restore);g_signal_connect(G_OBJECT(restore),"activate'1,G_CALLBACK(RestoreData),NULL);menuitem=gtk_separator_menu_item_new();gtk_menu_shell_append(GTK_MENU_SHELL(file),menuitem);quit=gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT,accel_group);gtk_menu_shell_append(GTK_MENU_SHELL(file),quit);g_signal_connect(G_OBJECT(quit),"activate",G_CALLBACK(gtk_main_quit),NULL);rootmenu=gtk_menu_item_new_with_mnemonic("_File");gtk_menu_item_set_submenu(GTK_MENU_ITEM(rootmenu),file);gtk_menu_shell_append(GTK_MENU_SHELL(menubar),rootmenu);builderI=gtk_menu_item_new_with」abel(M("開發(fā)商信息維護(hù)"));gtk_menu_shelLappend(GTK_MENU_SHELL(info),builderl);g_signal_connect(G_OBJECT(builderl),"activate",G_CALLBACK(show」ist_build),NULL);houl二gtk_menu_item_new_with」abel(M("樓盤信息維護(hù)"));gtk_menu_shell_append(GTK_MENU_SHELL(info),houl);g_signal_connect(G_OBJECT(houI),"activate",G_CALLBACK(show_list_hou),NULL);clientl二gtk_menu_item_new_with」abel(M("購房信息信息維護(hù)”));gtk_menu_shell_append(GTK_MENU_SHELL(info),clientl);g_signal_connect(G_OBJECT(clientI),"activate",G_CALLBACK(show_list_client),NULL);rootmenu=gtk_menu_item_new_with_mnemonic(,,_InfoH);gtk_menu_item_set_submenu(GTK_MENU_ITEM(rootmenu),info);gtk_menu_shell_append(GTK_MENU_SHELL(menubar),rootmenu);clientS=gtk_menu_ilem_new_with」abel(M("年度車肖售套數(shù)與金額”));gtk_menu_shell_append(GTK_MENU_SHELL(stat),clients);g_signaLconnect(G_OBJECT(clientS),"activate0,G_CALLBACK(StatMonthSeU),NULL);houS1=gtk_menu_item_new_with」abel(M("各樓盤銷售情況”));gtk_menu_shelLappend(GTK_MENU_SHELL(stat),houS1);g_signal_connect(G_OBJECT(houS1), "activate",G_CALLBACK(show_list_housell),NULL);rootmenu=gtk_menu_item_new_with_mnemonic("_Stat");gtk_menu_item_set_submenu(GTK_MENU_ITEM(rootmenu),stat);gtk_menu_shell_append(GTK_MENU_SHELL(menubar),rootmenu);topic=gtk_image_menu_item_new__from_stock(GTK_STOCK_HELP,accel_group);gtk_menu_shell_append(GTK_MENU_SHELL(help),topic);g_signal_connect(G_OBJECT(topic),"activate",G_CALLBACK(show_help),(gpointer)window);about=gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT,accel_group);gtk_menu_shelLappend(GTK_MENU_SHELL(help),about);g_signal_connect(G_OBJECT(about),"activate", G_CALLBACK(show_about),(gpointer)window);rootmenu=gtk_menu_item_new_with_mnemonic("_Help");gtk_menu_item_set_submenu(GTK_MENU_ITEM(rootmenu),help);gtk_menu_shell_append(GTK_MENU_SHELL(menubar),rootmenu);gtk_box_pack_start(GTK_BOX(box),menubar,FALSE,FALSE,0);亙g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);gtk_widget_show_all(window);show_info(M("在本系統(tǒng)中所有時(shí)間請按2013-02-01格式輸入”));gtk_main();returnFALSE;BOOLLoadData()(intre;re=CreatList(&gp_head);if(re!=28)printf("基礎(chǔ)數(shù)據(jù)不完整\n");printf("加載完成,按任意鍵繼續(xù)。。。、n");getch();returnTRUE;函數(shù)名稱:CreatList函數(shù)功能:從數(shù)據(jù)文件讀取基礎(chǔ)數(shù)據(jù),并存放到所創(chuàng)建的十字鏈中輸入?yún)?shù):無返回值: int型數(shù)值,表示鏈表的創(chuàng)建情況0,空鏈,無數(shù)據(jù)4,已加載宿舍樓信息數(shù)據(jù),無學(xué)生基本信息和繳費(fèi)信息數(shù)據(jù)12I已加載宿舍樓信息和學(xué)生基本信息數(shù)據(jù),無繳費(fèi)信息數(shù)據(jù)28,三類數(shù)據(jù)都已加載intCreatList(BUILDER_NODE**phead)(BUILDER_NODE*hd=NULL,*pBuilderNode;HOU_NODE*pHouNode;CLIENT_NODE*pClientNode;FILE*pFile;intfind=O;intre=O;pFile=fopen(gp_bulider_info_filename,''rb',);if(pFile==NULL){printf("開發(fā)商信息數(shù)據(jù)文件打開失敗!\n”);returnre;Iprintf("開發(fā)商信息數(shù)據(jù)文件打開成功!'n)while(!feof(pFile)){pBuilderNode=(BUILDER_NODE*)malloc(sizeof(BUILDER_NODE));fread(pBuilderNode,sizeof(BUILDER_NODE),LpFile);if(!feof(pFile)){pBuilderNode->hnext=NULL;pBuilderNode->next=hd;hd=pBuilderNode;1Ifclose(pFile);if(hd==NULL)printf("開發(fā)商信息數(shù)據(jù)文件加載失敗!\バ);returnre;)prinlf("開發(fā)商信息數(shù)據(jù)文件加載成功!、ガ);*phead=hd;re+=4;if((pFile=fopen(gp_houses_info_filename,nrb,,))==NULL)(printf("樓盤基本信息數(shù)據(jù)文件打開失敗!\n");returnre;)printf("樓盤基本信息數(shù)據(jù)文件打開成功!'n”);re+=8;while(!feof(pFile)){pHouNode=(HOU_NODE*)malloc(sizeof(HOU_NODE));fread(pHouNode,sizeof(HOU_NODE),l,pFile);if(feof(pFile))break;pHouNode->cnext=NULL;pBuilderNode=hd;while(pBuilderNode!=NULL&&strcmp(pBuilderNode->builder_name,pHouNode->builder_name))(pBuilderNode=pBuilderNode->next;)if(pBuilderNode!=NULL)(pHouNode->next=pBuilderNode->hnext;亙pBuilderNode->hnext=pHouNode;)else(free(pHouNode);)1fclose(pFile);if((pFile=fopen(gp_client_info_filename,"rb"))==NULL)(printf("購房者信息數(shù)據(jù)文件打開失敗)returnre;}printf("購房者信息數(shù)據(jù)文件打開成功!、バ);re+=16;HOU_NODE*HouNode;HouNode=(HOU_NODE*)malloc(sizeof(HOU_NODE));while(!feof(pFile)){pClientNode=(CLIENT_NODE*)malloc(sizeof(CLIENT_NODE));fread(pClientNode,sizeof(CLIENT_NODE),1,pFile);if(feof(pFile))break;pBuilderNode=hd;while(pBuilderNode!=NULL&&find==0)(HouNode=pBuilderNode->hnext;while(HouNode!=NULL&&find==0){if(!strcmp(HouNode->hou_name,pCiientNode->hou_name))find=l;gotoin;}HouNode=HouNode->next;)pBuilderNode=pBuilderNode->next;1in:if(find)(pClientNode->next=HouNode->cnext;HouNode->cnext=pClientNode;)else(free(pClientNode);}}fclose(pFile);returnre;BOOLSaveData(void)亙BOOLbRet=TRUE;BUILDER_NODE*hd=gp_head;HOU_NODE*phou_node;CLIENT_NODE*pclient_node;FILE*fpl,*fp2,*fp3;fpl=fopen(gp_bulider_info_filename,"wb");fp2=fopen(gp_houses_info_filename,uwbH);fp3=fopen(gp_client_info_filename,uwbn);for(;hd!=NULL;hd=hd->next){for(phou_node=hd->hnexl;phou_node!=NULL;phou_node=phou_node->next)(for(pclient_node=phou_node->cnext; pclient_node!=NULL;pclienl_node=pclient_node->next){fwrite(pclient_node,sizeof(CLIENT_NODE),l,fp3);}fwrite(phou_node,sizeof(HOU_NODE),1,fp2);}fwrite(hd,sizeof(BUILDER_NODE),1,fpl);fclose(fpl);fclose(fp2);fclose(fp3);show_info(M("數(shù)據(jù)保存成功”));returnbRet;BOOLBackupData(void)(BOOLbRet=TRUE;BUILDER_NODE*hd=gp_head;HOU_NODE*phou_node;CLIENT_NODE*pclient__node;FILE*fpl,*fp2,*fp3;fp1=fopen(gp_bulider_infoback_filename,"wb'1);fp2=fopen(gp_houses_infoback_filename,"wbu);fp3=fopen(gp_client_infoback_filename,"wbn);for(;hd!=NULL;hd=hd->next){for(phou_node=hd->hnext;phou_node!=NULL;phou_node=phou_node->next)(for(pclient_node=phou_node->cnext; pclient_node!=NULL;pclient_node=pclient_node->next)(fwrite(pclient_node,sizeof(CLIENT_NODE),l,fp3);}fwrite(phou_node,sizeof(HOU_NODE),1,fp2);}fwrite(hd,sizeof(BUILDER_NODE),1,fpl);fclose(fpl);fclose(fp2);亙fclose(fp3);show_info(M("數(shù)據(jù)備份成功”));returnbRet;)BOOLRestoreData(void)(BOOLbRet=TRUE;BUILDER_NODE*hd=NULL,*pBuilderNode;HOU_NODE*pHouNode;CLIENT_NODE*pClientNode;FILE*pFile;intfind=0;intre=O;pFile=fopen(gp_bulider_infoback_fi!ename,nrbH);if(pFile==NULL)(gotoX;}while(!feof(pFile))(pBuilderNode=(BUILDER_NODE*)malloc(sizeof(BUILDER_NODE));fread(pBuilderNode,sizeof(BUILDER_NODE),1,pFile);if(!feof(pFile)){pBuilderNode->hnext=NULL;pBuilderNode->next=hd;hd=pBuilderNode;fclose(pFile);if(hd==NULL)(gotoX;Igp_head=hd;re+=4;if((pFile=fopen(gp__houses_infoback_filename,,,rb,,))==NULL)(gotoX;}re+=8;while(!feof(pFile)){pHouNode=(HOU_NODE*)malloc(sizeof(HOU_NODE));fread(pHouNode,sizeof(HOU_NODE),hpFile);if(feof(pFile))break;pHouNode->cnext=NULL;pBuilderNode=hd;while(pBuilderNode!=NULL&&!strcmp(pBuilderNode->builder_name,pHouNode->builder_name)){pBuilderNode=pBuilderNode->next;)if(pBuilderNode!=NULL)pHouNode->next=pBuilderNode->hnext;pBuilderNode->hnext=pHouNode;)else{free(pHouNode);)!fclose(pFile);if((pFile=fopen(gp_client_infoback_filename,,,rb,,))==NULL)(gotoX;}re+=16;HOU_NODE*HouNode;HouNode=(HOU_NODE*)malloc(sizeof(HOU_NODE));while(!feof(pFile)){pClientNode=(CLIENT_NODE*)malloc(sizeof(CLIENT_NODE));fread(pClientNode,sizeof(CLIENT_NODE),1,pFile);if(feof(pFile))break;pBuilderNode=hd;while(pBuilderNode!=NULL&&find==0)(HouNode=pBuilderNode->hnext;while(pBuilderNode!=NULL&&find==0)if(!strcmp(HouNode->hou_name,pClientNode->hou_name)){find=l;break;)HouNode=HouNode->next;)pBuilderNode=pBuilderNode->next;1if(find)(pClientNode->next=HouNode->cnext;HouNode->cnext=pClientNode;}else(free(pClientNode);fclose(pFile);SaveData();show_info(M("數(shù)據(jù)成功恢復(fù)至鏈表"));returnbRet;函數(shù)名稱:show_about函數(shù)功能:輸出提示信息水*/voidshow_about(GtkWidget*widget)(GtkWidget*dialog=gtk_about_dialog_new();gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(dialog),"PropertySalesInformationManagementSystem");gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog),"1.0");gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog),M("制作者:許磯法”));gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog),M(“郵箱:530389782@"));gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog),"thisisasimplesystemofPropertySalesInformationManagementSystem");gtk_dialog_run(GTK_DIALOG(dialog));gtk_widget_destroy(dialog);}/**函數(shù)名:helptopic函數(shù)功能:輸出提示信息**/voidshow_help(GtkWidget*widget)(GtkWidget*dialog=gtk_about_dialog_new();gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(dialog),M("幫助信息"));gtk一about_dialog_set_copyright(GTK一ABOUT一DIALOG(dialog),”如有問題,請聯(lián)系530389782@");gtk_dialog_run(GTK_DIALOG(dialog));gtk_widget_destroy(dialog);函數(shù)名:show_box_builderQ函數(shù)功能:彈出開發(fā)商查詢窗口**/voidshow_box_builderQ(Gtk\Vidget*widget,gpointerdata)(GtkWidget*window;GtkWidget*vbox;GtkWidget*name;GtkWidget*num;GtkWidget*quit;window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);gtk_window_set_default_size(GTK_WINDOW(window),230,250);gtk_window_set_title(GTK_WINDOW(window),M("開發(fā)商信息查詢”));gtk_container_set_border_width(GTK_CONTAINER(window),5);vbox=gtk_vbox_new(TRUE,1);gtk_container_add(GTK_CONTAINER(window),vbox);name=gtk_button_new_with」abel(M("按名稱查找"));num=gtk_button_new_with」abel(M("按房屋套數(shù)查找”));quit=gtk_butlon_new_with」abel(M("退出"));gtk_box_pack_start(GTK_BOX(vbox),name,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(vbox),num,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(vbox),quit,TRUE,TRUE,0);g_signal_connect_swapped(G_OBJECT(quit), "clicked",G_CALLBACK(gtk_widget_destroy),(gpointer)window);g_signal_connect_swapped(G_OBJECT(name), "clicked",G_CALLBACK(query_builder_name),(gpointer)window);g_signal_connect_swapped(G_OBJECT(num), "clicked”,G_CALLBACK(query_builder_num),(gpointer)window);g_signal_connect_swapped(G_OBJECT(window), "destroy”,G_CALLBACK(gtk_main_quit),NULL);gtk_widget_show_all(window);gtk_main();return;)voidquery_builder_name(GtkWidget*widget,gpointerdata)(char*a[]={"開發(fā)商名"};input_box(a,l);g_signal_connect(GTK_OBJECT(wgt.button_login),nclickedn,GTK_SIGNAL_FUNC(QueryBuilderInfoN),NULL);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);)voidquery_builder_num(GtkWidget*widget,gpointerdata)(char*a[]={”房屋數(shù)目下限”,”房屋數(shù)目上限”};input_box(a,2);g_signa1_connect(GTK_OBJECT(wgt.button」ogin),”clicked”,GTK_SIGNAL_FUNC(QueryBuilderInfoH),NULL);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);voidshow_box_houQ(GtkWidget*widget,gpointerdata)GtkWidget"window;GtkWidget*vbox;GtkWidget"name;GtkWidget"num;GtkWidget"quit;window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);gtk_window_set_default_size(GTK_WINDOW(window),230,250);gtk_window_set_title(GTK_WINDOW(window),M("樓盤信息查詢”));gtk_container_set_border_width(GTK_CONTAINER(window),5);vbox=gtk__vbox_new(TRUE,1);gtk_container_add(GTK_CONTAINER(window),vbox);name二gtk_button_new_with」abel(M("按名稱查找”));num=gtk_button_new_with」abel(M("按開盤日期和平米均價(jià)查找”));quit=gtk_button_new_with」abel(M("退出"));gtk_box_pack_start(GTK_BOX(vbox),name,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(vbox),num,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(vbox),quit,TRUE,TRUE,0);g_signal_connect_sw叩ped(G_OBJECT(window), "destroy",G_CALLBACK(gtk_main_quit),NULL);g_signal_connect_swapped(G_OBJECT(quit), "clicked",G_CALLBACK(gtk_widget_destroy),(gpointer)window);g_signal_connect_swapped(G_OBJECT(name), "clicked",G_CALLBACK(query_hou_name),NULL);g_signal_connect_swapped(G_OBJECT(num), "clicked",G_CALLBACK(query_hou_date),NULL);gtk_widget_show_all(window);gtk_main();亙r(jià)eturn;}voidquery_hou_name(GtkWidget"widget,gpointerdata)(char*a[]={"樓盤名"};input_box(a,l);g_signal_connect(GTK_OBJECT(wgt.buttonJogin),"clicked",GTK_SIGNAL_FUNC(QueryHouInfoN),NULL);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);)voidquery_hou_date(GtkWidget"widget,gpointerdata){char*a[仁{“日期下限"「日期上限”,"均價(jià)下限","均價(jià)上限"};input_box(a,4);g_signal_connect(GTK_OBJECT(wgt.buttonJogin),"clicked",GTK_SIGNAL_FUNC(QueryHouInfoT),NULL);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);}voidshow_box_clientQ(Gtk\Vidget*widget,gpointerdata)(GtkWidget"window;GtkWidget"vbox;GtkWidget"id;GtkWidget"name;GtkWidget"quit;window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);gtk_window_set_default_size(GTK_WINDOW(window),230,250);gtk_window_set_litle(GTK_WINDOW(window)tM(”銷售信息查詢”));gtk_container_set_border_width(GTK_CONTAINER(window),5);vbox=gtk_vbox_new(TRUE,1);gtk_container_add(GTK_CONTAINER(window),vbox);id=gtk_button_new_with」abel(M(”按身份證查找"));name二gtk_button_new_with」abel(M("按姓名和日期查找”));quit=gtk_button_new_with_label(M(ni&出"));gtk_box_pack_start(GTK_BOX(vbox),name,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(vbox),id,TRUE,TRUE,0);gtk_box_pack_start(GTK_BOX(vbox),quit,TRUE,TRUE,0);g_signal_connect_swapped(G_OBJECT(window), "destroy”,G_CALLBACK(gtk_main_quit),NULL);g_signal_connect_swapped(G_OBJECT(quit), "clicked",G_CALLBACK(gtk_widget_destroy),(gpointer)window);g_signal_connect_swapped(G_OBJECT(id),"clicked11,G_CALLBACK(query_client_id),(gpointer)window);g_signal_connect_swapped(G_OBJECT(name), "clicked",G_CALLBACK(query_client_name),(gpointer)window);gtk_widget_show_all(window);gtk_main();return;)voidquery_client_id(GtkWidget*widget,gpointerdata)(char*a[]={"身份證ッ;input_box(a,l);g_signal_connect(GTK_OBJECT(wgt.button」ogin)Jclicked”,GTK_SlGNAL_FUNC(QueryClientInfoI),NULL);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);}voidquery_client_name(GtkWidget*widget,gpointerdata)(char*a口ア“姓名”,“日期下限”,“日期上限"};input_box(a,3);g_signal_connect(GTK_OBJECT(wgt.buttonJogin),"clicked';GTK.SIGNAL.FUNCCQueryClientInfoN),NULL);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);函數(shù)名稱:insertJniilder函數(shù)功能:彈出開發(fā)商信息輸入框,并處理輸入信息**/voidinsert_builder(void)(char*x[]={”開發(fā)商名:「CEO:”};input_box(x,2);g_signal_connect(GTK_OBJECT(wgt.buttonJogin),'?clicked0,GTK_SIGNAL_FUNC(insert_builder_),&wgt);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);}voidinsert_hou(GtkWidget*widget,gpointerdata)(char*x[]={”樓盤名:”,”開發(fā)商名:“,”開盤日期:”,”地址:”,”占地面積:”「房屋數(shù)目:","建筑面積:","每平米均價(jià)","聯(lián)系人:ヽ"聯(lián)系電話つ;input_box(x,10);g_signal_connect(GTK_OBJECT(wgt.button_login),,'clicked,,,GTK_SIGNAL_FUNC(insert_houJ,&wgt);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);)voidinsert_client(GtkWidget*widget,gpointerdata)(char*x[]={"購房者姓名",“身份證,“購房日期”,“房型“,“樓盤名”,“樓棟號”,“建筑面積:“,“每平米均價(jià)",“折扣”,”銷售員ッ;input_box(x,10);g_signal_connect(GTK_OBJECT(wgt.buttonJogin),nclicked",GTK_SIGNAL_FUNC(insert_client_),&wgt);gtk_container_add(GTK_CONTAINER(wgt.window),wgt.vbox);gtk_widget_show_all(wgt.window);}/**函數(shù)名稱:insertJ)uilder_函數(shù)功能:處理輸入框中的信息,并插入鏈表**/voidinsert_builder_(GtkWidget*widget,gpointerdata)(BUILDER_NODE*insert;insert=(BUILDER_NODE*)malloc(sizeof(BUILDER_NODE));〃獲取輸入的信息strcpy(insert->builder_name,gtk_entry_get_text(GTK_ENTRY(wgt.entry[OJ)));strcpy(insert->CEO,gtk_entry_getJext(GTK_ENTRY(wgt.entry[l])));insert->hnext=NULL;insert->money=0;insert->all_area=O;insert->all_housenum=0;InsertBuilderNode(&gp_head,insert);b_to_c(insert);gtk_clist_prepend(GTK_CLIST(clist),x);gtk_widget_destroy(wgt.window);show_info(M("開發(fā)商信息插入成功”));)voidinsert_hou_(GtkWidget*widget,gpointerdata)(HOU_NODE*insert;insert=(HOU_NODE*)malloc(sizeof(HOU_NODE));〃獲取輸入的信息strcpy(insert->hou_name,gtk_entry_gel_lext(GTK_ENTRY(wgt.entry[0])));strcpy(insert->builder_name,gtk_entry_get_text(GTK_ENTRY(wgt.entry[1])));strcpy(insert->date,gtk_entry_get_text(GTK_ENTRY(wgt.entry[2])));strcpy(insert->address,gtk_entry_get_text(GTK_ENTRY(wgt.entry[3])));insert->area=atof(gtk_entry_get_text(GTK_ENTRY(wgt.ent

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論