數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實驗報告(空白模板)_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實驗報告(空白模板)_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實驗報告(空白模板)_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實驗報告(空白模板)_第4頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實驗報告 ( 空白模板 )本科學(xué)生設(shè)計性實驗報告數(shù)據(jù)結(jié)構(gòu)課程設(shè)計項目組長楊南如(儒)學(xué)號0104062專業(yè) 軟件工程班級 10 軟件 5 班成員肖杰 學(xué)號: 0104061李偉 學(xué)號: 0104058實驗項目名稱活期儲蓄帳目管理系統(tǒng)指導(dǎo)教師及職稱蔣娜講師開課學(xué)期2011 至 2012 學(xué)年 第二 學(xué)期一、實驗設(shè)計方案實驗名稱: 活期儲蓄帳目管理系統(tǒng)實驗時間: 2012/3/13實驗場地: W101成員角色:程序員:楊南如(儒) 測試員:肖杰 文檔員:李偉軟件環(huán)境: Microsoft Visual C+ 6.01、 實驗任務(wù)與目的(簡單介紹實驗內(nèi)容,說明實驗任務(wù)和目的)實現(xiàn)活期

2、儲蓄賬目管理系統(tǒng),實現(xiàn)儲戶開戶、銷戶、存入、支出等活動:(1)采用交互式方式工作;(2)可實現(xiàn)迅速插入和刪除,以實現(xiàn)儲戶開戶和銷戶的需要;(3)可實現(xiàn)迅速查找到儲戶的帳戶,以實現(xiàn)存款、取款記賬、查詢賬戶余額、賬戶交易記錄;(4)排序顯示所有賬戶信息;(5)程序運行時從 input.txt 文件中讀入所以賬戶信息,發(fā)生交易后更新賬戶信息文件,同時將交易信息存儲至文件 output.txt 。 2、 實驗思路(詳細描述解決問題的整體思路、涉及的算法思想及數(shù)據(jù)結(jié)構(gòu)等)(1)選擇并構(gòu)造數(shù)據(jù)結(jié)構(gòu);(2)使用與特定數(shù)據(jù)結(jié)構(gòu)相應(yīng)的算法來實現(xiàn)具體功能;(3)對文件讀寫結(jié)構(gòu)化數(shù)據(jù);(4)對程序設(shè)計語言的靈活運用

3、。二、實驗結(jié)果與分析1、程序結(jié)構(gòu)(程序結(jié)構(gòu)圖,主要函數(shù)的功能描述,算法實現(xiàn)的細節(jié)等)一、添加用戶信息void add()/ 添加用戶資料out<<"*添加用戶 *"<<endl;out<<"-"<<endl;struct user getuser();int count();/函數(shù)目的:計算文件中的記錄數(shù)目以生成自動賬號void show();FILE *fp;int number;struct user temp;if(fp=fopen(file,"ab")=NULL)out<&

4、lt;"cannot open file!"<<endl;printf("cannot open file!n");exit(1);temp=getuser();/ 讀取用戶名number=count();temp.id=number+1;/ 生成自動賬號fwrite(&temp,sizeof(struct user),1,fp);out<<" 添加用戶成功 !"<<endl;out<<" 你的賬號為 :"show();fclose(fp);二、按照姓名查詢賬

5、戶余額void select_name()/按照姓名查詢賬戶余額void getname(char *name);out<<"*按照姓名查詢賬戶余額*"<<endl;out<<"賬 號 "<<""<<"用戶姓名"<<""<<"身份證號碼"<<""<<" 存款余額 "<<endl;out<<"-&q

6、uot;<<endl;FILE * fp;struct user temp;char name20;if(fp=fopen(file,"rb")=NULL)out<<"cannot open file!"<<endl;printf("cannot open file!n");exit(1);printf(" 輸入要查詢的姓名 :"); / 調(diào)用讀取用戶名函數(shù)getname(name);while(fread(&temp,sizeof(struct user),1,fp)/

7、循環(huán)讀取每一條記錄判斷是否為要查看的記錄if(strcmp(,name)=0)out<<temp.id<<""<<<<""<<temp.person_num<<""<<temp.money<<endl;fclose(fp);三、按照賬號查詢賬戶余額void select_id()/按照賬號查詢賬戶余額int count();out<<"*按照編號查詢賬戶余額*"<&l

8、t;endl;out<<"編 號"<<""<<"用戶姓名"<<""<<"身份證號碼"<<""<<" 存款余額 "<<endl;out<<"-"<<endl;FILE * fp;struct user temp;int i,maxnum;if(fp=fopen(file,"rb")=NULL)prin

9、tf("cannot open file!n");exit(1);maxnum=count();in>>i;if(i<1|i>maxnum)out<<" 你要查詢的賬號不存在!"return;while(fread(&temp,sizeof(struct user),1,fp)/循環(huán)讀取每一條記錄判斷是否為要查看的記錄if(temp.id=i)out<<temp.id<<""<<<<""<<te

10、mp.person_num<<""<<temp.money<<endl;fclose(fp);四、顯示用戶資料void display()/顯示用戶資料out<<"*用戶資料顯示 *"<<endl;out<<" 賬 號 "<<" "<<" 用 戶 姓名 "<<" "<<" 身份 證號碼 "<<" "<

11、<" 存款余額 "<<endl;out<<"-"<<endl;FILE * fp;struct user temp;if(fp=fopen(file,"rb")=NULL)out<<"cannot open file!"<<endl;printf("cannot open file!n");exit(1);while(fread(&temp,sizeof(struct user),1,fp)out<<temp.

12、id<<""<<<<""<<temp.person_num<<""<<temp.money<<endl;fclose(fp);五、函數(shù)功能:按賬號存款void save_money()/函數(shù)功能:按賬號存款out<<"*用戶存款業(yè)務(wù) *"<<endl;out<<"-"<<endl;int count();FILE *fp;int i,num,mar

13、k;struct user *temp;num=count(); / 根據(jù)記錄數(shù)申請空間 temp=(struct user *)malloc(num*sizeof(struct user); if(fp=fopen(file,"rb")=NULL) out<<"cannot open file!"<<endl;printf("cannot open file!n");exit(1);for(i=0;i<num;i+)/將文件內(nèi)容存入數(shù)組fread(&tempi,sizeof(struct use

14、r),1,fp);fclose(fp);in>>mark;if(mark<1|mark>num)out<<" 你要存款賬號不存在 !"<<endl;return;if(fp=fopen(file,"wb")=NULL)/寫方式打開文件,覆蓋原文件中的內(nèi)容out<<"cannot open file!"<<endl;printf("cannot open file!n");exit(1);for(i=0;i<num;i+)if(tempi.

15、id=mark)double money=0;in>>money;if(money<=0)out<<"只能為正數(shù)!"<<endl;money=0;tempi.money +=money;/ 修改該用戶的信息fwrite(&tempi,sizeof(struct user),1,fp);fclose(fp);free(temp);out<<" 你存款業(yè)務(wù)已辦妥 !"<<endl;六、銷戶void del()/銷戶int count();out<<"*注銷賬戶 *

16、"<<endl;out<<" 賬 號 "<<""<<" 用 戶 姓名 "<<""<<" 存款余額 "<<endl;out<<"-"<<endl;FILE * fp;struct user temp;int i,maxnum;if(fp=fopen(file,"rb")=NULL)printf("cannot open file!n

17、");exit(1);maxnum=count();in>>i;if(i<1|i>maxnum)"<<"身份證號碼"<<"out<<" 你要查詢的賬號不存在!"<<endl;return;while(fread(&temp,sizeof(struct user),1,fp)/ 循環(huán)讀取每一條記錄 判斷是否為要查看的記錄if(temp.id=i&&temp.money=0.00)/余額為 0temp.id=-1;/ 算無效帳戶pri

18、ntf("NO.%d %15s %15s %.2fn",temp.id,,temp.person_num,temp.mo ney);fwrite(&temp,sizeof(struct user),1,fp);/保存修改fclose(fp);程序主要代碼說明如上所示。:2 測試設(shè)計與數(shù)據(jù)(設(shè)計充足合理的測試用例,說明測試策略)A一、(正常數(shù)據(jù)處理情況)辦理開戶業(yè)務(wù):選擇“ 1”分別輸入用戶姓名、用戶身份證號、用戶儲存金額。二、選擇以姓名的方式查看賬戶信息:輸入“2”和“楊南儒”:三、選擇以賬號隨機序號的方式查看賬戶信息:輸入“3”和“ 2”:四、選擇顯示用戶信息,輸入“4”五、選擇存款,輸入“ 5”“ 1”(一號賬戶)“ 200”(存入金額):對已經(jīng)辦好存款業(yè)務(wù)的賬戶進行查詢,結(jié)果顯示已經(jīng)存

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論