版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> C語言程序設(shè)計</b></p><p><b> 課程設(shè)計報告</b></p><p> 課設(shè)題目: 銀行賬戶信息管理 </p><p> 專 業(yè): 電子信息工程(汽車電子) </p><p
2、> 班 級: T1223-14 </p><p> 姓 名: </p><p> 成 績: </p><p> 完成日期:
3、 2013年18周-2013年19周 </p><p> 指導(dǎo)教師: </p><p><b> 目錄</b></p><p><b> C語言程序設(shè)計0</b></p><p><b> 課程設(shè)計報告0
4、</b></p><p><b> 目錄1</b></p><p> 1.課程設(shè)計目的2</p><p><b> 2.需求分析2</b></p><p><b> 2.1 要求2</b></p><p><b>
5、 2.2任務(wù)描述3</b></p><p><b> 2.3運行環(huán)境4</b></p><p><b> 2.4開發(fā)工具4</b></p><p><b> 3.總體設(shè)計4</b></p><p> 3.1系統(tǒng)流設(shè)計4</p><
6、;p> 3.2系統(tǒng)模塊設(shè)計5</p><p><b> 4.詳細(xì)設(shè)計6</b></p><p> 4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計6</p><p> 4.2 模塊接口設(shè)計7</p><p> 4.3主要功能模塊的流程圖9</p><p><b> 5.運行結(jié)果14<
7、;/b></p><p> 5.1 歡迎界面14</p><p> 5.2 主菜單14</p><p> 5.3 次菜單-信息輸入界面15</p><p> 5.4 信息查詢界面15</p><p> 5.5記錄查詢界面16</p><p> 5.6退出界面16&l
8、t;/p><p> 6.程序調(diào)試與測試17</p><p> 6.1 主菜單選擇測試17</p><p> 6.2 次菜單選擇測試17</p><p> 6.3客戶信息的輸入測試18</p><p> 6.4客戶密碼測試20</p><p> 6.5存取款金額測試21<
9、/p><p> 6.6存取款日期測試22</p><p> 7.問題與不足23</p><p><b> 8.建議23</b></p><p><b> 9.編程體會24</b></p><p> 10.程序源代碼25</p><p>
10、 11.參考文獻(xiàn)42</p><p> 12.用戶使用手冊42</p><p> 12.1 程序主要用途42</p><p> 12.2使用說明42</p><p> 12.3注意事項43</p><p> 12.4維護(hù)與升級43</p><p><b> 1
11、.課程設(shè)計目的</b></p><p> 通過課程設(shè)計,加深對結(jié)構(gòu)化程序設(shè)計思想的理解,能對系統(tǒng)功能進(jìn)行分析,并設(shè)計合理的模塊化結(jié)構(gòu)。</p><p> 通過課程設(shè)計,進(jìn)一步掌握C語言中重要的數(shù)據(jù)結(jié)構(gòu)。掌握并熟練運用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。</p><p> 通過課程設(shè)計,提高程序開發(fā)能力,能運用合理的控制流編寫清晰高效的程序。<
12、/p><p> 通過課程設(shè)計,培養(yǎng)C語言知識運用和自學(xué)能力,真正的把課堂上獲得的知識運用起來,培養(yǎng)自己對程序編寫的興趣,并能獨立設(shè)計和實現(xiàn)一個小型系統(tǒng)。</p><p> 通過課程設(shè)計,加強(qiáng)了自己的程序分析能力。</p><p><b> 2.需求分析</b></p><p><b> 2.1 要求<
13、/b></p><p> 遵循軟件開發(fā)過程的基本規(guī)范;能靈活應(yīng)用,初步具備運用C程序解決實際問題的能力。</p><p> 運用結(jié)構(gòu)化程序設(shè)計方法,按照課程設(shè)計題目要求,完成包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計、概要設(shè)計、詳細(xì)設(shè)計、編寫代碼、調(diào)試和測試C程序等過程。</p><p> 學(xué)會利用數(shù)組、結(jié)構(gòu)體、鏈表進(jìn)行相關(guān)信息表示。</p><p&
14、gt; 功能模塊劃分清晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,且有詳盡的功能描述</p><p> 各主要功能模塊有詳盡的流程圖及描述,用函數(shù)的形式實現(xiàn),且調(diào)用入口、功能、出口等關(guān)系正確。</p><p> 所設(shè)計的C程序較好的可讀性和可靠性;程序書寫風(fēng)格規(guī)范,注釋清晰。</p><p> 界面友好(良好的人機(jī)互交),凡需要輸入信息時,都有較詳盡的提示信息,并對輸入
15、信息有較完善的值域分析。</p><p> 程序經(jīng)上機(jī)調(diào)試通過,不應(yīng)出現(xiàn)語法型、功能型錯誤,并獲得滿意的結(jié)果。</p><p> 學(xué)會通過各功能性測試用例測試程序的能力,盡可能避免原則性錯誤的出現(xiàn)。</p><p> 掌握編寫、調(diào)試和測試C語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計的基本方法。</p><p> C語言課程設(shè)計報告的內(nèi)
16、容反應(yīng)實際設(shè)計過程,且符合格式要求,無抄襲現(xiàn)象。</p><p><b> 2.2任務(wù)描述</b></p><p> 已知一銀行有5個客戶(客戶信息為:編號、客戶姓名、客戶地址、客戶電話、賬戶總金額(最開始為0))。設(shè)計一程序,完成以下功能。存、取款時間必須通過調(diào)用系統(tǒng)時間獲得。</p><p> 存款:輸入客戶編號、存款金額、存款日期,
17、完成存款功能,需要判斷客戶編號是否存在,存款金額是否大于0,存款日期格式是否合法(格式為:YYYY-MM-DD,如2009-01-02))。</p><p> 取款:輸入客戶編號、存款金額、取款日期,完成取款功能,需要判斷客戶編號是否存在,取款金額是否大于0,取款金額是否小于客戶的賬戶總金額,取款日期格式是否合法(格式為:YYYY-MM-DD,如2009-01-02))。</p><p>
18、;<b> 查詢指定客戶的余額</b></p><p> 查詢指定客戶的存款記錄</p><p> 查詢指定客戶的取款記錄</p><p> 所有數(shù)據(jù)符合實際應(yīng)用要求</p><p><b> 2.3運行環(huán)境</b></p><p> Windows 7系統(tǒng)<
19、;/p><p> VC++6.0編譯環(huán)境</p><p><b> 2.4開發(fā)工具</b></p><p><b> C語言</b></p><p><b> 3.總體設(shè)計</b></p><p><b> 3.1系統(tǒng)流設(shè)計</b&
20、gt;</p><p> 程序整體功能結(jié)構(gòu)如圖一所示:</p><p><b> 3.2系統(tǒng)模塊設(shè)計</b></p><p> 1) 主函數(shù) 函數(shù)int main();顯示菜單并完成選擇和調(diào)用各子函數(shù)完成相應(yīng)功能。</p><p> 2) 房間價格設(shè)置模塊 函數(shù)void Initroom();可以使用預(yù)設(shè)方案
21、或者手動輸入兩種方法設(shè)置房間價格。</p><p> 3) 入住模塊 函數(shù)void Deposit_Withdraw();實現(xiàn)存取款的功能,其中會使用相關(guān)其他函數(shù)共同實現(xiàn)。</p><p> 4) 結(jié)賬模塊 函數(shù)float roomcost();根據(jù)住房日期計算賬單。</p><p> 5) 日期審查模塊 函數(shù)int istime();實現(xiàn)對日期的審查
22、。 </p><p><b> 4.詳細(xì)設(shè)計</b></p><p><b> 4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計</b></p><p> 根據(jù)系統(tǒng)要求,房間信息包括:</p><p> 根據(jù)系統(tǒng)要求,日期信息包括:</p><p> 根據(jù)系統(tǒng)要求,住房記錄包括:</p&g
23、t;<p> 為了能實現(xiàn)系統(tǒng)的優(yōu)越性和c語言的精華采用鏈表的建立取款記錄表,示意圖如下。 </p><p> 4.2 模塊接口設(shè)計</p><p><b> 1)所有函數(shù)聲明</b></p><p> //----------------------鏈表的操作-----------------------</p>
24、;<p> int InitList(LinkList &L);</p><p><b> //分配空間</b></p><p> int makeLNode(LinkList &L);</p><p><b> //插入一個數(shù)據(jù)</b></p><p> i
25、nt IsertList(LinkList L,LinkList L1);</p><p><b> //釋放節(jié)點</b></p><p> int DeList(LinkList L,LinkList p);</p><p> //尋找第number個數(shù)據(jù)</p><p> LinkList LocateNum
26、ber(LinkList &L,int number);</p><p> //----------------------判斷函數(shù)---------------------------------</p><p> //添加客戶的入住信息</p><p> void enterinfo(LinkList &L);</p><
27、;p> //判斷退房日期是否小于開房日期</p><p> int timecmp(datetime t1,datetime t2);</p><p> //判斷時間是否合法</p><p> bool isroom(LinkList L,LinkList L1);</p><p> //判斷身份證號碼是否是18位</p
28、><p> bool isid(LinkList L);</p><p><b> //判斷是否是閏年</b></p><p> bool isleap(int year);</p><p> //判斷輸入是否符合要求</p><p> bool istime(char time[]);&l
29、t;/p><p><b> //入住</b></p><p> void Initroom();</p><p><b> //計算住房時間</b></p><p> int dates(int month1,int day1,int month2,int day2);</p>&
30、lt;p> //根據(jù)住房日期計算賬單</p><p> float roomcost(LinkList p,datetime t);</p><p><b> //獲得系統(tǒng)日期</b></p><p> int gettime(struct tm * &timeinfo);</p><p> in
31、t main(void);</p><p><b> 2)全局變量</b></p><p> 1、用room r[11];定義了十一個房間。用于存儲酒店的是個房間的入住情況。</p><p> 2、用Node *LinkList;定義了一個住房信息鏈表。用于存放客戶的住房信息。</p><p><b>
32、 3)主要模塊的實現(xiàn)</b></p><p> 1、房間的價格管理。</p><p> 有兩種管理模式。第一個,使用預(yù)設(shè)方案,將所有的房間的價格設(shè)置為50元/天,實現(xiàn):直接給房間信息的結(jié)構(gòu)體數(shù)組循環(huán)賦值;第二個,手動輸入方式,實現(xiàn):依次循環(huán)十個房間信息的價格屬性進(jìn)行賦值。</p><p><b> 2、客戶入住。</b>&l
33、t;/p><p> 首先調(diào)用makeLNode(LinkList);分配一個新節(jié)點的空間,然后在這個節(jié)點里面輸入客戶入住信息。輸入完了之后,逐一對入住時間(istime(LinkList->EndTime)),客戶身份證號碼(isid(LinkList)),房間是否為空進(jìn)行判斷(isroom(L,LinkList)),若有一項不滿足,則重新輸入。全部滿足,則入住成功。</p><p>
34、<b> 3、客戶結(jié)賬。</b></p><p> 首先,輸入需要結(jié)賬的房間號碼,從住房鏈表中找到相關(guān)信息(p = LocateNumber(L,number);)。然后根據(jù)入住時間,結(jié)賬時間還有房間單價,進(jìn)行賬單(cost = roomcost(p,t);)的運算并輸出。</p><p> 4.3主要功能模塊的流程圖</p><p>
35、 1) 系統(tǒng)初始化模塊 </p><p> 2) 房間價格輸入模塊 </p><p><b> 3) 入住模塊 </b></p><p><b> 4) 結(jié)賬模塊</b></p><p> 5) 日期審查模塊 </p><p><b> 5.運行結(jié)果
36、</b></p><p><b> 5.1 歡迎界面</b></p><p><b> 5.2 主菜單</b></p><p> 5.3 次菜單-信息輸入界面</p><p> 5.4 信息查詢界面</p><p><b> 5.5記錄查詢界面
37、</b></p><p><b> 5.6退出界面</b></p><p><b> 6.程序調(diào)試與測試</b></p><p><b> 測試數(shù)據(jù):</b></p><p> 6.1 主菜單選擇測試</p><p> 若用戶輸入錯
38、誤選項,則如圖顯示:</p><p> 6.2 次菜單選擇測試</p><p> 若用戶輸入錯誤選項,則如圖顯示:</p><p> 6.3客戶信息的輸入測試</p><p> 1)若輸入了不存在的客戶編號:</p><p> 2)若輸入了不存在的客戶姓名:</p><p> 3)若
39、輸入了不存在的客戶地址:</p><p> 4)若輸入了不存在的客戶電話:</p><p><b> 6.4客戶密碼測試</b></p><p><b> 1)密碼輸入錯誤:</b></p><p><b> 2)密碼錯誤三次:</b></p><p
40、> 6.5存取款金額測試</p><p><b> 1)金額為負(fù)值:</b></p><p> 2)取款金額大于賬戶余額:</p><p> 6.6存取款日期測試</p><p> 1)若輸入錯誤格式的日期:</p><p> 2)若輸入正確格式的日期,但是日期不符合實際:<
41、;/p><p><b> 7.問題與不足</b></p><p> 1、需求分析中存在的為題</p><p> 題目中說只有5個用戶,而且沒有對賬戶信息進(jìn)行修改等操作,如果對賬戶信息的增刪改三個功能,程序會更加完美。</p><p> 2、程序設(shè)計中的缺陷</p><p> 存取款的時候,給
42、系統(tǒng)添加記錄的時候,會同時進(jìn)行排序,排序方法用的是排序,排序方法比較簡陋,數(shù)據(jù)量較大的時候會比較耗時間。</p><p><b> 8.建議</b></p><p> 課程設(shè)計的題目涉及范圍應(yīng)該更廣。對于課設(shè)的時間按排,可以提前把題目給學(xué)生,這樣可以提前做課設(shè)以及復(fù)習(xí)考試。程序設(shè)計的功能應(yīng)相對更加復(fù)雜一點,這樣有利培養(yǎng)同學(xué)們的分析問題,解決問題的能力,同時也能提高
43、同學(xué)們對代碼的掌握能力。再者,就是題目,盡量少給一些提示,這樣同學(xué)們可以更大程度的自己動腦子考慮怎解決問題。</p><p><b> 9.編程體會</b></p><p> 經(jīng)歷了編c語言課程設(shè)計后,我弄懂了在前幾周課堂上沒搞明白的東西,例如,鏈表的建立,排序,遍歷等等。也提高了自己對指針的熟練度。以前就聽說對指針的掌握程度決定了一個人的編程水平。所以,雖然寫程
44、序的過程中,遇到各種問題,調(diào)試的時候也是遇到各種令人頭大的問題,但能借助課程設(shè)計提高自己對指針的熟練度,提高自己對c語言編程的熟練度,我還是覺得很開心的,也希望學(xué)??梢远嚅_設(shè)一些這樣的課程,既是讓我們對自己所學(xué)知識的一個綜合理解與使用,也可以提高我們的動手實踐能力、對知識的運用能力。</p><p><b> 10.程序源代碼</b></p><p><b&g
45、t; /*</b></p><p> *************************************</p><p> *簡易銀行信息管理系統(tǒng)*</p><p> *作者:朱鵬*</p><p> *學(xué)號:20120231406*</p><p> *
46、指導(dǎo)老師:張吳波 田漫柳*</p><p> *************************************</p><p><b> */</b></p><p> /**************************************頭文件**********************************
47、****/</p><p> #include<stdio.h></p><p> #include<string.h></p><p> #include<stdlib.h></p><p> #include<time.h></p><p> #includ
48、e<malloc.h></p><p> #include<conio.h></p><p> #include<windows.h></p><p> #define LEN sizeof(struct records)</p><p> /****************************
49、**********記錄修改標(biāo)記************************************/</p><p> int RecorsChanged = 0;</p><p><b> FILE *fp;</b></p><p> /**************************************日期結(jié)構(gòu)體****
50、**********************************/</p><p> typedef struct data</p><p><b> {</b></p><p><b> int year;</b></p><p> int month;</p>&l
51、t;p><b> int day;</b></p><p><b> int hour;</b></p><p><b> int min;</b></p><p><b> int sec;</b></p><p><b> }
52、USEDATA;</b></p><p> USEDATA RightData;</p><p> /**************************************客戶信息結(jié)構(gòu)體**************************************/</p><p> typedef struct custom</p&
53、gt;<p><b> {</b></p><p><b> int id;</b></p><p> char name[10];</p><p> char address[1024];</p><p> int telnum;</p><p>
54、 double account;</p><p> int password;</p><p><b> }CUSTOM;</b></p><p> CUSTOM customer[5];</p><p> /**************************************存取款記錄鏈表*******
55、*******************************/</p><p> typedef struct records</p><p><b> {</b></p><p><b> int id;</b></p><p> USEDATA InOutData;</p&g
56、t;<p> int ActionClass;</p><p> double ActionNum;</p><p> struct records * next;</p><p><b> }RECORDS;</b></p><p> //head為頭指針,p1,p2為鏈表操作指針</p&
57、gt;<p> RECORDS *head=NULL,*p1=NULL,*p2=NULL;</p><p> /**************************************函數(shù)聲明**************************************/</p><p><b> //初始化</b></p><
58、;p> void startvalue();</p><p><b> //頭部信息</b></p><p> void SysTitle();</p><p><b> //一級菜單</b></p><p> int menu();</p><p><
59、b> //二級菜單</b></p><p> int menu2( int InfoClass );</p><p><b> //輸入函數(shù)</b></p><p> void InPut(char *cbox,int *ibox,double * money,int InPutClass,char *boxname)
60、;</p><p> /***************************************日期時間相關(guān)函數(shù)***************************************/</p><p> //將字符型的日期轉(zhuǎn)換為整型,并分離出年月日</p><p> void Char2Int ( char *DataIn,int *YearOu
61、t,int *MonthOut,int *DayOut);</p><p><b> //判斷是否為閏年</b></p><p> int leap(int year);</p><p> //計算某年某月的天數(shù)</p><p> int month_days(int year,int month);</p
62、><p> //計算若干年的總天數(shù)</p><p> unsigned int yearsdays(int toyear);</p><p> //計算某個月的總天數(shù)</p><p> int days(int year,int month);</p><p> //日期換算為秒,用于排序</p>
63、<p> unsigned int Data2Sec( USEDATA * DataIn );</p><p> //判斷日期邏輯是否正確</p><p> int isDataNumRight(int YearIn,int MonthIn,int DayIn);</p><p> //判斷日期是否正確</p><p>
64、int isDataRight(char *DataIn,int *YearOut,int *MonthOut,int *DayOut);</p><p> //調(diào)用系統(tǒng)時間,給結(jié)日期結(jié)構(gòu)體添加時間</p><p> void systime(USEDATA * Data4Time);</p><p><b> //客戶編號驗證&l
65、t;/b></p><p> int isIDexist(int IDin);</p><p> /***************************************存款、取款、查詢相關(guān)函數(shù)***************************************/</p><p><b> //存取款</b><
66、;/p><p> void Deposit_Withdraw(int ActClass );</p><p><b> //信息查詢</b></p><p> int InfoFind( int ActClass , int InfoClass );</p><p><b> //尋找插入點</b&g
67、t;</p><p> RECORDS * InPoint();</p><p> //將存取款記錄按照日期排序</p><p> void toorder();</p><p><b> //增加存取款記錄</b></p><p> int InOut(int IDin,double
68、ActNum, USEDATA * ActData, int ActClass);</p><p> //ID、姓名、地址、電話查詢結(jié)構(gòu)體數(shù)組id</p><p> int Find(int IDin,char *NameIn,char *AddressIn,int TelNumIn);</p><p> //存取款記錄和余額查詢并輸出</p>
69、<p> int FindOutPut( int IDin,char * NameIn, char * AddressIn, int TelNumIn, int actclass );</p><p><b> //退出</b></p><p> void exit0();</p><p> /****************
70、**********************主函數(shù)**************************************/</p><p><b> /*</b></p><p> 功能:調(diào)用各個子函數(shù)完成功能</p><p><b> 輸入:無</b></p><p><b>
71、; 返回:無</b></p><p><b> */</b></p><p> int main()</p><p><b> {</b></p><p> int curID=0,curTel=0;</p><p> double curMoney=
72、0;</p><p> char InPutData[20]={0},curName[20]={0},curAddress[1024];</p><p><b> //客戶名單初始化</b></p><p> startvalue();</p><p><b> while(1)</b>&l
73、t;/p><p><b> {</b></p><p> switch( menu() )</p><p><b> {</b></p><p> case 1://存款</p><p> system("cls");</p>
74、<p> Deposit_Withdraw(1);</p><p><b> break;</b></p><p> case 2://取款</p><p> system("cls");</p><p> Deposit_Withdraw(-1);</p>
75、<p><b> break;</b></p><p> case 3://余額查詢</p><p> system("cls");</p><p> if( InfoFind(0,3) != -1 )</p><p><b> {</b>&l
76、t;/p><p> printf("\t\t 查詢完成!按任意鍵繼續(xù)!");</p><p><b> getch();</b></p><p><b> }</b></p><p><b> break;</b></p><p&g
77、t; case 4://存款記錄查詢</p><p> system("cls");</p><p> if( InfoFind(1,4) != -1 )</p><p><b> {</b></p><p> printf("\t\t 查詢完成!按任意鍵繼續(xù)!&quo
78、t;);</p><p><b> getch();</b></p><p><b> }</b></p><p><b> break;</b></p><p> case 5://取款記錄查詢</p><p> system(&q
79、uot;cls");</p><p> if( InfoFind(-1,5) != -1 )</p><p><b> {</b></p><p> printf("\t\t 查詢完成!按任意鍵繼續(xù)!");</p><p><b> getch();</b>&
80、lt;/p><p><b> }</b></p><p><b> break;</b></p><p> case 6://退出</p><p> system("cls");</p><p><b> exit0();<
81、/b></p><p><b> break;</b></p><p><b> default:</b></p><p><b> break;</b></p><p><b> }</b></p><p><
82、b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> /**************************************初始化**************************************/<
83、;/p><p><b> /*</b></p><p> 功能:給用戶結(jié)構(gòu)體數(shù)組賦值,并從文件中讀取歷史操作記錄寫入鏈表</p><p><b> 輸入:無</b></p><p><b> 返回:無</b></p><p><b> *
84、/</b></p><p> void startvalue()</p><p><b> {</b></p><p> int i=0,startID=0,startActClass=0;</p><p> double startActNum=0;</p><p> US
85、EDATA startData;</p><p> customer[0].id=1;strcpy(customer[0].name,"唐僧");strcpy(customer[0].address,"東土大唐");customer[0].telnum=88888880;customer[0].account=1000000.0;customer[0].password=
86、8888888;</p><p> customer[1].id=2;strcpy(customer[1].name,"孫悟空");strcpy(customer[1].address,"花果山");customer[1].telnum=88888881;customer[1].account=100000.0;customer[1].password=8888888;&
87、lt;/p><p> customer[2].id=3;strcpy(customer[2].name,"豬八戒");strcpy(customer[2].address,"高老莊");customer[2].telnum=88888882;customer[2].account=10000.0;customer[2].password=8888888;</p>
88、<p> customer[3].id=4;strcpy(customer[3].name,"沙和尚");strcpy(customer[3].address,"流沙河");customer[3].telnum=88888883;customer[3].account=1000.0;customer[3].password=8888888;</p><p>
89、 customer[4].id=5;strcpy(customer[4].name,"佛祖");strcpy(customer[4].address,"西天");customer[4].telnum=88888884;customer[4].account=100000000.0;customer[4].password=8888888;</p><p> if( !(
90、( fp=fopen("records.txt","r") )==NULL ) )</p><p><b> {</b></p><p> while(!feof(fp))</p><p><b> {</b></p><p> fscanf(fp,&
91、quot;%d%lf%d%d%d%d%d%d%d",</p><p> &startID,&startActNum,&startActClass,&startData.year,&startData.month,&startData.day,&startData.hour,&startData.min,&startData.sec
92、);</p><p> if(feof(fp))</p><p><b> break;</b></p><p> InOut(startID,startActNum,&startData,startActClass);</p><p><b> }</b></p>&
93、lt;p> fclose(fp);</p><p><b> }</b></p><p><b> start:</b></p><p> printf("\n\n\n");</p><p> SysTitle();</p><p> p
94、rintf("\t\t▉▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▉\n");</p><p> printf("\t\t▉ 作者:朱鵬 學(xué)號:20120231406 ▉\n");</p><p> printf("\t\t▉▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▉\n");</p>&l
95、t;p> printf("\t\t\n");</p><p><b> if(i==0)</b></p><p><b> {</b></p><p> printf("\t\t\t系統(tǒng)正在初始化~不要著急哦~親~");</p><p> fo
96、r(i=0;i<4;i++)</p><p><b> {</b></p><p> Sleep(1000);</p><p> printf(".");</p><p><b> }</b></p><p> system("c
97、ls");</p><p> goto start;</p><p><b> }</b></p><p> printf("\t\t\t親~恭喜哦!初始化成功了哦~\n");</p><p> printf("\t\t\t按任意鍵進(jìn)入系統(tǒng)了哦~~");</
98、p><p><b> getch();</b></p><p> fflush(stdin);</p><p><b> return;</b></p><p><b> }</b></p><p> /**********************
99、****************頭部信息**************************************/</p><p><b> /*</b></p><p> 功能:顯示程序頭部信息</p><p><b> 輸入:無</b></p><p><b> 返回:無&
100、lt;/b></p><p><b> */</b></p><p> void SysTitle()</p><p><b> {</b></p><p> system("title 簡易銀行信息管理系統(tǒng) By 朱鵬");</p><p&g
101、t; printf("\n\n");</p><p> printf("\t\t▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\n");</p><p> printf("\t\t▉※※※※※※※※歡迎使用※※※※※※※※▉\n");</p><p> printf("\t\t▉※※※※※簡
102、易銀行信息管理系統(tǒng)※※※※※▉\n");</p><p> printf("\t\t▉※※※※※※※※※※※※※※※※※※※※▉\n");</p><p><b> }</b></p><p> /**************************************一級菜單**************
103、************************/</p><p><b> /*</b></p><p> 功能:顯示主菜單,并完成菜單的選擇</p><p><b> 輸入:無</b></p><p> 返回:選擇的菜單序號[整型]</p><p><b&g
104、t; */</b></p><p> int menu()</p><p><b> {</b></p><p><b> int x;</b></p><p> system("cls");</p><p> SysTitle()
105、;</p><p> printf("\t\t▉▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▉\n");</p><p> printf("\t\t▉ 主菜單 ▉\n");</p><p> printf("\t\t▉▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
106、▁▁▁▉\n");</p><p> printf("\t\t▉ ▉\n");</p><p> printf("\t\t▉ 1、存款 ▉ \n");</p><p> p
107、rintf("\t\t▉ 2、取款 ▉ \n");</p><p> printf("\t\t▉ 3、查詢余額 ▉ \n");</p><p> printf("\t\t▉ 4、查詢存款記錄
108、 ▉ \n");</p><p> printf("\t\t▉ 5、查詢?nèi)】钣涗?▉ \n");</p><p> printf("\t\t▉ 6、退出 ▉ \n");</p><p> p
109、rintf("\t\t▉▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▉\n");</p><p> printf("\t\t 親~輸入數(shù)字1~6就能使用對應(yīng)的功能了哦:");</p><p><b> do{</b></p><p> fflush(stdin);</p>&l
110、t;p> scanf("%d",&x);</p><p> if(x<1||x>6)</p><p> printf("\t\t 親~您的輸入有誤喲~請重新輸入:");</p><p> }while(x<1||x>6);</p><p> fflus
111、h(stdin);</p><p><b> return x;</b></p><p><b> }</b></p><p> /**************************************二級菜單**************************************/</p>
112、<p><b> /*</b></p><p> 功能:顯示二級菜單,并完成菜單的選擇</p><p> 輸入:操作類型[整型]</p><p> 返回:選擇的菜單序號[整型]</p><p><b> */</b></p><p> int menu2
113、( int InfoClass )</p><p><b> {</b></p><p><b> int x;</b></p><p> char InfoName[20]={0};</p><p> switch (InfoClass)</p><p><b
114、> {</b></p><p><b> case 1:</b></p><p> strcpy( InfoName,"存款" );break;</p><p><b> case -1:</b></p><p> strcpy( InfoName,&
115、quot;取款" );break;</p><p><b> case 3:</b></p><p> strcpy( InfoName,"余額" );break;</p><p><b> case 4:</b></p><p> strcpy( InfoNa
116、me,"存款記錄" );break;</p><p><b> case 5:</b></p><p> strcpy( InfoName,"取款記錄" );break;</p><p><b> }</b></p><p> system("
117、;cls");</p><p> SysTitle();</p><p> printf("\t\t▉▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▉\n");</p><p> printf("\t\t▉ %s--用戶信息查詢 \t ▉\n",InfoName);</p><
118、;p> printf("\t\t▉▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▉\n");</p><p> printf("\t\t▉ ▉\n");</p><p> printf("\t\t▉ 1、輸入客戶編號查詢(1~5)
119、 ▉ \n");</p><p> printf("\t\t▉ 2、輸入客戶姓名查詢 ▉ \n");</p><p> printf("\t\t▉ 3、輸入客戶地址查詢 ▉ \n");</p><p> printf("\t\
120、t▉ 4、輸入客戶電話查詢 ▉ \n");</p><p> printf("\t\t▉ 0、返回 ▉ \n");</p><p> printf("\t\t▉▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▉\n");</p>&
121、lt;p> printf("\t\t 親~輸入數(shù)字0~4就能使用對應(yīng)的功能了哦:");</p><p><b> do{</b></p><p> fflush(stdin);</p><p> scanf("%d",&x);</p><p>
122、if(x<0||x>4)</p><p> printf("\t\t 親~您的輸入有誤喲~請重新輸入:");</p><p> }while(x<0||x>4);</p><p> fflush(stdin);</p><p><b> return x;</b>&
123、lt;/p><p><b> }</b></p><p> /**************************************輸入函數(shù)**************************************/</p><p><b> /*</b></p><p> 功能:顯示需
124、要輸入的內(nèi)容,并在給定的地址中賦值</p><p> 輸入對應(yīng)功能</p><p> char *cbox存放字符串輸入內(nèi)容</p><p> int *ibox存放整型數(shù)據(jù)</p><p> double * money[金額]存放雙精度數(shù)據(jù)[金額]</p><p> int I
125、nPutClass[1.2.3]對應(yīng)前面的三個輸入值類型</p><p> char *boxname輸入信息的名字</p><p><b> 返回:無</b></p><p><b> */</b></p><p> void InPut(char *cbox,in
126、t *ibox,double * money,int InPutClass,char *boxname)</p><p><b> {</b></p><p> fflush(stdin);</p><p> printf("\t\t 請輸入%s:",boxname);</p><p> i
127、f(InPutClass==1)//值為1,輸入字符</p><p> gets(cbox);</p><p> else if(InPutClass==2)//值為2,輸入整數(shù)</p><p> scanf("%d",ibox);</p><p> else if(InPutClass==3)//值
128、為3,輸入金額</p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p><p> scanf("%lf",money);</p><p> if( *mon
129、ey < 0 )</p><p> printf("\t\t 金額不能為負(fù)值哦~重新輸入吧親~:");</p><p> }while( *money < 0 );</p><p><b> }</b></p><p> fflush(stdin);</p><
130、;p><b> return ;</b></p><p><b> }</b></p><p> /**************************************日期、時間相關(guān)函數(shù)**************************************/</p><p><b>
131、/*</b></p><p> 功能:將字符型的日期轉(zhuǎn)換為整型,并分離出年月日</p><p> 輸入對應(yīng)功能</p><p> char *DataIn輸入用戶輸入的字符型日期</p><p> int *YearOut存放年</p><p> int *MonthOut
132、存放月</p><p> int *DayOut存放日</p><p><b> 返回:無</b></p><p><b> */</b></p><p> void Char2Int ( char *DataIn,int *YearOut,int *MonthOut
133、,int *DayOut)</p><p><b> {</b></p><p> int count=0,i=0;</p><p> for (i=0;i<strlen(DataIn);i++)</p><p><b> {</b></p><p> if
134、(DataIn[i]=='-')</p><p><b> count++;</b></p><p> else if(count==0)</p><p> *YearOut = (*YearOut)*10 + DataIn[i]-'0';</p><p> else if(cou
135、nt==1)</p><p> *MonthOut = (*MonthOut)*10 + DataIn[i]-'0';</p><p> else if(count==2)</p><p> *DayOut = (*DayOut)*10 + DataIn[i]-'0';</p><p><b>
136、 }</b></p><p><b> return ;</b></p><p><b> }</b></p><p><b> /*</b></p><p> *功能:判斷是否為閏年</p><p><b> *輸入:
137、整型數(shù)據(jù)年</b></p><p> *返回:閏年1/非閏年0[整型]</p><p><b> */</b></p><p> int leap(int year) </p><p> {int lp; </p><p> lp=( year%4==0 &
138、;& year%100!=0 || year%400==0)?1:0;</p><p> return lp;</p><p><b> }</b></p><p><b> /*</b></p><p> *功能:計算某年某月份的天數(shù)</p><p><
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計報告(銀行賬戶信息管理系統(tǒng))
- c++課程設(shè)計報告---銀行賬戶管理系統(tǒng)
- 銀行賬戶管理系統(tǒng)-課程設(shè)計報告
- c++課程設(shè)計 銀行賬戶管理系統(tǒng)
- c++課程設(shè)計---銀行賬戶管理系統(tǒng)程序
- java課程設(shè)計---銀行賬戶管理系統(tǒng)
- 課程設(shè)計---個人銀行賬戶管理系統(tǒng)
- c語言課程信息管理系統(tǒng)課程設(shè)計報告
- c語言課程設(shè)計報告課程信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)c語言課程設(shè)計報告
- c語言課程設(shè)計報告----學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計報告---職工信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)c語言課程設(shè)計報告
- c語言課程設(shè)計報告---車票信息管理系統(tǒng)
- c語言課程設(shè)計報告---學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計報告---學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計報告--職工信息管理系統(tǒng)
- 教學(xué)信息管理系統(tǒng)c語言課程設(shè)計報告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---銀行賬戶管理系統(tǒng)
- 教學(xué)信息管理系統(tǒng)c語言課程設(shè)計報告
評論
0/150
提交評論