課程設(shè)計---個人銀行賬戶管理系統(tǒng)_第1頁
已閱讀1頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  C語言課程設(shè)計報告</b></p><p>  題 目: 個人銀行賬戶管理系統(tǒng)</p><p>  院系名稱: 計算機(jī)學(xué)院</p><p>  專業(yè)名稱: 計算機(jī)科學(xué)與技術(shù)</p><p>  班 級: </p>

2、<p>  學(xué)生姓名: </p><p>  學(xué)號(8位): </p><p>  指導(dǎo)教師: </p><p>  設(shè)計起止時間:2012年06月06日~2012年06月15日</p><p><b>  設(shè)計目的</b></p><

3、;p>  1、學(xué)會用C語言編程實現(xiàn)小區(qū)管理系統(tǒng);</p><p>  能熟練的掌握各個功能函數(shù)的熟練編寫和理解。</p><p>  2、本次課程設(shè)計我設(shè)計的是一個銀行個人賬戶管理系統(tǒng)。由于大學(xué)生日常生活開支以及錢的來源都需要詳細(xì)的記錄下來,所以我設(shè)計了這個系統(tǒng),目的是希望通過這個系統(tǒng)來讓大家養(yǎng)成良好的記賬習(xí)慣,慢慢學(xué)會理財,并且可以對自己記錄的數(shù)據(jù)進(jìn)行簡單的分析(通過其中的排序系統(tǒng)

4、),達(dá)到更合理的利用自己的金錢資源的目的。</p><p><b>  設(shè)計內(nèi)容</b></p><p>  經(jīng)過對程序設(shè)計題目的分析可知,整個程序的設(shè)計實現(xiàn)大致分為九個模塊,每一個模塊對應(yīng)一個或多個函數(shù)。在這些函數(shù)當(dāng)中,儲戶注冊函數(shù),登錄函數(shù),儲戶信息錄入函數(shù),儲戶信息顯示函數(shù),信息插入函數(shù),信息修改函數(shù),信息排序函數(shù)以及信息刪除的實現(xiàn)嚴(yán)格按照題目的要求,而儲戶密碼

5、的修改屬于附加功能。讀取文件函數(shù)和保存信息函數(shù)對其它函數(shù)的實現(xiàn)起輔助作用,主函數(shù)及菜單函數(shù)控制程序的整體運行。</p><p><b>  內(nèi)容如下:</b></p><p>  用戶登錄系統(tǒng)(包括用戶以及管理員的注冊,登錄界面,其中有注冊函數(shù)和登錄函數(shù))。</p><p>  系統(tǒng)以菜單的模式打開并工作(有儲戶界面和管理員界面)。</p

6、><p>  儲戶信息的錄入(保存函數(shù))。</p><p>  儲戶信息的讀出并顯示出來(信息讀出并打印函數(shù))。</p><p>  儲戶信息的查詢系統(tǒng),包括按月份查詢和按日期查詢(用過查詢函數(shù)來實現(xiàn))。</p><p>  儲戶信息的修改系統(tǒng),包括修改月份,修改日期,修改進(jìn)賬數(shù)目和出賬數(shù)目(通過修改函數(shù)來實現(xiàn))。</p><

7、p>  修改密碼系統(tǒng)(修改密碼函數(shù)實現(xiàn)儲戶對賬戶密碼的修改)。</p><p>  退出(退出到主界面和上一界面)。</p><p>  每一個儲戶記錄都包含賬戶編號,月份,日期,進(jìn)賬數(shù)目,出賬數(shù)目。在程序當(dāng)中,將儲戶記錄類型定義為結(jié)構(gòu)體類型,添加以及追加的儲戶信息直接寫入D盤的account.txt文件中,其它函數(shù)每次對儲戶記錄的訪問,其數(shù)據(jù)來源都是account.txt文件,這樣

8、做不但可以保證儲戶信息的一致性,而且可以對儲戶信息進(jìn)行永久保存,保證每次運行程序都可以采用原來的數(shù)據(jù)。</p><p><b>  概要設(shè)計</b></p><p><b>  功能模塊圖</b></p><p>  2.各個模塊的詳細(xì)功能</p><p>  1. 儲戶注冊函數(shù)(void regi

9、st()) </p><p>  主要實現(xiàn)程序最初儲戶注冊自己的賬戶名和密碼,只有注冊了賬戶名和密碼才可以進(jìn)入賬戶管理系統(tǒng)并且操作自己的信息。</p><p>  2. 登錄函數(shù) (int load()) </p><p>  儲戶和管理員通過此登錄系統(tǒng)進(jìn)入各自的頁面對信息進(jìn)行操作。</p><p>  3.用戶登陸界面(void m

10、enu())以及管理員登錄界面(void menu_1())</p><p>  通過界面來選擇想要操作的內(nèi)容。</p><p>  4. 儲戶信息錄入函數(shù),包括鏈表的建立和信息的保存(linklist creat()、save(linklist h)) </p><p>  實現(xiàn)儲戶信息以鏈表的形式錄入并保存到文件中,即我們所說的記賬。</p>

11、<p>  5. 儲戶信息讀出函(Node *show()) </p><p>  實現(xiàn)的功能是按照賬號和密碼對儲戶所存儲的信息從所存文件中讀出。</p><p>  6.儲戶信息的查詢函數(shù),包括按月份查詢和按日期查詢。(Node *search())</p><p>  實現(xiàn)用戶針對自己信息的查詢,可以查詢當(dāng)月的賬戶信息,也可以查詢當(dāng)天的賬戶信息。&

12、lt;/p><p>  7. 儲戶信息插入函數(shù),包括兩個函數(shù),一個是單純實現(xiàn)插入功能,另一個是在此系統(tǒng)中實現(xiàn)的插入功能。(linklist insert()、Insert(linklist h)) </p><p>  實現(xiàn)儲戶信息插到原信息并且顯示出來的功能。</p><p>  8. 信息修改函數(shù),包括兩個函數(shù),一個是單純實現(xiàn)修改,另一個是在此系統(tǒng)中實現(xiàn)對信息的

13、修改功能(linklist recr(linklist h)、void Recr()) </p><p>  通過該函數(shù)管理員可以對儲戶的數(shù)據(jù)信息進(jìn)行修改。</p><p>  9. 信息排序函數(shù),包括兩個函數(shù),一個是單純實現(xiàn)排序,另一個是在此系統(tǒng)中實現(xiàn)對信息的排序。(在此只舉按月份查詢的例子linklist sort_mon(linklist head)、void Sort_M())

14、 </p><p>  該函數(shù)實現(xiàn)的功能是對儲戶信息中各個項目按一定的順序進(jìn)行排序(默認(rèn)為升序)。</p><p>  10. 信息刪除函數(shù),包括兩個函數(shù),一個是單純實現(xiàn)修改功能,另一個是在此系統(tǒng)上實現(xiàn)對信息修改的功能。(linklist recr(linklist h)、void Recr()) </p><p>  該函數(shù)可以對儲戶過期的信息進(jìn)行刪除操作

15、。</p><p>  11. 儲戶密碼修改函數(shù) (int res()) </p><p>  可以實現(xiàn)對儲戶的密碼進(jìn)行修改;</p><p>  12. 顯示函數(shù) (Node *print(linklist h)) </p><p>  實現(xiàn)的是顯示目前所有的有效儲戶記錄信息。</p><p>  除上面介紹的功能

16、之外,程序還具有退出功能,可以在程序的一次運行當(dāng)中循環(huán)執(zhí)行所有的功能,并根據(jù)需要終止程序的執(zhí)行。</p><p><b>  四、詳細(xì)設(shè)計</b></p><p>  1.功能函數(shù)的調(diào)用關(guān)系圖</p><p><b>  2、功能函數(shù)流程</b></p><p><b>  (1)信息錄入

17、函數(shù)</b></p><p> ?。?)、信息查詢函數(shù)</p><p>  (3)、信息修改函數(shù)</p><p><b> ?。?)信息刪除函數(shù)</b></p><p><b>  (5)信息插入函數(shù)</b></p><p><b> ?。?)信息排序函

18、數(shù)</b></p><p>  3、重點設(shè)計及其代碼</p><p><b>  1、鏈表的創(chuàng)建</b></p><p>  linklist creat()//鏈表創(chuàng)建</p><p><b>  {</b></p><p>  linklist head;&l

19、t;/p><p>  Node *r,*p;</p><p><b>  int x;</b></p><p>  head=(linklist)malloc(sizeof(Node));//尾插法</p><p>  head->next=NULL;</p><p><b>  r=

20、head;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  p=(Node *)malloc(sizeof(Node));</p><p>  printf("請輸入賬戶編號 :\n");</p>

21、;<p>  scanf("%s",p->num);</p><p>  printf("請輸入月份:");</p><p>  scanf("%d",&p->Date.mon);</p><p>  printf("請輸入日期:");</p>

22、;<p>  scanf("%d",&p->Date.day);</p><p>  printf("請輸入進(jìn)賬數(shù)目:");</p><p>  scanf("%f",&p->inacc);</p><p>  printf("請輸入出賬數(shù)目:"

23、);</p><p>  scanf("%f",&p->outacc);</p><p>  r->next=p;</p><p><b>  r=p;</b></p><p>  printf("是否繼續(xù)錄入?<是:1否:0>");//利用x來判斷

24、是否再次錄入</p><p>  flushall();</p><p>  scanf("%d",&x);</p><p>  }while(x);</p><p>  r->next=NULL;</p><p>  return head;</p><p>

25、<b>  }</b></p><p><b>  2、信息保存于文件</b></p><p>  void save(linklist h) // 儲戶信息保存</p><p><b>  {</b></p><p><b>  FILE *fp;</b>

26、;</p><p><b>  Node *j;</b></p><p>  if((fp=fopen("D:/account.txt","wt"))==NULL)</p><p><b>  { </b></p><p>  printf("文件打

27、開失??!按任意鍵退出!\n");</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(j=h->next;j!=NULL;j=j->

28、next)</p><p>  fprintf(fp,"%s %d %d %f %f\n",j->num,j->Date.mon,j->Date.day,j->inacc,j->outacc);</p><p>  fclose(fp);</p><p>  printf("文件保存成功!按任意鍵返回&q

29、uot;);</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  3、信息從文件中讀出</p><p>  linklist head;</p><p>  Node *r,*s;</p><p

30、><b>  FILE *fp;</b></p><p><b>  int n;</b></p><p>  if((fp=fopen("D:/account.txt","rt"))==NULL)</p><p><b>  {</b></p>

31、;<p>  printf("讀出文件出錯!按任意鍵退出!");</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  head=

32、(linklist)malloc(sizeof(Node));</p><p><b>  r=head;</b></p><p>  while(!feof(fp))</p><p><b>  {</b></p><p>  s=(Node *)malloc(sizeof(Node));<

33、/p><p>  fscanf(fp,"%s %d %d %f %f\n",s->num,&s->Date.mon,&s->Date.day,&s->inacc,&s->outacc);</p><p>  r->next=s;</p><p><b>  r=s;<

34、/b></p><p><b>  }</b></p><p>  r->next=NULL;</p><p>  fclose(fp);</p><p>  printf("\n文件中信息已經(jīng)正確讀出!\n");</p><p>  return head;<

35、;/p><p><b>  }</b></p><p><b>  4、信息顯示</b></p><p>  Node *print(linklist h)//儲戶信息顯示</p><p><b>  {</b></p><p><b>  No

36、de *q;</b></p><p>  printf("賬戶信息為:\n");</p><p>  printf(" 賬戶編號 月份 日期 進(jìn)賬 出賬\n");</p><p>  for(q=h->next;q!=NULL;q=q->next)<

37、;/p><p>  printf("\t%s\t%d\t%d\t%f\t%f\n",q->num,q->Date.mon,q->Date.day,q->inacc,q->outacc);</p><p><b>  return h;</b></p><p><b>  }</b&g

38、t;</p><p><b>  5、信息查詢</b></p><p>  Node *h,*p;</p><p>  int date,x;</p><p><b>  h=show();</b></p><p>  p=h->next;</p><

39、;p>  printf("*********************************************\n");</p><p>  printf("1 按月份查詢 \n");</p><p>  printf("2 按日期查詢 \n");</p>&l

40、t;p>  printf("*********************************************\n");</p><p>  printf("請輸入1or2 \n");</p><p>  scanf("%d",&x);</p><p><b>  swi

41、tch(x)</b></p><p><b>  {</b></p><p>  case 1:printf("請輸入您要查詢的月份:\n");</p><p>  scanf("%d",&date);</p><p>  while(p!=NULL)</

42、p><p><b>  {</b></p><p>  if(p->Date.mon==date)</p><p><b>  return p;</b></p><p><b>  else</b></p><p>  p=p->next;&l

43、t;/p><p><b>  }</b></p><p>  case 2:printf("請輸入您要查詢的日期:\n");</p><p>  scanf("%d",&date);</p><p>  while(p!=NULL)</p><p>&l

44、t;b>  {</b></p><p>  if(p->Date.day==date)</p><p><b>  return p;</b></p><p><b>  else</b></p><p>  p=p->next;</p><p>

45、;<b>  }</b></p><p><b>  }</b></p><p>  return NULL;</p><p><b>  5、信息插入</b></p><p><b>  FILE *fp;</b></p><p&g

46、t;<b>  Node *j;</b></p><p>  fp=fopen("D:/account.txt","at+");</p><p>  if(fp==NULL)</p><p><b>  { </b></p><p>  printf(&quo

47、t;插入失?。“慈我怄I退出!\n");</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(j=h->next;j!=NULL;j=j-&

48、gt;next)</p><p>  fprintf(fp,"%s %d %d %f %f\n",j->num,j->Date.mon,j->Date.day,j->inacc,j->outacc);</p><p>  fclose(fp);</p><p>  printf("插入成功!按任意鍵返回&

49、quot;);</p><p><b>  getch();</b></p><p><b>  6、信息修改</b></p><p><b>  int x;</b></p><p>  char num[20];</p><p><b> 

50、 int inf;</b></p><p>  float acc;</p><p><b>  Node *p;</b></p><p>  p=h->next;</p><p>  printf("請輸入您要修改的賬戶信息編號:\n");</p><p>

51、;  flushall();</p><p>  scanf("%s",num);</p><p>  if(p==NULL)</p><p>  printf("信息為空,無法修改!\n");</p><p>  while(p!=NULL)</p><p><b>

52、  {</b></p><p>  if(strcmp(p->num,num)==0)</p><p><b>  {</b></p><p>  printf("****************************************************\n");</p>&l

53、t;p>  printf("1 修改月份\n");</p><p>  printf("2 修改日期\n");</p><p>  printf("3 修改進(jìn)賬數(shù)目\n");</p><p>  printf("4 修改出賬數(shù)目\n");&l

54、t;/p><p>  printf("*****************************************************\n");</p><p>  printf("請按1-4選擇\n");</p><p>  scanf("%d",&x);</p><p

55、><b>  switch(x)</b></p><p><b>  {</b></p><p>  case 1:printf("請輸入新月份:\n");</p><p>  scanf("%d",&inf);</p><p>  p->

56、Date.mon=inf;</p><p><b>  return h;</b></p><p><b>  break;</b></p><p>  case 2:printf("請輸入新日期:\n");</p><p>  scanf("%d",&

57、;inf);</p><p>  p->Date.day=inf;</p><p><b>  return h;</b></p><p><b>  break;</b></p><p>  case 3:printf("請輸入您修改后的進(jìn)賬數(shù)目:\n");</p&

58、gt;<p>  scanf("%f",&acc);</p><p>  p->inacc=acc;</p><p><b>  return h;</b></p><p><b>  break;</b></p><p>  case 4:print

59、f("請輸入您修改后的出賬數(shù)目:\n");</p><p>  scanf("%f",&acc);</p><p>  p->outacc=acc;</p><p><b>  return h;</b></p><p><b>  break;</b

60、></p><p><b>  }</b></p><p><b>  }</b></p><p>  p=p->next;</p><p><b>  }</b></p><p><b>  return h;</b>

61、</p><p>  7、信息排序,在此僅拿按照月份排序舉例。</p><p>  Node *pri, *mid, *tai, *p;</p><p>  p=head->next; </p><p>  while(p != NULL)</p><p><b>  {</b><

62、;/p><p>  mid = head->next;</p><p>  if(head->Date.mon > head->next->Date.mon)</p><p><b>  {</b></p><p>  head->next = mid->next;</p>

63、;<p>  mid->next = head;</p><p>  head = mid;</p><p><b>  }</b></p><p><b>  pri=head;</b></p><p>  mid=head->next;</p><p

64、>  tai=mid->next;</p><p>  while(mid->next!=NULL)</p><p><b>  {</b></p><p>  if(mid->Date.mon>tai->Date.mon)</p><p><b>  {</b>

65、</p><p>  pri->next=mid->next;</p><p>  mid->next=tai->next;</p><p>  tai->next=mid; </p><p><b>  }</b></p><p>  

66、pri=pri->next;</p><p>  mid=pri->next;</p><p>  tai=mid->next; </p><p><b>  }</b></p><p>  p=p->next;</p><p><b>  

67、}</b></p><p>  return head;</p><p><b>  8、信息刪除</b></p><p>  char num[20];</p><p>  Node *q,*r;</p><p>  q=p->next;</p><p>

68、;<b>  r=p;</b></p><p>  if(q==NULL)</p><p><b>  return 0;</b></p><p>  printf("請輸入需要刪除的賬戶編號:\n");</p><p>  scanf("%s",num);&

69、lt;/p><p>  while(q!=NULL)</p><p><b>  { </b></p><p>  if(strcmp(q->num,num)==0)</p><p><b>  {</b></p><p>  r->next=q->next

70、;</p><p><b>  free(q);</b></p><p><b>  return p;</b></p><p><b>  }</b></p><p><b>  r=q;</b></p><p>  q=q-&g

71、t;next;</p><p><b>  }</b></p><p><b>  return p;</b></p><p><b>  9. 密碼修改</b></p><p><b>  FILE *fp;</b></p><p&g

72、t;  char pkey[20];</p><p>  char nkey[20];</p><p>  char rnkey[20];</p><p>  char name[20];</p><p><b>  int x;</b></p><p>  fp=fopen("D:/k

73、ey.txt","wt");</p><p>  printf("請輸入您的注冊名:\n");</p><p>  scanf("%s",name);</p><p>  fprintf(fp,"%s",name);</p><p>  printf(&

74、quot;請輸入原始密碼:\n");</p><p>  scanf("%s",pkey);</p><p>  flushall();</p><p>  printf("請輸入修改后密碼:\n");</p><p>  scanf("%s",nkey);</p&g

75、t;<p>  if(fp==NULL)</p><p><b>  {</b></p><p>  printf("文件打開失敗,按任意鍵推出!");</p><p><b>  getch();</b></p><p><b>  exit(1);&l

76、t;/b></p><p><b>  }</b></p><p>  printf("請再次輸入修改后密碼:\n");</p><p>  scanf("%s",rnkey);</p><p>  fprintf(fp,"%s\n",rnkey);<

77、;/p><p>  printf("修改密碼成功!按任意鍵返回\n");</p><p><b>  getch();</b></p><p>  fclose(fp);</p><p>  printf("請選擇1:重新登錄,0:退出系統(tǒng)");</p><p>

78、;  scanf("%d",&x);</p><p>  system("cls");</p><p><b>  if(x)</b></p><p><b>  {</b></p><p>  char n_name[10];</p>

79、<p>  char n_key[20];</p><p>  printf("\n");</p><p>  printf("\n");</p><p>  printf("******************************

80、*************************\n");</p><p>  printf("\n");</p><p>  printf(" 歡迎登錄銀行個人賬戶管理系統(tǒng)\n");</p><p>  printf("

81、\n");</p><p>  printf("********************************************************\n");</p><p>  printf("\n");</p><p>  printf(&qu

82、ot;\n");</p><p>  printf("請輸入您的姓名:\n");</p><p>  flushall();</p><p>  scanf("%s",n_name);</p><p>  fscanf(fp,"%s",

83、name);</p><p>  printf("請輸入您的密碼:\n");</p><p>  scanf("%s",n_key);</p><p>  fscanf(fp,"%s",rnkey);//從文件中讀出,若和輸入的相同則修改成功,若不相同,則修改失??!</p><p&g

84、t;  if(strcmp(rnkey,n_key)==0&&strcmp(name,n_name)==0)</p><p><b>  {</b></p><p>  printf("成功登錄!\n");</p><p><b>  menu();</b></p><

85、;p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("輸入密碼錯誤!退出系統(tǒng)"

86、;);</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  Return0;</b></p><p>  五.測試數(shù)據(jù)及

87、運行結(jié)果</p><p>  一、用戶登錄數(shù)據(jù)演示</p><p>  1.直接登錄的情況下</p><p><b>  注冊的情況下</b></p><p>  2.用戶登錄成功后可進(jìn)入選擇界面</p><p><b>  3.數(shù)據(jù)錄入</b></p><

88、;p><b>  4.信息顯示</b></p><p>  5.信息查詢,分按月份查詢和按日期查詢</p><p><b>  查詢月份,5月</b></p><p><b>  按日期查詢</b></p><p><b>  6.修改密碼</b>&

89、lt;/p><p><b>  修改密碼后重新登錄</b></p><p><b>  7.退出</b></p><p>  二、管理員登錄數(shù)據(jù)演示</p><p><b>  進(jìn)入管理員界面</b></p><p><b>  顯示用戶的信息&l

90、t;/b></p><p>  對用戶信息進(jìn)行追加,也就是插入</p><p>  3.對用戶信息進(jìn)行排序,按月份排序</p><p><b>  按日期排序</b></p><p><b>  按進(jìn)賬數(shù)目進(jìn)行排序</b></p><p><b>  按出賬數(shù)

91、目進(jìn)行排序</b></p><p><b>  4. 信息刪除</b></p><p>  5.信息修改,分為修改月份</p><p><b>  修改日期</b></p><p><b>  修改進(jìn)賬數(shù)目</b></p><p><b

92、>  修改出賬數(shù)目</b></p><p><b>  錯誤數(shù)據(jù)演示:</b></p><p>  1.用戶名或密碼錯誤時</p><p>  2.查詢輸入錯誤數(shù)據(jù)時</p><p>  所刪除的信息不存在時</p><p>  六、調(diào)試情況,設(shè)計技巧及體會</p>

93、<p>  1. 這個系統(tǒng)是第一次做,對于一些基本功能的需求都可以實現(xiàn),這也加強(qiáng)了我對C語言這學(xué)期所學(xué)到的知識的理解和應(yīng)用,果然要講理論知識應(yīng)用到實際中是一件很有挑戰(zhàn)性的事。對于這個系統(tǒng)我覺得做的特別粗糙,作為一個課件來演示的話還可以,但是真正應(yīng)用到實際生活中缺陷很大,比如沒有設(shè)置余額查詢系統(tǒng),這是這個系統(tǒng)最大的缺陷,由于我的有些知識還未掌握熟練,所以沒有做這個系統(tǒng),很是遺憾。</p><p> 

94、 2. 本次課設(shè),我感受很多。深刻地懂得了理論聯(lián)系實際的重要性。在課設(shè)過程中,我發(fā)現(xiàn)了自己有很多欠缺的地方,比如:涉及的相關(guān)知識不全面,知識學(xué)得不夠透徹,在課設(shè)時就會遇到重重困難,它啟示著我在以后的學(xué)習(xí)中要精益求精,對有用的知識要做到深入研究。</p><p>  在本次課程設(shè)計中,要感謝老師對我的指導(dǎo),對于一些自己無法修正的錯誤通過老師的講解讓我對于C語言的理解更加透徹,也體會到細(xì)節(jié)決定成敗,一個很小的錯誤

95、可能導(dǎo)致整個程序無法運行。</p><p>  同時要十分感謝兩個同學(xué),xx同學(xué),對我的幫助特別大,尤其是xx同學(xué)教會我函數(shù)功能放到系統(tǒng)中如何實現(xiàn)的方法,給我打通了一條寫C語言程序的思路,讓我將學(xué)來的知識能夠靈活運用,還有xx同學(xué)為我耐心講解鏈表的插入方法,以及幫我改正一些語法和邏輯上的錯誤,這些都是我通過這次課程設(shè)計而收獲到的寶貴財富。</p><p>  通過這次課程設(shè)計,我發(fā)現(xiàn)用一些

96、字母下劃線等組合起來的小小程序可以實現(xiàn)強(qiáng)大的功能是一件特別讓人驚喜的事情,提升了我對C語言學(xué)習(xí)的興趣,在以后的學(xué)習(xí)中,我相信自己會更加努力,徹底學(xué)好C語言這門課程。</p><p><b>  七、參考文獻(xiàn)</b></p><p>  《C程序設(shè)計實例教程》金林樵主編 機(jī)械工業(yè)出版社</p><p>  《C程序設(shè)計(第三版)》譚浩強(qiáng) 清華大學(xué)

97、出版社</p><p>  《C語言課程設(shè)計案例精編》郭翠英 中國水利水電出版社</p><p><b>  八、附錄(源代碼)</b></p><p>  #include<stdio.h></p><p>  #include<string.h></p><p>  #

98、include"conio.h"</p><p>  #include<stdlib.h></p><p>  /*int load();//登錄系統(tǒng)</p><p>  void menu();//用戶登錄菜單</p><p>  void menu_1();//管理員登陸菜單</p><

99、p>  linklist creat();//鏈表創(chuàng)建</p><p>  void save(linklist h);// 儲戶信息保存</p><p>  Node *show();//儲戶信息的讀出</p><p>  Node *print(linklist h);//儲戶信息顯示</p><p>  Node *search

100、();//進(jìn)行信息查詢</p><p>  //linklist insert();//插入系統(tǒng)</p><p>  //void Insert()//大插入,完成功能的實現(xiàn)</p><p>  res();//密碼修改系統(tǒng)功能</p><p>  linklist recr();//信息修改系統(tǒng)功能</p><p>

101、  void Recr();//信息修改系統(tǒng)功能實現(xiàn)過程</p><p>  //linklist sort(linklist head)//排序</p><p>  //void Sort();//大排序</p><p>  Node *del(Node *p);//信息刪除系統(tǒng)功能</p><p>  void Del();//信息刪除系

102、統(tǒng)功能實現(xiàn)過程*/</p><p>  struct date</p><p><b>  {</b></p><p><b>  int mon;</b></p><p><b>  int day;</b></p><p><b>  };

103、</b></p><p>  typedef struct basic_inf</p><p><b>  {</b></p><p>  char num[20];</p><p>  struct date Date; </p><p>  float inacc;</p&g

104、t;<p>  float outacc;</p><p>  struct basic_inf *next;</p><p>  }Node,*linklist;</p><p>  void regist()</p><p><b>  {</b></p><p>  char

105、name[20];</p><p>  char key[20];</p><p><b>  FILE *fp;</b></p><p>  fp=fopen("D:/key.txt","wt");</p><p><b>  if(fp)</b></

106、p><p><b>  {</b></p><p>  printf("\n");</p><p>  printf("\n");</p><p>  printf("******************

107、**********************************\n");</p><p>  printf("歡迎進(jìn)入銀行個人賬戶管理系統(tǒng)\n");</p><p>  printf("****************************************************\n");</p&g

108、t;<p>  printf("\n");</p><p>  printf("\n");</p><p>  printf("請輸入您的注冊名(即用戶名):\n");</p><p>  scanf("%s&quo

109、t;,name);</p><p>  flushall();</p><p>  printf("請輸入您的密碼:\n");</p><p>  scanf("%d",key);</p><p>  flushall();</p><p>  fprintf(fp,"

110、%s\n%s\n",name,key);</p><p>  printf("恭喜您,注冊成功!");</p><p><b>  }</b></p><p><b>  }</b></p><p>  int load()//登錄系統(tǒng)</p><p

111、><b>  { </b></p><p><b>  int x;</b></p><p>  char name[10];</p><p>  char key[20];</p><p>  char p_name[20];</p><p>  char p_k

112、ey[20];</p><p><b>  FILE *fp;</b></p><p>  fp=fopen("D:/key.txt","rt");</p><p>  printf("\n");</p><p>  print

113、f("\n");</p><p>  printf("*******************************************************\n");</p><p>  printf("\n");</p><p

114、>  printf(" 歡迎登錄銀行個人賬戶管理系統(tǒng)\n");</p><p>  printf("\n");</p><p>  printf("********************************************************\n&

115、quot;);</p><p>  printf("\n");</p><p>  printf("\n");</p><p>  printf("用戶請按1,管理員請按0\n");</p><p>  scan

116、f("%d",&x);</p><p><b>  if(x==1)</b></p><p><b>  {</b></p><p>  printf("請輸入您的姓名:\n");</p><p>  scanf("%s",p_n

117、ame);</p><p>  flushall();</p><p>  printf("請輸入您的密碼,建議您第一次登錄后先修改密碼哦?。篭n");</p><p>  scanf("%s",p_key);</p><p>  flushall();</p><p>  f

118、scanf(fp,"%s\n",name);</p><p>  fscanf(fp,"%s\n",key);</p><p>  if(strcmp(name,p_name)==0&&strcmp(key,p_key))</p><p><b>  {</b></p>&l

119、t;p>  printf("成功登錄!\n");</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  return 0;&l

120、t;/b></p><p>  printf("登錄失?。?quot;);</p><p><b>  }</b></p><p><b>  if(x==0)</b></p><p><b>  return 0;</b></p><p&g

121、t;<b>  }</b></p><p>  void menu()//菜單</p><p><b>  {</b></p><p>  printf("

122、 \n");</p><p>  printf(" \n");</p><p>  printf(" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

123、%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n"); </p><p>  printf("

124、 \n");</p><p>  printf(" \n");</p><p>  printf(" **

125、*********************** 銀行個人賬戶管理系統(tǒng)********************* \n");</p><p>  printf(" 1 記錄自己的理財情況吧\n");</p><p>  printf("

126、 2 看看自己的賬戶信息哦\n");</p><p>  printf(" 3 查詢自己的賬戶信息吧\n");</p><p>  printf(" 4 修改自己的賬戶密碼,安全第一哦\n");

127、</p><p>  printf(" 0 退出\n");</p><p>  printf(" ******************************************************************* \n");</p&

128、gt;<p>  printf(" \n");</p><p>  printf("

129、 \n");</p><p>  printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n");</p><p>  printf("

130、 \n"); </p><p>  printf(" \n");</p><p><

131、;b>  }</b></p><p>  void menu_1()//菜單</p><p><b>  { </b></p><p>  printf("

132、 \n");</p><p>  printf(" \n");</p><p>  printf(" %%%%%%%%%%%%%%%%%%%%%%%%%%%%

133、%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n"); </p><p>  printf("

134、 \n");</p><p>  printf(" \n");</p><p>  printf("

135、 ************************* 銀行個人賬戶管理系統(tǒng)********************* \n");</p><p>  printf(" 1 顯示用戶當(dāng)前的信息\n");</p><p>  printf("

136、 2 有新信息,加入到用戶原有信息里\n");</p><p>  printf(" 3 對用戶的信息進(jìn)行排序\n");</p><p>  printf(" 4 刪掉一些不需要的信息\n"

137、);</p><p>  printf(" 5 為用戶修改信息嗎\n");</p><p>  printf(" 6 對用戶信息進(jìn)行統(tǒng)計\n");</p><p>  printf("

138、 0 退出\n");</p><p>  printf(" ******************************************************************* \n");</p><p>  printf("

139、 \n");</p><p>  printf(" \n");</p

140、><p>  printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n");</p><p>  printf("

141、 \n"); </p><p>  printf("

溫馨提示

  • 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

提交評論