活期儲蓄帳目管理要點_第1頁
活期儲蓄帳目管理要點_第2頁
活期儲蓄帳目管理要點_第3頁
活期儲蓄帳目管理要點_第4頁
活期儲蓄帳目管理要點_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、洛陽理工學(xué)院課程設(shè)計報告課程名稱數(shù)據(jù)結(jié)構(gòu)課程設(shè)計設(shè)計題目 活期儲蓄帳目管理課程設(shè)計任務(wù)書設(shè)計題目: 活期儲蓄帳 目管理設(shè)計內(nèi)容與要求:【問題描述】 活期儲蓄處理中,儲戶開戶、銷戶、存入、支出活動頻繁。設(shè)計 個活期儲蓄賬目管理系統(tǒng)。【基本要求】1)能比較迅速地找到儲戶的帳戶,以實現(xiàn)存款、取款記賬;2)能比較簡單,迅速地實現(xiàn)插入和刪除,以實現(xiàn)開戶和銷戶的需要。課程設(shè)計評語成績:指導(dǎo)教師:洛陽理工學(xué)院課程設(shè)計報告(1)問題才苗述:活期儲蓄處理中,儲戶開戶、銷戶、存入、支出活動頻繁設(shè)計一個活期儲蓄賬目管理系統(tǒng)。(2)基本要求:1)能比較迅速地找到儲戶的帳戶,以實現(xiàn)存款、取款記賬;2)能比較簡單,迅速地

2、實現(xiàn)插入和刪除,以實現(xiàn)開戶和銷戶的需要。(3)測試數(shù)據(jù):2uaitgan 耳 活 入0。 0 誓a 取信,戶 款賬o s.&理r戶賬有 迎開第所儲儲錯查退12 3洛陽理工學(xué)院課程設(shè)計報告14(4)算法思想:1主要思想1輸入姓名3查詢(5)模塊劃分:01)void insertlist(link *&l) 鏈表插入實現(xiàn)開戶功能02)void search(link *l) /鏈表查找,實現(xiàn)用戶登陸功能03)void deposit(link *&l,link *p) / 用戶存款、取款04)void printlist(link*l) 打印鏈表,實現(xiàn)用戶信息輸出05)vo

3、id deletelist(link *&l) /鏈表刪除,實現(xiàn)銷戶功能(需要賬號和密碼)06)void save(link *l) /保存鏈表,實現(xiàn)用戶信息保存到文件07)void print(link *&l) /打開文件,得到鏈表08)void menu() /主菜單函數(shù)09)void choice() /菜單選擇函數(shù)(6)數(shù)據(jù)結(jié)構(gòu):typedef struct elemtype /定義結(jié)構(gòu)體char name11;int account;char password7;float money;elemtype;typedef struct lnode 3義鏈表elemty

4、pe data;struct lnode *next;link;心得:這次實驗我學(xué)到了很多在課本上沒有注意的知識,在設(shè)計實驗的過程中,我 通過對鏈表的應(yīng)用,讓我對鏈表的應(yīng)用更加的牢固,也通過設(shè)計,我也發(fā)現(xiàn)了我 在學(xué)習(xí)中的不足,在不斷改進程序的同時,我也發(fā)現(xiàn)了很多能夠改進的地方,在 改進程序的同時,鞏固對鏈表的知識掌握。這次我設(shè)計的程序,主要是以鏈表為中心,通過對鏈表的建立,插入,刪除 打印等來實現(xiàn)開戶、銷戶、存錢、取錢等功能。其中鏈表打印的環(huán)節(jié)的功能我不 是很明白,通過上網(wǎng)查詢。查找資料。逐漸改善。最終實現(xiàn)完全的程序(8)源程序:#include<stdio.h>#include&

5、lt;string.h>#include<stdlib.h>#include<conio.h>#define file "lnode.txt"int total=0;/定義的全局變量,用于開戶所需typedef struct elemtype /定義結(jié)構(gòu)體char name11;int account;char password7;float money;elemtype;typedef struct lnode /£ 義鏈表elemtype data;struct lnode *next;link;void initlist(lin

6、k *&l) / 建立空鏈表l=(link *)malloc (sizeof(link);l->next=null;void insertlist(link *l) /鏈表插入實現(xiàn)開戶功能int x; link *s; s=(link*)malloc(sizeof(link);printf("請輸入你要開戶的姓名(10字符以內(nèi)):");scanf("%s”,s->);x=rand()%10; 隨機數(shù)total+=x;/total隨機增大一個數(shù)值(10以內(nèi))xs->data.account=10000000+total;p

7、rintf("n 你開戶的賬號為:dn",s->data.account);printf("請輸入你賬號的密碼(6位數(shù)以內(nèi)):");scanf("%s”,s->data.password);s->data.money=0.00;s->next=null;if(l->next=null)l->next=s;elses->next=l->next;l->next=s;printf("開戶成功。n");void deletelist(link *l) 鏈表刪除實現(xiàn)銷戶功能(需要

8、賬號和密碼) link *p=l,*q;char pass6;int s;printf("請輸入你要銷戶的賬號:");scanf("%d",&s);printf("請輸入該賬號的密碼:");scanf("%s",pass);while(p->next!=null)if(p->next->data.account=s)break;p=p->next;if(p->next!=null)while(strcmp(p->next->data.password,pass)!=

9、0)printf("密碼錯誤!請重新輸入:");scanf("%s",pass);q=p->next;p->next=q->next;free(q);printf("賬號銷戶成功。n");else printf("你所要銷戶的的賬號不存在(或者已經(jīng)銷戶)。n");void printlist(link*l) 打印鏈表,實現(xiàn)用戶信息輸出link *p=l->next;while (p!=null)printf("%st",p->);printf(&q

10、uot;%dt%st%.2fn",p->data.account,p->data.password,p->data.money);p=p->next;void deposit(link *l,link *p) / 用戶存款、取款int cq;float mn;while(1)if(p!=null)printf("請選擇存款(1)、取款(2)、查詢余額(3)、退出賬號(4)。n(請 輸入括號內(nèi)的數(shù)字,輸入其它字符默認為取款):");scanf("%d",&cq);if(cq=1)printf("請輸入你的

11、存款金額:”);scanf("%f",&mn);p->data.money=p->data.money+mn;printf("存款成功!n");else if(cq=3) printf("你賬戶的余額為:.2fn",p->data.money);else if(cq=4)printf("賬號退出成功。n");return;elseprintf("請輸入你的取款金額:”);fh:scanf("%f',&mn);if(p->data.money-mn)

12、>=0)p->data.money=p->data.money-mn;printf("取款成功!n");elseprintf("取款失敗!n");printf("你賬戶上的金額不足!n你的賬戶余額 為:.fn",p->data.money);printf("請輸入合適的取款金額:”);goto fh;void search(link *l) 鏈表查找,實現(xiàn)用戶登陸功能link *p=l->next;int acc;char pass6;printf("請輸入你要登錄的賬號:”);sca

13、nf("%d”,&acc);printf("請輸入你的密碼:");scanf("%s",pass);while(p!=null)if(p->data.account=acc)break;p=p->next;if(p=null)printf("不存在該賬戶n");elseif(strcmp(p->data.password,pass)=0) printf("賬號登錄成功。n");elsewhile(strcmp(p->data.password,pass)!=0)char p

14、a;printf("密碼錯誤 n");printf("是否重新輸入(是,就輸入任意鍵)、(否,從鍵盤上輸 入 n or n):");scanf("n%c",&pa);if(pa='n'|pa='n')system ("cls");return;printf("n請重新輸入你的密碼:");scanf("%s",pass);deposit(l,p);void save(link *l) /保存鏈表,實現(xiàn)用戶信息保存到文件file *fp;i

15、f(fp=fopen(file,"rb")=null)printf("cannot open file.n");exit;link *p=l->next;if (p!=null)if(fwrite(p,sizeof(struct lnode),1,fp)!=1)printf("file write errorn");p=p->next;fclose(fp);void print(link *&l) 打開文件,得到鏈表file *fp;link *p,*s;if(fp=fopen(file,"rb"

16、;)=null)printf("cannot open file.n");exit;s=(link*)malloc(sizeof(link);s->next=null;while(fread(s,sizeof(struct lnode),1,fp)total+;/用于記錄賬號的,以致賬號不重復(fù)if(l->next=null)l->next=s; p=s;p->next=s->next;elsep->next=s; p=s;p->next=s->next;s=(link*)malloczeof(link);s->next=

17、null;fclose(fp);void menu() /主菜單函數(shù)printf("*歡迎進入活期儲蓄賬目管理*n");printf("1.儲戶開戶。n");printf("2.儲戶銷戶。n");printf("3.儲戶的賬號存款、取款。n");printf("4.查看所有儲蓄賬戶信息。n");printf("5.退出賬目管理。n");printf("*n");void choice() /菜單選擇函數(shù)link *l;initlist(l);while(1)menu();char x,ch;printf("請選擇你需要的功能:");scanf("%c",&x);getchar();if(x>'5')printf("輸入有誤,請重新選擇操作:n");if(x='5')break;switch(x)case '1'

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論