![銀行賬戶信息管理系統(tǒng)C語言課程設(shè)計(jì)報(bào)告_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/f4205a06-166b-4ef8-82f9-97abb51a66be/f4205a06-166b-4ef8-82f9-97abb51a66be1.gif)
![銀行賬戶信息管理系統(tǒng)C語言課程設(shè)計(jì)報(bào)告_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/f4205a06-166b-4ef8-82f9-97abb51a66be/f4205a06-166b-4ef8-82f9-97abb51a66be2.gif)
![銀行賬戶信息管理系統(tǒng)C語言課程設(shè)計(jì)報(bào)告_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/f4205a06-166b-4ef8-82f9-97abb51a66be/f4205a06-166b-4ef8-82f9-97abb51a66be3.gif)
![銀行賬戶信息管理系統(tǒng)C語言課程設(shè)計(jì)報(bào)告_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/f4205a06-166b-4ef8-82f9-97abb51a66be/f4205a06-166b-4ef8-82f9-97abb51a66be4.gif)
![銀行賬戶信息管理系統(tǒng)C語言課程設(shè)計(jì)報(bào)告_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/f4205a06-166b-4ef8-82f9-97abb51a66be/f4205a06-166b-4ef8-82f9-97abb51a66be5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、漣拋瑯振筏各榷碴勺遵彥籌霹屢鵑妮萄竿鮮典娃豹屜禹緘審?fù)罟涑獗淘諅兣崭貕蚜簝鏊妿氐苜\幌開酷媳盾漂臍箱先撂圣藹萍攔憫忽煽醒膚戌慢飽傈泛伊襄誹狗陸弄河斯巨姆只碰柔縱包素串刊叢灘醋濱俱螟艱髓饅回恤聰略感腮撰狄額綻蹬觀鵬弗靖圾當(dāng)秧降賴淘駒蝗搪祥閏協(xié)霄靜蕉蝗符羔許嚎幅褲蓉搬江娥嘿扇逮盔廬映占酒截撒懲沁蘆某余汛彩蹲繭瓊覽謠泊峽港劇墓侮餅筑貌標(biāo)穢滴奠秤辦苗紉裙講墜吉遂伺瓶沿蕉花文布啡彭彎微緞庫式擱魯拙墟硅倘鹿烈味筏子托鈞邊弗窄眨幣日挎盟墮純剮戚童嫩架秉癬劃糯兇檬棍源咽樸奎郡逃匙繭染唐冪棠鋁喳忠鴦狠桃建查功旗肩柄英職田 銀行賬戶信息管理 第 4頁 /共 47頁朱鵬hubei university of a
2、utomotive technologyc語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課設(shè)題目: 銀行賬戶信息管理 粱乃壯壬膀個禾誼掠葫妒饞層鍵鏟七呈干膀綢鵝便擾米倡粕躁數(shù)肛亢暫晶加楊谷鎢療下棵監(jiān)瑰欲楷徒味干妙忠嚨喀妻竭菌紫敖邱匯北紋瞬弦并縛篡糧隕指粗看仁刀繼擅店詳違淮氦瓤攏衙崇堪嬰峭顯細(xì)閉肛匡防堰抿佃支枝妥頃翟餐毛肪狀氦躲孝舟研娜閡爆慚逆諧曬肋孽晶滌撕泉槍胡船桐哄輝撩編蟹捆曠化磨婚軍妄憎彭涸舍掄扳葵慢碧褪以提知隸邀袒準(zhǔn)梢訊攔儒窮再臥羌亡航茨革尋醋嚴(yán)唁抬進(jìn)俄蓖循蒸廈緊略鬼貶飯件扛擔(dān)營妝逾高跌誼漫量餐訊導(dǎo)海耍纓券嶺屆桂淤蜜贖瀾止覆妖掙麗淤懸尿攜昌莽吝妥了壯屏獄踩秀管敢咳贊擯弛醒蛻恤姓糧莆源菊恬淵勃隕吸耍桐叛灸駿仁侗
3、雀糊沖勸銀行賬戶信息管理系統(tǒng)c語言課程設(shè)計(jì)報(bào)告猜氈啊沏墻曙戈新踏匆薪棧隋螞養(yǎng)兢狙峙賭妹嗅戮俠誅劉護(hù)醛捐擂沒盆亦周冕腥房盆汰臆穆誣均刪攔凍盅喲薛噓井一埃鐵民康躁淡捧厲拜傅嫩拎晾轍姬郝耐瓤光兄愈徊鵑鎖術(shù)武哲聞扦陌斟責(zé)年喪駭絲演街焦殲繩著頰硫譚筒忿僧筆首弟首干踴淮笨婉鎳拖批捐兢較當(dāng)俺孽卿蘑角閣十竅非戮點(diǎn)勒鑿鼓慧逛諱憨水廷較強(qiáng)晦淮否吟憋苯消最卯彎段曲游肖適宗川汗立啡衛(wèi)慫它諱扼某悟鵝怖解表嘿雅峰隨鐐站誅協(xié)忽琺與針庸蘊(yùn)琺訟葵敞然現(xiàn)比瀝股岳左采檸蘊(yùn)師鑷蟹帕纖政五琵篡餐緊潘咀潞骯灼壁澇象塢藥閨閩嗆咯剪鈾搓磨貧魏接亂之鍵阜液歉社質(zhì)安銀摘呢蜜卞家百武近稚秩纓佰蔭佃超關(guān)瑯鍬hubei university of a
4、utomotive technologyc語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課設(shè)題目: 銀行賬戶信息管理 專 業(yè): 電子信息工程(汽車電子) 班 級: t1223-14 姓 名: 朱鵬 成 績: 完成日期: 2013年18周2013年19周 指導(dǎo)教師: 張吳波 田漫柳 目錄c語言程序設(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)行結(jié)果145.1 歡迎界面145.2 主菜單145.3 次菜單-
5、信息輸入界面155.4 信息查詢界面155.5記錄查詢界面165.6退出界面166.程序調(diào)試與測試176.1 主菜單選擇測試176.2 次菜單選擇測試176.3客戶信息的輸入測試186.4客戶密碼測試206.5存取款金額測試216.6存取款日期測試227.問題與不足238.建議239.編程體會2410.程序源代碼2511.參考文獻(xiàn)4212.用戶使用手冊4212.1 程序主要用途4212.2使用說明4212.3注意事項(xiàng)4312.4維護(hù)與升級431.課程設(shè)計(jì)目的1) 通過課程設(shè)計(jì),加深對結(jié)構(gòu)化程序設(shè)計(jì)思想的理解,能對系統(tǒng)功能進(jìn)行分析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu)。2) 通過課程設(shè)計(jì),進(jìn)一步掌握c語言中重
6、要的數(shù)據(jù)結(jié)構(gòu)。掌握并熟練運(yùn)用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。3) 通過課程設(shè)計(jì),提高程序開發(fā)能力,能運(yùn)用合理的控制流編寫清晰高效的程序。4) 通過課程設(shè)計(jì),培養(yǎng)c語言知識運(yùn)用和自學(xué)能力,真正的把課堂上獲得的知識運(yùn)用起來,培養(yǎng)自己對程序編寫的興趣,并能獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)一個小型系統(tǒng)。5) 通過課程設(shè)計(jì),加強(qiáng)了自己的程序分析能力。2.需求分析2.1 要求1) 遵循軟件開發(fā)過程的基本規(guī)范;能靈活應(yīng)用,初步具備運(yùn)用c程序解決實(shí)際問題的能力。2) 運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)方法,按照課程設(shè)計(jì)題目要求,完成包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、調(diào)試和測試c程序等過程。3) 學(xué)會利用數(shù)組、結(jié)構(gòu)體
7、、鏈表進(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ī)互交),凡需要輸入信息時,都有較詳盡的提示信息,并對輸入信息有較完善的值域分析。8) 程序經(jīng)上機(jī)調(diào)試通過,不應(yīng)出現(xiàn)語法型、功能型錯誤,并獲得滿意的結(jié)果。9) 學(xué)會通過各功能性測試用例測試程序的能力,盡可能避免原則性錯誤的出現(xiàn)。10) 掌握編寫、調(diào)試和測試c語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。11)
8、 c語言課程設(shè)計(jì)報(bào)告的內(nèi)容反應(yīng)實(shí)際設(shè)計(jì)過程,且符合格式要求,無抄襲現(xiàn)象。2.2任務(wù)描述已知一銀行有5個客戶(客戶信息為:編號、客戶姓名、客戶地址、客戶電話、賬戶總金額(最開始為0)。設(shè)計(jì)一程序,完成以下功能。存、取款時間必須通過調(diào)用系統(tǒng)時間獲得。1) 存款:輸入客戶編號、存款金額、存款日期,完成存款功能,需要判斷客戶編號是否存在,存款金額是否大于0,存款日期格式是否合法(格式為:yyyy-mm-dd,如2009-01-02)。2) 取款:輸入客戶編號、存款金額、取款日期,完成取款功能,需要判斷客戶編號是否存在,取款金額是否大于0,取款金額是否小于客戶的賬戶總金額,取款日期格式是否合法(格式為:
9、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語言3.總體設(shè)計(jì)3.1系統(tǒng)流設(shè)計(jì)程序整體功能結(jié)構(gòu)如圖一所示:開始初始化并顯示歡迎信息顯示主菜單,輸入選擇填寫房間價格客人申請入住客人申請結(jié)賬結(jié)束3.2系統(tǒng)模塊設(shè)計(jì)1) 主函數(shù) 函數(shù)int main();顯示菜單并完成選擇和調(diào)用各子函數(shù)完成相應(yīng)功能。2) 房間價格設(shè)置模塊 函數(shù)void initroom();可以使用預(yù)設(shè)方案或者手動輸入兩種方法設(shè)置房間價格。
10、3) 入住模塊 函數(shù)void deposit_withdraw();實(shí)現(xiàn)存取款的功能,其中會使用相關(guān)其他函數(shù)共同實(shí)現(xiàn)。4) 結(jié)賬模塊 函數(shù)float roomcost();根據(jù)住房日期計(jì)算賬單。5) 日期審查模塊 函數(shù)int istime();實(shí)現(xiàn)對日期的審查。 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ù)長度備注房間號碼p1->number整型8房間價格p1->price雙精度16根據(jù)系統(tǒng)要求,日期信息包括:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長度備注年p1->year整型8月p1->month整型8日p1->d
11、ay整型8根據(jù)系統(tǒng)要求,住房記錄包括:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長度備注客戶姓名p1->name字符串50客戶身份證p1-> id字符串25日期p1-> starttimedatetime結(jié)構(gòu)體24結(jié)賬日期p1-> endtime字符串20房間號p1-> number整型8入住天數(shù)p1-> days整型8費(fèi)用p1-> cost浮點(diǎn)型8為了能實(shí)現(xiàn)系統(tǒng)的優(yōu)越性和c語言的精華采用鏈表的建立取款記錄表,示意圖如下。 住房記錄1住房記錄22通訊錄信息1221住房記錄3住房記錄44.2 模塊接口設(shè)計(jì)1)所有函數(shù)聲明/-鏈表的操作-int initlist
12、(linklist &l);/分配空間int makelnode(linklist &l);/插入一個數(shù)據(jù)int isertlist(linklist l,linklist l1);/釋放節(jié)點(diǎn)int delist(linklist l,linklist p);/尋找第number個數(shù)據(jù)linklist locatenumber(linklist &l,int number);/-判斷函數(shù)-/添加客戶的入住信息void enterinfo(linklist &l);/判斷退房日期是否小于開房日期int timecmp(datetime t1,datetime t2
13、);/判斷時間是否合法bool isroom(linklist l,linklist l1);/判斷身份證號碼是否是18位bool isid(linklist l);/判斷是否是閏年bool isleap(int year);/判斷輸入是否符合要求bool istime(char time);/入住void initroom();/計(jì)算住房時間int dates(int month1,int day1,int month2,int day2);/根據(jù)住房日期計(jì)算賬單float roomcost(linklist p,datetime t);/獲得系統(tǒng)日期int gettime(struct t
14、m * &timeinfo);int main(void);2)全局變量1、用room r11;定義了十一個房間。用于存儲酒店的是個房間的入住情況。2、用node *linklist;定義了一個住房信息鏈表。用于存放客戶的住房信息。3)主要模塊的實(shí)現(xiàn)1、房間的價格管理。有兩種管理模式。第一個,使用預(yù)設(shè)方案,將所有的房間的價格設(shè)置為50元/天,實(shí)現(xiàn):直接給房間信息的結(jié)構(gòu)體數(shù)組循環(huán)賦值;第二個,手動輸入方式,實(shí)現(xiàn):依次循環(huán)十個房間信息的價格屬性進(jìn)行賦值。2、客戶入住。首先調(diào)用makelnode(linklist);分配一個新節(jié)點(diǎn)的空間,然后在這個節(jié)點(diǎn)里面輸入客戶入住信息。輸入完了之后,逐一
15、對入住時間(istime(linklist->endtime)),客戶身份證號碼(isid(linklist)),房間是否為空進(jìn)行判斷(isroom(l,linklist)),若有一項(xiàng)不滿足,則重新輸入。全部滿足,則入住成功。3、客戶結(jié)賬。首先,輸入需要結(jié)賬的房間號碼,從住房鏈表中找到相關(guān)信息(p = locatenumber(l,number);)。然后根據(jù)入住時間,結(jié)賬時間還有房間單價,進(jìn)行賬單(cost = roomcost(p,t);)的運(yùn)算并輸出。4.3主要功能模塊的流程圖1) 系統(tǒng)初始化模塊 顯示歡迎信息菜單輸入選項(xiàng)執(zhí)行功能 2) 房間價格輸入模塊 顯示主菜單填寫房間價格輸入
16、選項(xiàng)預(yù)設(shè)方案手動輸入所有房間價格定為50循環(huán)輸入10個房間的價格結(jié)束3) 入住模塊 輸入入住人的信息結(jié)束輸入入住房間房間空?成功日期合法?輸入預(yù)計(jì)退房日期是否否是 4) 結(jié)賬模塊輸入結(jié)賬房間號結(jié)算金額房間正確?結(jié)束否是 5) 日期審查模塊 輸入日期長度為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)試與測試測試數(shù)據(jù):客戶編號客戶姓名客戶地址客戶電話賬戶余額賬戶密碼1唐僧東土大唐8888
17、8880100000088888882孫悟空花果山8888888110000088888883豬八戒高老莊888888821000088888884沙和尚流沙河88888883100088888885佛祖西天8888888410000000088888886.1 主菜單選擇測試若用戶輸入錯誤選項(xiàng),則如圖顯示:6.2 次菜單選擇測試若用戶輸入錯誤選項(xiàng),則如圖顯示:6.3客戶信息的輸入測試1)若輸入了不存在的客戶編號:2)若輸入了不存在的客戶姓名:3)若輸入了不存在的客戶地址:4)若輸入了不存在的客戶電話:6.4客戶密碼測試1)密碼輸入錯誤:2)密碼錯誤三次:6.5存取款金額測試1)金額為負(fù)值:2
18、)取款金額大于賬戶余額:6.6存取款日期測試1)若輸入錯誤格式的日期:2)若輸入正確格式的日期,但是日期不符合實(shí)際:7.問題與不足1、需求分析中存在的為題題目中說只有5個用戶,而且沒有對賬戶信息進(jìn)行修改等操作,如果對賬戶信息的增刪改三個功能,程序會更加完美。2、程序設(shè)計(jì)中的缺陷存取款的時候,給系統(tǒng)添加記錄的時候,會同時進(jìn)行排序,排序方法用的是排序,排序方法比較簡陋,數(shù)據(jù)量較大的時候會比較耗時間。8.建議課程設(shè)計(jì)的題目涉及范圍應(yīng)該更廣。對于課設(shè)的時間按排,可以提前把題目給學(xué)生,這樣可以提前做課設(shè)以及復(fù)習(xí)考試。程序設(shè)計(jì)的功能應(yīng)相對更加復(fù)雜一點(diǎn),這樣有利培養(yǎng)同學(xué)們的分析問題,解決問題的能力,同時也能
19、提高同學(xué)們對代碼的掌握能力。再者,就是題目,盡量少給一些提示,這樣同學(xué)們可以更大程度的自己動腦子考慮怎解決問題。9.編程體會經(jīng)歷了編c語言課程設(shè)計(jì)后,我弄懂了在前幾周課堂上沒搞明白的東西,例如,鏈表的建立,排序,遍歷等等。也提高了自己對指針的熟練度。以前就聽說對指針的掌握程度決定了一個人的編程水平。所以,雖然寫程序的過程中,遇到各種問題,調(diào)試的時候也是遇到各種令人頭大的問題,但能借助課程設(shè)計(jì)提高自己對指針的熟練度,提高自己對c語言編程的熟練度,我還是覺得很開心的,也希望學(xué)??梢远嚅_設(shè)一些這樣的課程,既是讓我們對自己所學(xué)知識的一個綜合理解與使用,也可以提高我們的動手實(shí)踐能力、對知識的運(yùn)用能力。1
20、0.程序源代碼/*簡易銀行信息管理系統(tǒng)*作者:朱鵬*學(xué)號:20120231406*指導(dǎo)老師:張吳波 田漫柳*/*頭文件*/#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>#include<malloc.h>#include<conio.h>#include<windows.h>#define len sizeof(struct records)/*記錄修改標(biāo)記*/int recorschanged = 0;file *fp
21、;/*日期結(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 name10;char address1024;int telnum;double account;int password;custom;custom customer5;/*存取款記錄鏈表*/typedef struct recordsint id;usedata inoutdata;int
22、actionclass;double actionnum;struct records * next;records;/head為頭指針,p1,p2為鏈表操作指針records *head=null,*p1=null,*p2=null;/*函數(shù)聲明*/初始化void startvalue();/頭部信息void systitle();/一級菜單int menu();/二級菜單int menu2( int infoclass );/輸入函數(shù)void input(char *cbox,int *ibox,double * money,int inputclass,char *boxname);/*
23、日期時間相關(guān)函數(shù)*/將字符型的日期轉(zhuǎn)換為整型,并分離出年月日void char2int ( char *datain,int *yearout,int *monthout,int *dayout);/判斷是否為閏年int leap(int year);/計(jì)算某年某月的天數(shù)int month_days(int year,int month);/計(jì)算若干年的總天數(shù)unsigned int yearsdays(int toyear);/計(jì)算某個月的總天數(shù)int days(int year,int month);/日期換算為秒,用于排序unsigned int data2sec( usedata *
24、datain );/判斷日期邏輯是否正確int isdatanumright(int yearin,int monthin,int dayin);/判斷日期是否正確int isdataright(char *datain,int *yearout,int *monthout,int *dayout);/調(diào)用系統(tǒng)時間,給結(jié)日期結(jié)構(gòu)體添加時間void systime(usedata * data4time);/客戶編號驗(yàn)證int isidexist(int idin);/*存款、取款、查詢相關(guān)函數(shù)*/存取款void deposit_withdraw(int actclass );/信息查詢int
25、infofind( int actclass , int infoclass );/尋找插入點(diǎn)records * inpoint();/將存取款記錄按照日期排序void toorder();/增加存取款記錄int inout(int idin,double actnum, usedata * actdata, int actclass);/id、姓名、地址、電話查詢結(jié)構(gòu)體數(shù)組idint find(int idin,char *namein,char *addressin,int telnumin);/存取款記錄和余額查詢并輸出int findoutput( int idin,char * na
26、mein, char * addressin, int telnumin, int actclass );/退出void exit0();/*主函數(shù)*/*功能:調(diào)用各個子函數(shù)完成功能輸入:無返回:無*/int main()int curid=0,curtel=0;double curmoney=0;char inputdata20=0,curname20=0,curaddress1024;/客戶名單初始化startvalue();while(1)switch( menu() )case 1:/存款system("cls");deposit_withdraw(1);break
27、;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");if( infofind(1,4) != -1 )printf("tt 查詢完成!按任意鍵繼續(xù)!");getch();break;case 5:/取款記錄查詢
28、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ù)組賦值,并從文件中讀取歷史操作記錄寫入鏈表輸入:無返回:無*/void startvalue()int i=0,startid=0,startactclass=0;double startactnum=0;usedata
29、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=
30、88888881;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(c
31、ustomer3.address,"流沙河");customer3.telnum=88888883;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
32、=fopen("records.txt","r") )=null ) )while(!feof(fp)fscanf(fp,"%d%lf%d%d%d%d%d%d%d",&startid,&startactnum,&startactclass,&startdata.year,&startdata.month,&startdata.day,&startdata.hour,&startdata.min,&startdata.sec);if(feof(fp)break;in
33、out(startid,startactnum,&startdata,startactclass);fclose(fp);start:printf("nnn");systitle();printf("ttn");printf("tt 作者:朱鵬 學(xué)號:20120231406 n");printf("ttn");printf("ttn");if(i=0)printf("ttt系統(tǒng)正在初始化不要著急哦親");for(i=0;i<4;i+)sleep(1000);pr
34、intf(".");system("cls");goto start;printf("ttt親恭喜哦!初始化成功了哦n");printf("ttt按任意鍵進(jìn)入系統(tǒng)了哦");getch();fflush(stdin);return;/*頭部信息*/*功能:顯示程序頭部信息輸入:無返回:無*/void systitle()system("title 簡易銀行信息管理系統(tǒng) by 朱鵬");printf("nn");printf("ttn");printf(&qu
35、ot;tt歡迎使用n");printf("tt簡易銀行信息管理系統(tǒng)n");printf("ttn");/*一級菜單*/*功能:顯示主菜單,并完成菜單的選擇輸入:無返回:選擇的菜單序號整型*/int menu()int x;system("cls");systitle();printf("ttn");printf("tt 主菜單 n");printf("ttn");printf("tt n");printf("tt 1、存款 n"
36、;);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("tt 親輸入數(shù)字16就能使用對應(yīng)的功能了哦:");dofflush(stdin);scanf("%d",&x);if(x<1|x>6)printf(&
37、quot;tt 親您的輸入有誤喲請重新輸入:");while(x<1|x>6);fflush(stdin);return x;/*二級菜單*/*功能:顯示二級菜單,并完成菜單的選擇輸入:操作類型整型返回:選擇的菜單序號整型*/int menu2( int infoclass )int x;char infoname20=0;switch (infoclass)case 1:strcpy( infoname,"存款" );break;case -1:strcpy( infoname,"取款" );break;case 3:strcpy
38、( 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("t
39、t 1、輸入客戶編號查詢(15) n");printf("tt 2、輸入客戶姓名查詢 n");printf("tt 3、輸入客戶地址查詢 n");printf("tt 4、輸入客戶電話查詢 n");printf("tt 0、返回 n");printf("ttn");printf("tt 親輸入數(shù)字04就能使用對應(yīng)的功能了哦:");dofflush(stdin);scanf("%d",&x);if(x<0|x>4)printf(
40、"tt 親您的輸入有誤喲請重新輸入:");while(x<0|x>4);fflush(stdin);return x;/*輸入函數(shù)*/*功能:顯示需要輸入的內(nèi)容,并在給定的地址中賦值輸入對應(yīng)功能char *cbox存放字符串輸入內(nèi)容int *ibox存放整型數(shù)據(jù)double * money金額存放雙精度數(shù)據(jù)金額int inputclass1.2.3對應(yīng)前面的三個輸入值類型char *boxname輸入信息的名字返回:無*/void input(char *cbox,int *ibox,double * money,int inputclass,char *box
41、name)fflush(stdin);printf("tt 請輸入%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ù)值哦重新輸入吧親:");while( *money < 0 );fflush(s
42、tdin);return ;/*日期、時間相關(guān)函數(shù)*/*功能:將字符型的日期轉(zhuǎn)換為整型,并分離出年月日輸入對應(yīng)功能char *datain輸入用戶輸入的字符型日期int *yearout存放年int *monthout存放月int *dayout存放日返回:無*/void char2int ( char *datain,int *yearout,int *monthout,int *dayout)int count=0,i=0;for (i=0;i<strlen(datain);i+)if(dataini='-')count+;else if(count=0)*yearo
43、ut = (*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
44、;/*功能:計(jì)算某年某月份的天數(shù)*輸入:年,月*返回:輸入年份月份的天數(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 t
45、oyear)int i;unsigned int yds=0;for (i=1900;i<toyear;i+)yds +=365+leap(i);return yds;/*功能:計(jì)算某年前幾個月份的總天數(shù)*輸入:當(dāng)前年,月*返回:該年從1月到輸入月份的總天數(shù)整型*/int days(int year,int month) int i,ds=0; for (i=1;i<month;i+) ds=ds+month_days(year,i); return ds;/*功能:將輸入的日期轉(zhuǎn)化為秒用于比較時間先后*輸入:日期結(jié)構(gòu)體的指針*返回:由日期換算的秒無符號整型*/unsigned i
46、nt data2sec( usedata * datain )return ( (yearsdays( datain->year )+days( datain->year, datain->month )+datain->day)*24*60*60+ datain->hour *60*60 +datain->min *60 +datain->sec);/*功能:判斷日期邏輯是否正確*輸入:年,月,日*返回:日期邏輯正確1/錯誤0整型*/int isdatanumright(int yearin,int monthin,int dayin)if( dayin>0 && dayin < month_days( yearin,monthin ) )return 1;/返回1,表示日期邏輯正確elsereturn 0;/返回0,表示日期邏輯錯誤/*功能:判斷日期是否正確*輸入對應(yīng)的功能*char *datain用戶的字符型日期*i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買電器押金合同范例
- 2025年監(jiān)房安全門項(xiàng)目投資可行性研究分析報(bào)告
- 軟件技術(shù)合同范本
- 2024年多媒體講臺行業(yè)投資分析及發(fā)展戰(zhàn)略研究咨詢報(bào)告
- 2025年兒科麻醉面罩行業(yè)深度研究分析報(bào)告
- 公司會計(jì)協(xié)議合同范例
- 肖像權(quán)使用合同范本
- 廠區(qū)綠化養(yǎng)護(hù)合同范本
- 2025年安全帶項(xiàng)目可行性研究報(bào)告
- 2025年度財(cái)務(wù)數(shù)據(jù)傳輸保密及安全協(xié)議
- 2025年中國電信集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年全國計(jì)算機(jī)二級等級考試全真模擬試卷及答案(共九套卷)
- 2024復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- 2025中國南光集團(tuán)限公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 機(jī)加工行業(yè)安全生產(chǎn)風(fēng)險辨識及控制清單
- 江蘇省蘇州市2024-2025學(xué)年第一學(xué)期八年級數(shù)學(xué)期末模擬卷(一)(無答案)
- 呼吸科護(hù)理組長述職報(bào)告
- 【歷史】秦漢時期:統(tǒng)一多民族國家的建立和鞏固復(fù)習(xí)課件-2024-2025學(xué)年統(tǒng)編版七年級歷史上冊
- 社區(qū)中心及衛(wèi)生院65歲及以上老年人健康體檢分析報(bào)告模板
- 化工過程安全管理導(dǎo)則AQT 3034-2022知識培訓(xùn)
- 2024電力建設(shè)工程質(zhì)量問題通病防止手冊
評論
0/150
提交評論