c語言課程設(shè)計報告(銀行賬戶信息管理系統(tǒng))_第1頁
已閱讀1頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論