2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  需求分析</b></p><p><b>  概要設(shè)計(jì)</b></p><p><b>  主要思想</b></p><p><b>  具體功能流程</b>&l

2、t;/p><p><b>  定義結(jié)構(gòu)</b></p><p><b>  詳細(xì)設(shè)計(jì)</b></p><p><b>  基本函數(shù)</b></p><p><b>  調(diào)試與操作結(jié)果</b></p><p><b>  進(jìn)入操

3、作界面</b></p><p><b>  儲蓄開戶</b></p><p>  儲戶登陸,存款,查詢,取款,查詢</p><p><b>  顯示儲戶信息</b></p><p><b>  課程設(shè)計(jì)總結(jié)與體會</b></p><p>&l

4、t;b>  致謝</b></p><p><b>  參考文獻(xiàn)</b></p><p><b>  附源代碼</b></p><p><b>  需求分析</b></p><p>  設(shè)計(jì)簡單的活期儲蓄賬目管理系統(tǒng),實(shí)現(xiàn)最基本的功能。</p>&

5、lt;p>  設(shè)計(jì)題目:設(shè)計(jì)活期儲蓄賬目管理。</p><p>  設(shè)計(jì)任務(wù):活期儲蓄處理中,儲戶開戶、銷戶、存入、支出活動頻繁。</p><p><b>  系統(tǒng)設(shè)計(jì)要求:</b></p><p>  能比較迅速地找到儲戶的賬目,以實(shí)現(xiàn)存款、取款記賬。</p><p>  能比較簡單,迅速地實(shí)現(xiàn)插入和刪除,以實(shí)現(xiàn)

6、開戶和銷戶的需要。</p><p>  設(shè)計(jì)思想:建立鏈表,快速實(shí)現(xiàn)賬戶的增添,插入,刪除功能。</p><p>  運(yùn)行環(huán)境:VC6.0++</p><p><b>  概要設(shè)計(jì)</b></p><p><b>  主要思想:</b></p><p><b>  

7、具體功能流程:</b></p><p><b>  開戶</b></p><p><b>  查詢,存款或取款</b></p><p><b>  定義結(jié)構(gòu):</b></p><p>  typedef struct ElemType //定義結(jié)構(gòu)體</p&

8、gt;<p><b>  {</b></p><p>  char name[11];</p><p>  int account;</p><p>  char password[7];</p><p>  float money;</p><p>  }ElemType;<

9、/p><p>  typedef struct lnode //定義鏈表</p><p><b>  {</b></p><p>  ElemType data;</p><p>  struct lnode *next;</p><p><b>  }LINK;</b><

10、/p><p><b>  詳細(xì)設(shè)計(jì)</b></p><p><b>  基本函數(shù):</b></p><p>  void InsertList(LINK *&L) //鏈表插入實(shí)現(xiàn)開戶功能</p><p>  void Search(LINK *L) //鏈表查找,實(shí)現(xiàn)用戶登陸功能&l

11、t;/p><p>  void Deposit(LINK *&L,LINK *p) //用戶存款、取款</p><p>  void PrintList(LINK*L) //打印鏈表,實(shí)現(xiàn)用戶信息輸出</p><p>  oid DeleteList(LINK *&L) //鏈表刪除,實(shí)現(xiàn)銷戶功能(需要賬號和密碼)</p><p&

12、gt;  void save(LINK *L) //保存鏈表,實(shí)現(xiàn)用戶信息保存到文件</p><p>  void Print(LINK *&L) //打開文件,得到鏈表</p><p>  void menu() //主菜單函數(shù)</p><p>  void choice() //菜單選擇函數(shù)</p><p><

13、b>  調(diào)試與操作結(jié)果</b></p><p><b>  進(jìn)入操作界面</b></p><p><b>  儲蓄開戶</b></p><p>  儲戶登陸,存款,查詢,取款,查詢</p><p><b>  顯示儲戶信息</b></p><

14、;p><b>  課程設(shè)計(jì)總結(jié)與體會</b></p><p>  這次課程設(shè)計(jì),我與小組成員選的題目是活期儲蓄賬目管理,對于這個(gè)實(shí)驗(yàn)開始感覺不知從哪兒開始,后來經(jīng)過認(rèn)真分析后,結(jié)合所學(xué)知識并與小組成員查閱了許多相關(guān)的課外知識,我們開始了一步步解題編程。</p><p>  在編程過程中,遇到問題的時(shí)候請教我們班擅長的同學(xué),慢慢把不會不理解的地方給弄明白了,在經(jīng)過

15、很多次調(diào)試以后,最終沒有出現(xiàn)錯(cuò)誤了,實(shí)驗(yàn)?zāi)軌驁?zhí)行,將功能實(shí)現(xiàn),最后終于將程序完成。</p><p>  這次的綜合性實(shí)驗(yàn)使我了解到,平時(shí)對知識的積累相當(dāng)重要,同時(shí)也要注重課上老師的講解,老師在課上的延伸是課本上所沒有的,這些知識對于我們對程序的編寫有很大的作用,同時(shí),編程也要求我們有足夠的耐心,細(xì)細(xì)推敲。越著急可能就越無法得到我們想要的結(jié)果,遇到不會的問題要多多請教,知識是在實(shí)踐與向別人請教的過程中積累的,所以問

16、是至關(guān)重要的,只要肯下功夫很多東西都是可以完成的??傊幊淌刮覍W(xué)到更多,更全面的知識。</p><p><b>  致謝</b></p><p>  感謝一起編程的組員,感謝幫助我們的同學(xué)們和老師。</p><p><b>  參考文獻(xiàn)</b></p><p>  《數(shù)據(jù)機(jī)構(gòu)(C語言版)》……嚴(yán)蔚

17、敏,吳偉民編著……清華大學(xué)出版社</p><p>  《C語言程序設(shè)計(jì)教程》……劉玲主編……清華大學(xué)出版社</p><p><b>  附源代碼</b></p><p>  #include<stdio.h></p><p>  #include<string.h></p><

18、p>  #include<stdlib.h></p><p>  #include<conio.h></p><p>  #define file "lnode.txt"</p><p>  int total=0; //定義的全局變量,用于開戶所需</p><p>  typedef

19、struct ElemType //定義結(jié)構(gòu)體</p><p><b>  {</b></p><p>  char name[11];</p><p>  int account;</p><p>  char password[7];</p><p>  float money;</p

20、><p>  }ElemType;</p><p>  typedef struct lnode //定義鏈表</p><p><b>  {</b></p><p>  ElemType data;</p><p>  struct lnode *next;</p><p>

21、<b>  }LINK;</b></p><p>  void InitList(LINK *&L) //建立空鏈表 </p><p><b>  {</b></p><p>  L=(LINK *)malloc (sizeof(LINK));</p><p>  L-&

22、gt;next=NULL;</p><p><b>  }</b></p><p>  void InsertList(LINK *&L) //鏈表插入實(shí)現(xiàn)開戶功能</p><p><b>  {</b></p><p><b>  int x;</b></p

23、><p><b>  LINK *s;</b></p><p>  s=(LINK*)malloc(sizeof(LINK));</p><p>  printf("請輸入你要開戶的姓名(10字符以內(nèi)):");</p><p>  scanf("%s",s->data.name)

24、;</p><p>  x=rand()%10; //隨機(jī)數(shù)</p><p>  total+=x; //total隨機(jī)增大一個(gè)數(shù)值(10以內(nèi))x</p><p>  s->data.account=10000000+total;</p><p>  printf("\n你開戶的賬號為:%d\

25、n",s->data.account);</p><p>  printf("請輸入你賬號的密碼(6位數(shù)以內(nèi)):");</p><p>  scanf("%s",s->data.password);</p><p>  s->data.money=0.00;</p><p>

26、  s->next=NULL;</p><p>  if(L->next==NULL)</p><p>  L->next=s; </p><p><b>  else</b></p><p><b>  {</b></p><p>  s->next

27、=L->next;</p><p>  L->next=s;</p><p><b>  }</b></p><p>  printf("開戶成功。\n");</p><p><b>  }</b></p><p>  void DeleteL

28、ist(LINK *&L) //鏈表刪除實(shí)現(xiàn)銷戶功能(需要賬號和密碼)</p><p><b>  {</b></p><p>  LINK *p=L,*q;</p><p>  char pass[6];</p><p><b>  int s;</b></p><p&

29、gt;  printf("請輸入你要銷戶的賬號:");</p><p>  scanf("%d",&s);</p><p>  printf("請輸入該賬號的密碼:");</p><p>  scanf("%s",pass);</p><p>  whil

30、e(p->next!=NULL)</p><p><b>  {</b></p><p>  if(p->next->data.account==s)</p><p><b>  break;</b></p><p>  p=p->next;</p><p

31、><b>  }</b></p><p>  if(p->next!=NULL)</p><p><b>  {</b></p><p>  while(strcmp(p->next->data.password,pass)!=0)</p><p><b>  {&

32、lt;/b></p><p>  printf("密碼錯(cuò)誤!請重新輸入:");</p><p>  scanf("%s",pass);</p><p><b>  }</b></p><p>  q=p->next;</p><p>  p-&g

33、t;next=q->next;</p><p><b>  free(q);</b></p><p>  printf("賬號銷戶成功。\n");</p><p><b>  }</b></p><p>  else printf("你所要銷戶的的賬號不存在(或者

34、已經(jīng)銷戶)。\n");</p><p><b>  }</b></p><p>  void PrintList(LINK*L) //打印鏈表,實(shí)現(xiàn)用戶信息輸出</p><p><b>  {</b></p><p>  LINK *p=L->next;</p>&l

35、t;p>  while (p!=NULL)</p><p><b>  {</b></p><p>  printf("%s\t",p->data.name);</p><p>  printf("%d\t%s\t%.2f\n",p->data.account,p->data.pa

36、ssword,p->data.money);</p><p>  p=p->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Deposit(LINK *&L,LINK *p) //用戶存款、取款</

37、p><p><b>  {</b></p><p><b>  int cq;</b></p><p><b>  float mn;</b></p><p><b>  while(1)</b></p><p><b>  

38、{</b></p><p>  if(p!=NULL)</p><p><b>  {</b></p><p>  printf("請選擇存款(1)、取款(2)、查詢余額(3)、退出賬號(4)。\n(請輸入括號內(nèi)的數(shù)字,輸入其它字符默認(rèn)為取款):");</p><p>  scanf(&q

39、uot;%d",&cq);</p><p><b>  if(cq==1)</b></p><p><b>  {</b></p><p>  printf("請輸入你的存款金額:");</p><p>  scanf("%f",&m

40、n);</p><p>  p->data.money=p->data.money+mn;</p><p>  printf("存款成功!\n");</p><p><b>  }</b></p><p>  else if(cq==3)</p><p><b

41、>  {</b></p><p>  printf("你賬戶的余額為:%.2f\n",p->data.money);</p><p><b>  }</b></p><p>  else if(cq==4)</p><p><b>  {</b></

42、p><p>  printf("賬號退出成功。\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {

43、</b></p><p>  printf("請輸入你的取款金額:");</p><p><b>  FH:</b></p><p>  scanf("%f",&mn);</p><p>  if((p->data.money-mn)>=0)&l

44、t;/p><p><b>  {</b></p><p>  p->data.money=p->data.money-mn;</p><p>  printf("取款成功!\n");</p><p><b>  }</b></p><p><

45、b>  else</b></p><p><b>  {</b></p><p>  printf("取款失敗!\n");</p><p>  printf("你賬戶上的金額不足!\n你的賬戶余額為:%.f\n",p->data.money);</p><p&g

46、t;  printf("請輸入合適的取款金額:");</p><p>  goto FH;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

47、<b>  }</b></p><p><b>  }</b></p><p>  void Search(LINK *L) //鏈表查找,實(shí)現(xiàn)用戶登陸功能</p><p><b>  {</b></p><p>  LINK *p=L->next;</p&g

48、t;<p><b>  int acc;</b></p><p>  char pass[6];</p><p>  printf("請輸入你要登錄的賬號:");</p><p>  scanf("%d",&acc);</p><p>  printf(&qu

49、ot;請輸入你的密碼:");</p><p>  scanf("%s",pass);</p><p>  while(p!=NULL)</p><p><b>  {</b></p><p>  if(p->data.account==acc)</p><p>

50、<b>  break;</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  if(p==NULL)</p><p>  printf("不存在該賬戶\n");</p><p><b&g

51、t;  else</b></p><p><b>  {</b></p><p>  if(strcmp(p->data.password,pass)==0)</p><p>  printf("賬號登錄成功。\n");</p><p><b>  else </b&

52、gt;</p><p><b>  {</b></p><p>  while(strcmp(p->data.password,pass)!=0)</p><p><b>  {</b></p><p><b>  char pa;</b></p><

53、p>  printf("密碼錯(cuò)誤\n");</p><p>  printf("是否重新輸入(是,就輸入任意鍵)、(否,從鍵盤上輸入N or n):");</p><p>  scanf("\n%c",&pa);</p><p>  if(pa=='n'||pa=='N

54、')</p><p>  {system ("cls");return;}</p><p>  printf("\n請重新輸入你的密碼:");</p><p>  scanf("%s",pass);</p><p><b>  }</b></p&

55、gt;<p><b>  }</b></p><p>  Deposit(L,p);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void save(LINK *L) //保存鏈表,實(shí)現(xiàn)用戶信息保存到文

56、件</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  if((fp=fopen(file,"rb"))==NULL)</p><p><b>  {</b></p><p

57、>  printf("cannot open file.\n");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  LINK *p=L->next;</p><p>  if (p!=NULL)<

58、/p><p><b>  {</b></p><p>  if(fwrite(p,sizeof(struct lnode),1,fp)!=1)</p><p>  printf("file write error\n");</p><p>  p=p->next;</p><p&

59、gt;<b>  }</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p>  void Print(LINK *&L) //打開文件,得到鏈表</p><p><b>  {</b></p><

60、;p><b>  FILE *fp;</b></p><p>  LINK *p,*s;</p><p>  if((fp=fopen(file,"rb"))==NULL)</p><p><b>  {</b></p><p>  printf("cannot

61、 open file.\n");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  s=(LINK*)malloc(sizeof(LINK));s->next=NULL;</p><p>  while(fread(s,

62、sizeof(struct lnode),1,fp) )</p><p><b>  {</b></p><p>  total++; //用于記錄賬號的,以致賬號不重復(fù)</p><p>  if(L->next==NULL)</p><p><b>  {</b></p

63、><p>  L->next=s;</p><p><b>  p=s;</b></p><p>  p->next=s->next;</p><p><b>  }</b></p><p><b>  else</b></p>

64、<p><b>  {</b></p><p>  p->next=s;</p><p><b>  p=s;</b></p><p>  p->next=s->next;</p><p><b>  }</b></p><p

65、>  s=(LINK*)malloc(sizeof(LINK));</p><p>  s->next=NULL;</p><p><b>  }</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p>  vo

66、id menu() //主菜單函數(shù)</p><p><b>  {</b></p><p>  printf("************歡迎進(jìn)入活期儲蓄賬目管理***********\n");</p><p>  printf(" 1.儲戶開戶。\n");</p><p

67、>  printf(" 2.儲戶銷戶。\n");</p><p>  printf(" 3.儲戶的賬號存款、取款。\n");</p><p>  printf(" 4.查看所有儲蓄賬戶信息。\n");</p><p>  printf("

68、 5.退出賬目管理。\n");</p><p>  printf("***********************************************\n");</p><p><b>  }</b></p><p>  void choice() //菜單選擇函數(shù)</p><

69、p><b>  {</b></p><p><b>  LINK *L;</b></p><p>  InitList(L);</p><p><b>  while(1)</b></p><p><b>  {</b></p><

70、;p><b>  menu();</b></p><p>  char x,ch;</p><p>  printf("請選擇你需要的功能:");</p><p>  scanf("%c",&x);</p><p>  getchar();</p>&l

71、t;p>  if(x>'5') </p><p>  printf("輸入有誤,請重新選擇操作:\n");</p><p>  if(x=='5') </p><p><b>  break;</b></p><p><b>  switch(

72、x)</b></p><p><b>  {</b></p><p>  case '1':InsertList(L);ch=getchar();break;</p><p>  case '2':DeleteList(L);ch=getchar();break;</p><p&g

73、t;  case '3':Search(L);ch=getchar();break;</p><p>  case '4':PrintList(L);ch=getchar();break;</p><p>  default:break;</p><p><b>  } </b></p><p

74、>  getch();//暫停功能(讀取任意鍵繼續(xù))(conio.h)</p><p>  system ("cls");</p><p><b>  }</b></p><p><b>  save(L);</b></p><p><b>  }&l

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論