版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)(數(shù)據(jù)結(jié)構(gòu))報(bào)告--活期儲蓄賬目管理
- 活期儲蓄賬目管理系統(tǒng)doc
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--趣味問題之八皇后 活期儲蓄帳目管理
- 活期儲蓄帳目管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 銀行活期儲蓄賬戶管理課程設(shè)計(jì)
- 銀行活期儲蓄程序課程設(shè)計(jì)c++
- 畢業(yè)論文-活期賬目儲蓄管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman編碼
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--庫存管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)宿舍管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)宿舍管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--成績管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
評論
0/150
提交評論