銀行活期儲蓄程序課程設計C

上傳人:nu****n 文檔編號:104546273 上傳時間:2022-06-10 格式:DOCX 頁數(shù):15 大?。?2.01KB
收藏 版權(quán)申訴 舉報 下載
銀行活期儲蓄程序課程設計C_第1頁
第1頁 / 共15頁
銀行活期儲蓄程序課程設計C_第2頁
第2頁 / 共15頁
銀行活期儲蓄程序課程設計C_第3頁
第3頁 / 共15頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《銀行活期儲蓄程序課程設計C》由會員分享,可在線閱讀,更多相關(guān)《銀行活期儲蓄程序課程設計C(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 《數(shù)據(jù)結(jié)構(gòu)課程設計》 課程題目 課程編號 學生姓名 所在專業(yè) 所在班級 任課老師 實習時間 設計成績 老師評語 一. 問題描述--------------------------------------------------------1 二. 問題分析---------------------------------------------------------1 三. 邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)設計------------------------------------

2、1 四. 算法設計----------------------------------------------------------1 五. 時間復雜度和空間復雜度分析-------------------------------4 六. 源代碼--------------------------------------------------------------4-13 七. 程序運行結(jié)果-----------------------------------------------------13-15 八. 心得-------------------------------

3、--------------------------------------15 參考文獻-----------------------------------------------------------------------15 一.問題描述 小明是一個計算機專業(yè)top student,祝賀他畢業(yè)了。并準備到銀行參加工作。上班第一天,經(jīng)理叫他編制一個實現(xiàn)一個活期儲蓄處理程序,算作考查。上班第一天, 一定要給領(lǐng)導一個好印象,小明二話沒說,就答應了?,F(xiàn)要你是小明了,請完成如下題目功能。儲戶開戶、銷戶、存入

4、、支出活動頻繁,系統(tǒng)設計要求:(1)能比較迅速地找到儲戶的帳戶,以實現(xiàn)存款、取款記賬; (2)能比較簡單,迅速地實現(xiàn)插入和刪除,以實現(xiàn)開戶和銷戶的需要。 二.問題分析 活期儲蓄處理中,儲戶開戶、銷戶、存入、指出活動頻繁,系統(tǒng)設計要求; 1、 能比較迅速的找到儲戶的賬戶,以實現(xiàn)存款、取款記賬; 2、 能比較簡單的、迅速的實現(xiàn)擦如和刪除,以實現(xiàn)開戶銷戶的需要。 需求分析: 1、 創(chuàng)建文件,用數(shù)組形式存儲用戶數(shù)據(jù),開戶時自定義用戶賬戶、姓名、密碼、開戶金額; 2、 用戶登錄時,輸入正確的用戶姓名、用戶密碼,完成登陸后即可進行存款、取款、查詢、修改密碼; 3、

5、 實現(xiàn)輸入用戶的賬戶名和密碼,將其全部信息刪除,進行銷戶。 三.邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)設計 邏輯結(jié)構(gòu): 存儲結(jié)構(gòu)設計:該存儲結(jié)構(gòu)是鏈式存儲結(jié)構(gòu),本系統(tǒng)主要用線性表結(jié)構(gòu)類型來存儲在“活期儲蓄賬目管理系統(tǒng)”中的信息。其中,結(jié)構(gòu)體由4個分量構(gòu)成:用戶賬號名、用戶姓名、用戶密碼、開戶金額。 四.算法設計 本系統(tǒng)采用鏈式結(jié)構(gòu)存儲儲蓄賬目管理 1、用戶輸入想開戶的儲戶輸入其姓名賬戶密碼,然后顯示開戶成功,會有一個賬戶生成,然后開戶成功。 2、用戶登錄需要輸入賬號名和密碼,判斷密碼是否正確,如果錯誤則返回,然后點擊登錄,就可以進入管理系統(tǒng)。 3、用戶的存取款和查詢余額,首先在登錄

6、賬戶的基礎(chǔ)上,選擇存或取款,然后輸入相應的金額,若是取款應判斷其金額是否小于賬戶上的金額,如果不小于,則提示儲戶重新輸入相應的金額,或者退出。 4、儲戶需要銷戶的賬戶,然后程序自動判斷該賬戶是否存在,然后輸入賬戶密碼,若密碼與賬戶相對應,則刪除該賬戶。 五. 空間復雜度和時間復雜度分析 空間復雜度: 是程序運行所以需要的額外消耗存儲空間,一般的遞歸算法就要有o(n)的空間復雜度了,簡單說就是遞歸集算時通常是反復調(diào)用同一個方法,遞歸n次,就需要n個空間。 時間復雜度: 一個算法花費的時間與算法中語句的執(zhí)行次數(shù)成正比例,哪個算法中語句執(zhí)行次數(shù)多,它花費時間就多。一個算法中的語句執(zhí)行

7、次數(shù)稱為語句頻度或時間頻度。記為T(n)。 一般情況下,算法中基本操作重復執(zhí)行的次數(shù)是問題規(guī)模n的某個函數(shù),用T(n)表示,若有某個輔助函數(shù)f(n),使得當n趨近于無窮大時,T(n)/f (n)的極限值為不等于零的常數(shù),則稱f(n)是T(n)的同數(shù)量級函數(shù)。記作T(n)=O(f(n)),稱O(f(n)) 為算法的漸進時間復雜度,簡稱時間復雜度。 在各種不同算法中,若算法中語句執(zhí)行次數(shù)為一個常數(shù),則時間復雜度為O(1),另外,在時間頻度不相同時,時間復雜度有可能相同,如T(n)=n2+3n+4與T(n)=4n2+2n+1它們的頻度不同,但時間復雜度相同,都為O(n2)。 六.源代碼

8、#include #include #include #include using namespace std; class consumer; class YH { public: YH(); void set_account(); //銀行開戶 void del_account(); void transfer(int); //轉(zhuǎn)賬 void enter_account(); void addmoney(int,float); void ex

9、itYH();// 退出系統(tǒng) void functionshow(); void save(); void load();// 功能界面 protected: consumer *account[20]; static int acnum; //賬戶數(shù) }; int YH::acnum=0; YH::YH() { //for(int i=0;i<20;i++) //{ //account[i] = NULL; //} } class consumer:pu

10、blic YH { public: friend class YH; consumer(int id,string Name,string PassWord,float m) { ID=id;name=Name;money=m;passwd=PassWord; } consumer(){ID=0;name='0';money=0;passwd='0';} int get_id(){return ID;} void savemoney(); // 存錢 s

11、tring get_passwd(){return passwd;} // 取得密碼 void display(); void fetchmoney(); //取錢 void change_passwd(); void add_money(float); void dec_money(float); float get_money(); //卡卡轉(zhuǎn)帳 private: int ID; //開戶帳號 string passwd; // 用戶密碼

12、 string name; // 用戶姓名 float money; }; void YH::save() {ofstream ofile("bankdat.dat",ios::out); ofstream outfile("bankdat.dat",ios::out); int n=0; outfile<ID<<" "; outfile<money<<" "; outfile<<

13、account[n]->name<<" "; outfile<passwd<<" "; } outfile.close(); //__page_break__ } void YH::load() {ifstream infile("bankdat.dat",ios::in); if(!infile) {cerr<<"讀取錯誤,無資料中!"<>acnum; for(;

14、n>id; infile>>m; infile>>nam; infile>>passw;account[n]->passwd; consumer * acc = new consumer(id,nam,passw,m); account[n] = acc; } infile.close(); cout<<"讀取資料正常!"<>id; int fla

15、g = 1; int i = 0; while((iget_id()) flag = 0; else i++; } if(flag) { cout<<"帳號不存在!"<>b; while(b<=0) { cout<<"請輸入正確的數(shù)

16、字!"<"; cin>>b; } if(account[x]->get_money()dec_money(b);account[i]->add_money(b); cout<<"轉(zhuǎn)帳成功!";} return; } void consumer::add_money(float x) {money=x+money;} void consumer::de

17、c_money(float x) {money=money-x;} void YH::addmoney(int x,float y) {account[x]->money=account[x]->money-y; } float consumer::get_money() {return money;} int main() {YH yh; yh.functionshow(); } void YH::functionshow() { int n; do {system("cls"); load(); cout<

18、dl<<"請你輸入相應的操作序號進行操作:"<"; cin>>n; while(n<1||n>4) { cout<<"請輸入正確的操作序號!"<"; cin>>n; } switch(n) { case 1: set_account();

19、 break; case 2:enter_account();break; case 3: del_account(); break; case 4: exitYH(); break; } cin.get(); } while(true); } void YH::enter_account() {int id; cout<<"請輸入帳號:"; cin>>id; int flag = 1; int i = 0; //__page_

20、break__ while((iget_id()) flag = 0; else i++; } if(flag) { cout<<"帳號不存在!"<>passw; if(passw!=account[i]->get_passwd()) return; account[i]->display();cin.get();cin.get()

21、; int n; do{system("cls"); cout<<"請選擇你要進行的操作:"<>n; switch(n) {case 1: account[i]->display();break; case 2: account[i]->fetchmoney();save();break; case 3:account[i]->savemoney();s

22、ave();break; case 4:account[i]->change_passwd();save();break; case 5:transfer(i);save();break; case 6:return; }cin.get();cin.get(); } while(1); } void YH::set_account() { int id; string nam; string passw; float m; cout<

23、 cin>>id; cout<>nam; cout<>passw; cout<>m; while(m<=0) { cout<<"請輸入正確的數(shù)字!"<>m; } consumer * acc = new consumer(id,nam,passw,

24、m); account[acnum] = acc; cout<<"開戶成功!!"<>id; int flag = 1; int i = 0; while((i

25、->get_id()) { flag = 0; } else { i++; } } if(flag) { cout<<"帳號不存在!"<

26、 } void consumer::change_passwd() { string pwd,repwd; cout<<"請輸入新密碼:"; cin>>pwd; cout<<"請再輸入一次新密碼:"; cin>>repwd; if(pwd!=repwd) cout<<"你輸入的兩次密碼不一樣,請重新輸入!"<

27、 ch; do { cout<"<>m; while(m<=0) { cout<<"請輸入正確的數(shù)字!"<"; cin>>m; } if(money

28、<"是否要繼續(xù)該項操作:(Y/N) " <"; cin>>ch; while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y') { cout<<"$ >"; cin>>ch; } }while(ch=='y'||ch=='Y'); } void consumer::savemoney() { float c; char ch; do { cout<"<>c; whil

29、e(c<=0) { cout<<"請輸入正確的數(shù)字!"<"; cin>>c; } money=money+c; cout<<"操作已成功!"<"; cin>>ch; while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y') { cout<<"$ >"; cin>>ch; } }while(ch=='y'||ch=='Y'); } void consum

30、er::display() {system("cls"); cout<<"**********************************"<

31、"感謝你對本銀行儲蓄管理系統(tǒng)的支持,歡迎下次光臨!"<

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!