銀行賬戶信息管理系統(tǒng)C語(yǔ)等言課程設(shè)計(jì)報(bào)告_第1頁(yè)
銀行賬戶信息管理系統(tǒng)C語(yǔ)等言課程設(shè)計(jì)報(bào)告_第2頁(yè)
銀行賬戶信息管理系統(tǒng)C語(yǔ)等言課程設(shè)計(jì)報(bào)告_第3頁(yè)
銀行賬戶信息管理系統(tǒng)C語(yǔ)等言課程設(shè)計(jì)報(bào)告_第4頁(yè)
銀行賬戶信息管理系統(tǒng)C語(yǔ)等言課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 銀行賬戶信息管理 hubei university of automotive technologyc語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課設(shè)題目: 銀行賬戶信息管理 專 業(yè): 電子信息工程(汽車電子) 班 級(jí): t1223-14 姓 名: 朱鵬 成 績(jī): 完成日期: 2013年18周2013年19周 指導(dǎo)教師: 張吳波 田漫柳 目錄c語(yǔ)言程序設(shè)計(jì)0課程設(shè)計(jì)報(bào)告0目錄11.課程設(shè)計(jì)目的22.需求分析22.1 要求22.2任務(wù)描述32.3運(yùn)行環(huán)境42.4開發(fā)工具43.總體設(shè)計(jì)43.1系統(tǒng)流設(shè)計(jì)43.2系統(tǒng)模塊設(shè)計(jì)54.詳細(xì)設(shè)計(jì)64.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)64.2 模塊接口設(shè)計(jì)74.3主要功能模塊的流程圖95.運(yùn)行

2、結(jié)果145.1 歡迎界面145.2 主菜單145.3 次菜單-信息輸入界面155.4 信息查詢界面155.5記錄查詢界面165.6退出界面166.程序調(diào)試與測(cè)試176.1 主菜單選擇測(cè)試176.2 次菜單選擇測(cè)試176.3客戶信息的輸入測(cè)試186.4客戶密碼測(cè)試206.5存取款金額測(cè)試216.6存取款日期測(cè)試227.問(wèn)題與不足238.建議239.編程體會(huì)2410.程序源代碼2511.參考文獻(xiàn)4212.用戶使用手冊(cè)4212.1 程序主要用途4212.2使用說(shuō)明4212.3注意事項(xiàng)4312.4維護(hù)與升級(jí)431.課程設(shè)計(jì)目的1) 通過(guò)課程設(shè)計(jì),加深對(duì)結(jié)構(gòu)化程序設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)行分析,并

3、設(shè)計(jì)合理的模塊化結(jié)構(gòu)。2) 通過(guò)課程設(shè)計(jì),進(jìn)一步掌握c語(yǔ)言中重要的數(shù)據(jù)結(jié)構(gòu)。掌握并熟練運(yùn)用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。3) 通過(guò)課程設(shè)計(jì),提高程序開發(fā)能力,能運(yùn)用合理的控制流編寫清晰高效的程序。4) 通過(guò)課程設(shè)計(jì),培養(yǎng)c語(yǔ)言知識(shí)運(yùn)用和自學(xué)能力,真正的把課堂上獲得的知識(shí)運(yùn)用起來(lái),培養(yǎng)自己對(duì)程序編寫的興趣,并能獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)一個(gè)小型系統(tǒng)。5) 通過(guò)課程設(shè)計(jì),加強(qiáng)了自己的程序分析能力。2.需求分析2.1 要求1) 遵循軟件開發(fā)過(guò)程的基本規(guī)范;能靈活應(yīng)用,初步具備運(yùn)用c程序解決實(shí)際問(wèn)題的能力。2) 運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)方法,按照課程設(shè)計(jì)題目要求,完成包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)

4、、編寫代碼、調(diào)試和測(cè)試c程序等過(guò)程。3) 學(xué)會(huì)利用數(shù)組、結(jié)構(gòu)體、鏈表進(jìn)行相關(guān)信息表示。4) 功能模塊劃分清晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,且有詳盡的功能描述5) 各主要功能模塊有詳盡的流程圖及描述,用函數(shù)的形式實(shí)現(xiàn),且調(diào)用入口、功能、出口等關(guān)系正確。6) 所設(shè)計(jì)的c程序較好的可讀性和可靠性;程序書寫風(fēng)格規(guī)范,注釋清晰。7) 界面友好(良好的人機(jī)互交),凡需要輸入信息時(shí),都有較詳盡的提示信息,并對(duì)輸入信息有較完善的值域分析。8) 程序經(jīng)上機(jī)調(diào)試通過(guò),不應(yīng)出現(xiàn)語(yǔ)法型、功能型錯(cuò)誤,并獲得滿意的結(jié)果。9) 學(xué)會(huì)通過(guò)各功能性測(cè)試用例測(cè)試程序的能力,盡可能避免原則性錯(cuò)誤的出現(xiàn)。10) 掌握編寫、調(diào)試和測(cè)試

5、c語(yǔ)言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。11) c語(yǔ)言課程設(shè)計(jì)報(bào)告的內(nèi)容反應(yīng)實(shí)際設(shè)計(jì)過(guò)程,且符合格式要求,無(wú)抄襲現(xiàn)象。2.2任務(wù)描述已知一銀行有5個(gè)客戶(客戶信息為:編號(hào)、客戶姓名、客戶地址、客戶電話、賬戶總金額(最開始為0)。設(shè)計(jì)一程序,完成以下功能。存、取款時(shí)間必須通過(guò)調(diào)用系統(tǒng)時(shí)間獲得。1) 存款:輸入客戶編號(hào)、存款金額、存款日期,完成存款功能,需要判斷客戶編號(hào)是否存在,存款金額是否大于0,存款日期格式是否合法(格式為:yyyy-mm-dd,如2009-01-02)。2) 取款:輸入客戶編號(hào)、存款金額、取款日期,完成取款功能,需要判斷客戶編號(hào)是否存在,取款金額是否大于0,取

6、款金額是否小于客戶的賬戶總金額,取款日期格式是否合法(格式為:yyyy-mm-dd,如2009-01-02)。3) 查詢指定客戶的余額4) 查詢指定客戶的存款記錄5) 查詢指定客戶的取款記錄6) 所有數(shù)據(jù)符合實(shí)際應(yīng)用要求2.3運(yùn)行環(huán)境1) windows 7系統(tǒng)2) vc+6.0編譯環(huán)境2.4開發(fā)工具c語(yǔ)言3.總體設(shè)計(jì)3.1系統(tǒng)流設(shè)計(jì)程序整體功能結(jié)構(gòu)如圖一所示:開始初始化并顯示歡迎信息顯示主菜單,輸入選擇填寫房間價(jià)格客人申請(qǐng)入住客人申請(qǐng)結(jié)賬結(jié)束3.2系統(tǒng)模塊設(shè)計(jì)1) 主函數(shù) 函數(shù)int main();顯示菜單并完成選擇和調(diào)用各子函數(shù)完成相應(yīng)功能。2) 房間價(jià)格設(shè)置模塊 函數(shù)void initr

7、oom();可以使用預(yù)設(shè)方案或者手動(dòng)輸入兩種方法設(shè)置房間價(jià)格。3) 入住模塊 函數(shù)void deposit_withdraw();實(shí)現(xiàn)存取款的功能,其中會(huì)使用相關(guān)其他函數(shù)共同實(shí)現(xiàn)。4) 結(jié)賬模塊 函數(shù)float roomcost();根據(jù)住房日期計(jì)算賬單。5) 日期審查模塊 函數(shù)int istime();實(shí)現(xiàn)對(duì)日期的審查。 4.詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)要求,房間信息包括:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注房間號(hào)碼p1-number整型8房間價(jià)格p1-price雙精度16根據(jù)系統(tǒng)要求,日期信息包括:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注年p1-year整型8月p1-mo

8、nth整型8日p1-day整型8根據(jù)系統(tǒng)要求,住房記錄包括:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注客戶姓名p1-name字符串50客戶身份證p1- id字符串25日期p1- starttimedatetime結(jié)構(gòu)體24結(jié)賬日期p1- endtime字符串20房間號(hào)p1- number整型8入住天數(shù)p1- days整型8費(fèi)用p1- cost浮點(diǎn)型8為了能實(shí)現(xiàn)系統(tǒng)的優(yōu)越性和c語(yǔ)言的精華采用鏈表的建立取款記錄表,示意圖如下。 住房記錄1住房記錄22通訊錄信息1221住房記錄3住房記錄44.2 模塊接口設(shè)計(jì)1)所有函數(shù)聲明/-鏈表的操作-int initlist(linklist &l);/分配

9、空間int makelnode(linklist &l);/插入一個(gè)數(shù)據(jù)int isertlist(linklist l,linklist l1);/釋放節(jié)點(diǎn)int delist(linklist l,linklist p);/尋找第number個(gè)數(shù)據(jù)linklist locatenumber(linklist &l,int number);/-判斷函數(shù)-/添加客戶的入住信息void enterinfo(linklist &l);/判斷退房日期是否小于開房日期int timecmp(datetime t1,datetime t2);/判斷時(shí)間是否合法bool isroom(linklist l

10、,linklist l1);/判斷身份證號(hào)碼是否是18位bool isid(linklist l);/判斷是否是閏年bool isleap(int year);/判斷輸入是否符合要求bool istime(char time);/入住void initroom();/計(jì)算住房時(shí)間int dates(int month1,int day1,int month2,int day2);/根據(jù)住房日期計(jì)算賬單float roomcost(linklist p,datetime t);/獲得系統(tǒng)日期int gettime(struct tm * &timeinfo);int main(void);2)全

11、局變量1、用room r11;定義了十一個(gè)房間。用于存儲(chǔ)酒店的是個(gè)房間的入住情況。2、用node *linklist;定義了一個(gè)住房信息鏈表。用于存放客戶的住房信息。3)主要模塊的實(shí)現(xiàn)1、房間的價(jià)格管理。有兩種管理模式。第一個(gè),使用預(yù)設(shè)方案,將所有的房間的價(jià)格設(shè)置為50元/天,實(shí)現(xiàn):直接給房間信息的結(jié)構(gòu)體數(shù)組循環(huán)賦值;第二個(gè),手動(dòng)輸入方式,實(shí)現(xiàn):依次循環(huán)十個(gè)房間信息的價(jià)格屬性進(jìn)行賦值。2、客戶入住。首先調(diào)用makelnode(linklist);分配一個(gè)新節(jié)點(diǎn)的空間,然后在這個(gè)節(jié)點(diǎn)里面輸入客戶入住信息。輸入完了之后,逐一對(duì)入住時(shí)間(istime(linklist-endtime)),客戶身份證

12、號(hào)碼(isid(linklist)),房間是否為空進(jìn)行判斷(isroom(l,linklist)),若有一項(xiàng)不滿足,則重新輸入。全部滿足,則入住成功。3、客戶結(jié)賬。首先,輸入需要結(jié)賬的房間號(hào)碼,從住房鏈表中找到相關(guān)信息(p = locatenumber(l,number);)。然后根據(jù)入住時(shí)間,結(jié)賬時(shí)間還有房間單價(jià),進(jìn)行賬單(cost = roomcost(p,t);)的運(yùn)算并輸出。4.3主要功能模塊的流程圖1) 系統(tǒng)初始化模塊 顯示歡迎信息菜單輸入選項(xiàng)執(zhí)行功能 2) 房間價(jià)格輸入模塊 顯示主菜單填寫房間價(jià)格輸入選項(xiàng)預(yù)設(shè)方案手動(dòng)輸入所有房間價(jià)格定為50循環(huán)輸入10個(gè)房間的價(jià)格結(jié)束3) 入住模塊

13、 輸入入住人的信息結(jié)束輸入入住房間房間空?成功日期合法?輸入預(yù)計(jì)退房日期是否否是 4) 結(jié)賬模塊輸入結(jié)賬房間號(hào)結(jié)算金額房間正確?結(jié)束否是 5) 日期審查模塊 輸入日期長(zhǎng)度為10?第5位和第8位是-?提取字符串中的數(shù)值,分離出年,月,日根據(jù)年,月,日判斷日期邏輯是否正確正確?返回0返回1是是是否否否5.運(yùn)行結(jié)果5.1 歡迎界面5.2 主菜單5.3 次菜單-信息輸入界面5.4 信息查詢界面5.5記錄查詢界面5.6退出界面6.程序調(diào)試與測(cè)試測(cè)試數(shù)據(jù):客戶編號(hào)客戶姓名客戶地址客戶電話賬戶余額賬戶密碼1唐僧東土大唐88888880100000088888882孫悟空花果山8888888110000088

14、888883豬八戒高老莊888888821000088888884沙和尚流沙河88888883100088888885佛祖西天8888888410000000088888886.1 主菜單選擇測(cè)試若用戶輸入錯(cuò)誤選項(xiàng),則如圖顯示:6.2 次菜單選擇測(cè)試若用戶輸入錯(cuò)誤選項(xiàng),則如圖顯示:6.3客戶信息的輸入測(cè)試1)若輸入了不存在的客戶編號(hào):2)若輸入了不存在的客戶姓名:3)若輸入了不存在的客戶地址:4)若輸入了不存在的客戶電話:6.4客戶密碼測(cè)試1)密碼輸入錯(cuò)誤:2)密碼錯(cuò)誤三次:6.5存取款金額測(cè)試1)金額為負(fù)值:2)取款金額大于賬戶余額:6.6存取款日期測(cè)試1)若輸入錯(cuò)誤格式的日期:2)若輸入正

15、確格式的日期,但是日期不符合實(shí)際:7.問(wèn)題與不足1、需求分析中存在的為題題目中說(shuō)只有5個(gè)用戶,而且沒有對(duì)賬戶信息進(jìn)行修改等操作,如果對(duì)賬戶信息的增刪改三個(gè)功能,程序會(huì)更加完美。2、程序設(shè)計(jì)中的缺陷存取款的時(shí)候,給系統(tǒng)添加記錄的時(shí)候,會(huì)同時(shí)進(jìn)行排序,排序方法用的是排序,排序方法比較簡(jiǎn)陋,數(shù)據(jù)量較大的時(shí)候會(huì)比較耗時(shí)間。8.建議課程設(shè)計(jì)的題目涉及范圍應(yīng)該更廣。對(duì)于課設(shè)的時(shí)間按排,可以提前把題目給學(xué)生,這樣可以提前做課設(shè)以及復(fù)習(xí)考試。程序設(shè)計(jì)的功能應(yīng)相對(duì)更加復(fù)雜一點(diǎn),這樣有利培養(yǎng)同學(xué)們的分析問(wèn)題,解決問(wèn)題的能力,同時(shí)也能提高同學(xué)們對(duì)代碼的掌握能力。再者,就是題目,盡量少給一些提示,這樣同學(xué)們可以更大程

16、度的自己動(dòng)腦子考慮怎解決問(wèn)題。9.編程體會(huì)經(jīng)歷了編c語(yǔ)言課程設(shè)計(jì)后,我弄懂了在前幾周課堂上沒搞明白的東西,例如,鏈表的建立,排序,遍歷等等。也提高了自己對(duì)指針的熟練度。以前就聽說(shuō)對(duì)指針的掌握程度決定了一個(gè)人的編程水平。所以,雖然寫程序的過(guò)程中,遇到各種問(wèn)題,調(diào)試的時(shí)候也是遇到各種令人頭大的問(wèn)題,但能借助課程設(shè)計(jì)提高自己對(duì)指針的熟練度,提高自己對(duì)c語(yǔ)言編程的熟練度,我還是覺得很開心的,也希望學(xué)??梢远嚅_設(shè)一些這樣的課程,既是讓我們對(duì)自己所學(xué)知識(shí)的一個(gè)綜合理解與使用,也可以提高我們的動(dòng)手實(shí)踐能力、對(duì)知識(shí)的運(yùn)用能力。10.程序源代碼/*簡(jiǎn)易銀行信息管理系統(tǒng)*作者:朱鵬*學(xué)號(hào):20120231406*

17、指導(dǎo)老師:張吳波 田漫柳*/*頭文件*/#include#include#include#include#include#include#include#define len sizeof(struct records)/*記錄修改標(biāo)記*/int recorschanged = 0;file *fp;/*日期結(jié)構(gòu)體*/typedef struct dataint year;int month;int day;int hour;int min;int sec;usedata;usedata rightdata;/*客戶信息結(jié)構(gòu)體*/typedef struct customint id;char

18、 name10;char address1024;int telnum;double account;int password;custom;custom customer5;/*存取款記錄鏈表*/typedef struct recordsint id;usedata inoutdata;int actionclass;double actionnum;struct records * next;records;/head為頭指針,p1,p2為鏈表操作指針records *head=null,*p1=null,*p2=null;/*函數(shù)聲明*/初始化void startvalue();/頭部

19、信息void systitle();/一級(jí)菜單int menu();/二級(jí)菜單int menu2( int infoclass );/輸入函數(shù)void input(char *cbox,int *ibox,double * money,int inputclass,char *boxname);/*日期時(shí)間相關(guān)函數(shù)*/將字符型的日期轉(zhuǎn)換為整型,并分離出年月日void char2int ( char *datain,int *yearout,int *monthout,int *dayout);/判斷是否為閏年int leap(int year);/計(jì)算某年某月的天數(shù)int month_days

20、(int year,int month);/計(jì)算若干年的總天數(shù)unsigned int yearsdays(int toyear);/計(jì)算某個(gè)月的總天數(shù)int days(int year,int month);/日期換算為秒,用于排序unsigned int data2sec( usedata * datain );/判斷日期邏輯是否正確int isdatanumright(int yearin,int monthin,int dayin);/判斷日期是否正確int isdataright(char *datain,int *yearout,int *monthout,int *dayout)

21、;/調(diào)用系統(tǒng)時(shí)間,給結(jié)日期結(jié)構(gòu)體添加時(shí)間void systime(usedata * data4time);/客戶編號(hào)驗(yàn)證int isidexist(int idin);/*存款、取款、查詢相關(guān)函數(shù)*/存取款void deposit_withdraw(int actclass );/信息查詢int infofind( int actclass , int infoclass );/尋找插入點(diǎn)records * inpoint();/將存取款記錄按照日期排序void toorder();/增加存取款記錄int inout(int idin,double actnum, usedata * act

22、data, int actclass);/id、姓名、地址、電話查詢結(jié)構(gòu)體數(shù)組idint find(int idin,char *namein,char *addressin,int telnumin);/存取款記錄和余額查詢并輸出int findoutput( int idin,char * namein, char * addressin, int telnumin, int actclass );/退出void exit0();/*主函數(shù)*/*功能:調(diào)用各個(gè)子函數(shù)完成功能輸入:無(wú)返回:無(wú)*/int main()int curid=0,curtel=0;double curmoney=0;

23、char inputdata20=0,curname20=0,curaddress1024;/客戶名單初始化startvalue();while(1)switch( menu() )case 1:/存款system(cls);deposit_withdraw(1);break;case 2:/取款system(cls);deposit_withdraw(-1);break;case 3:/余額查詢system(cls);if( infofind(0,3) != -1 )printf(tt 查詢完成!按任意鍵繼續(xù)!);getch();break;case 4:/存款記錄查詢system(cls)

24、;if( infofind(1,4) != -1 )printf(tt 查詢完成!按任意鍵繼續(xù)!);getch();break;case 5:/取款記錄查詢system(cls);if( infofind(-1,5) != -1 )printf(tt 查詢完成!按任意鍵繼續(xù)!);getch();break;case 6:/退出system(cls);exit0();break;default:break;return 0;/*初始化*/*功能:給用戶結(jié)構(gòu)體數(shù)組賦值,并從文件中讀取歷史操作記錄寫入鏈表輸入:無(wú)返回:無(wú)*/void startvalue()int i=0,startid=0,sta

25、rtactclass=0;double startactnum=0;usedata startdata;customer0.id=1;strcpy(,唐僧);strcpy(customer0.address,東土大唐);customer0.telnum=88888880;customer0.account=1000000.0;customer0.password=8888888;customer1.id=2;strcpy(,孫悟空);strcpy(customer1.address,花果山);customer1.telnum=888888

26、81;customer1.account=100000.0;customer1.password=8888888;customer2.id=3;strcpy(,豬八戒);strcpy(customer2.address,高老莊);customer2.telnum=88888882;customer2.account=10000.0;customer2.password=8888888;customer3.id=4;strcpy(,沙和尚);strcpy(customer3.address,流沙河);customer3.telnum=888

27、88883;customer3.account=1000.0;customer3.password=8888888;customer4.id=5;strcpy(,佛祖);strcpy(customer4.address,西天);customer4.telnum=88888884;customer4.account=100000000.0;customer4.password=8888888;if( !( ( fp=fopen(records.txt,r) )=null ) )while(!feof(fp)fscanf(fp,%d%lf%d%d%d%d%d%d%d,&

28、startid,&startactnum,&startactclass,&startdata.year,&startdata.month,&startdata.day,&startdata.hour,&startdata.min,&startdata.sec);if(feof(fp)break;inout(startid,startactnum,&startdata,startactclass);fclose(fp);start:printf(nnn);systitle();printf(ttn);printf(tt 作者:朱鵬 學(xué)號(hào):20120231406 n);printf(ttn);pr

29、intf(ttn);if(i=0)printf(ttt系統(tǒng)正在初始化不要著急哦親);for(i=0;i4;i+)sleep(1000);printf(.);system(cls);goto start;printf(ttt親恭喜哦!初始化成功了哦n);printf(ttt按任意鍵進(jìn)入系統(tǒng)了哦);getch();fflush(stdin);return;/*頭部信息*/*功能:顯示程序頭部信息輸入:無(wú)返回:無(wú)*/void systitle()system(title 簡(jiǎn)易銀行信息管理系統(tǒng) by 朱鵬);printf(nn);printf(ttn);printf(tt歡迎使用n);printf(t

30、t簡(jiǎn)易銀行信息管理系統(tǒng)n);printf(ttn);/*一級(jí)菜單*/*功能:顯示主菜單,并完成菜單的選擇輸入:無(wú)返回:選擇的菜單序號(hào)整型*/int menu()int x;system(cls);systitle();printf(ttn);printf(tt 主菜單 n);printf(ttn);printf(tt n);printf(tt 1、存款 n);printf(tt 2、取款 n);printf(tt 3、查詢余額 n);printf(tt 4、查詢存款記錄 n);printf(tt 5、查詢?nèi)】钣涗?n);printf(tt 6、退出 n);printf(ttn);printf(

31、tt 親輸入數(shù)字16就能使用對(duì)應(yīng)的功能了哦:);dofflush(stdin);scanf(%d,&x);if(x6)printf(tt 親您的輸入有誤喲請(qǐng)重新輸入:);while(x6);fflush(stdin);return x;/*二級(jí)菜單*/*功能:顯示二級(jí)菜單,并完成菜單的選擇輸入:操作類型整型返回:選擇的菜單序號(hào)整型*/int menu2( int infoclass )int x;char infoname20=0;switch (infoclass)case 1:strcpy( infoname,存款 );break;case -1:strcpy( infoname,取款 )

32、;break;case 3:strcpy( infoname,余額 );break;case 4:strcpy( infoname,存款記錄 );break;case 5:strcpy( infoname,取款記錄 );break;system(cls);systitle();printf(ttn);printf(tt %s-用戶信息查詢 t n,infoname);printf(ttn);printf(tt n);printf(tt 1、輸入客戶編號(hào)查詢(15) n);printf(tt 2、輸入客戶姓名查詢 n);printf(tt 3、輸入客戶地址查詢 n);printf(tt 4、輸入

33、客戶電話查詢 n);printf(tt 0、返回 n);printf(ttn);printf(tt 親輸入數(shù)字04就能使用對(duì)應(yīng)的功能了哦:);dofflush(stdin);scanf(%d,&x);if(x4)printf(tt 親您的輸入有誤喲請(qǐng)重新輸入:);while(x4);fflush(stdin);return x;/*輸入函數(shù)*/*功能:顯示需要輸入的內(nèi)容,并在給定的地址中賦值輸入對(duì)應(yīng)功能char *cbox存放字符串輸入內(nèi)容int *ibox存放整型數(shù)據(jù)double * money金額存放雙精度數(shù)據(jù)金額int inputclass1.2.3對(duì)應(yīng)前面的三個(gè)輸入值類型char *b

34、oxname輸入信息的名字返回:無(wú)*/void input(char *cbox,int *ibox,double * money,int inputclass,char *boxname)fflush(stdin);printf(tt 請(qǐng)輸入%s:,boxname);if(inputclass=1)/值為1,輸入字符gets(cbox);else if(inputclass=2)/值為2,輸入整數(shù)scanf(%d,ibox);else if(inputclass=3)/值為3,輸入金額doscanf(%lf,money);if( *money 0 )printf(tt 金額不能為負(fù)值哦重新輸

35、入吧親:);while( *money 0 );fflush(stdin);return ;/*日期、時(shí)間相關(guān)函數(shù)*/*功能:將字符型的日期轉(zhuǎn)換為整型,并分離出年月日輸入對(duì)應(yīng)功能char *datain輸入用戶輸入的字符型日期int *yearout存放年int *monthout存放月int *dayout存放日返回:無(wú)*/void char2int ( char *datain,int *yearout,int *monthout,int *dayout)int count=0,i=0;for (i=0;istrlen(datain);i+)if(dataini=-)count+;else

36、 if(count=0)*yearout = (*yearout)*10 + dataini-0;else if(count=1)*monthout = (*monthout)*10 + dataini-0;else if(count=2)*dayout = (*dayout)*10 + dataini-0;return ;/*功能:判斷是否為閏年*輸入:整型數(shù)據(jù)年*返回:閏年1/非閏年0整型*/int leap(int year) int lp; lp=( year%4=0 & year%100!=0 | year%400=0)?1:0;return lp;/*功能:計(jì)算某年某月份的天數(shù)*輸

37、入:年,月*返回:輸入年份月份的天數(shù)整型*/int month_days(int year,int month) int day;switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;case 2: day = leap(year)?29:28;break;default:day = 30; return day;/*功能:計(jì)算若干年的總天數(shù)*輸入:當(dāng)前年份*返回:從1900到當(dāng)前年份的總天數(shù)整型*/unsigned int yearsdays(int toyear)int i;unsign

38、ed int yds=0;for (i=1900;itoyear;i+)yds +=365+leap(i);return yds;/*功能:計(jì)算某年前幾個(gè)月份的總天數(shù)*輸入:當(dāng)前年,月*返回:該年從1月到輸入月份的總天數(shù)整型*/int days(int year,int month) int i,ds=0; for (i=1;iyear )+days( datain-year, datain-month )+datain-day)*24*60*60+ datain-hour *60*60 +datain-min *60 +datain-sec);/*功能:判斷日期邏輯是否正確*輸入:年,月,日*返回:日期邏輯正確1/錯(cuò)誤0整型*/int isdatanumright(int yearin,int monthin,int dayin)if( dayin0 & dayin hour = timeinfo-tm_hour;data4time-min = timeinfo-tm_min;data4time-sec = timeinfo-tm_sec;return ;/*客戶編號(hào)驗(yàn)證*/*功能:判斷客

溫馨提示

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

評(píng)論

0/150

提交評(píng)論