銀行存取款管理系統(tǒng)設(shè)計_第1頁
銀行存取款管理系統(tǒng)設(shè)計_第2頁
銀行存取款管理系統(tǒng)設(shè)計_第3頁
銀行存取款管理系統(tǒng)設(shè)計_第4頁
銀行存取款管理系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、題目:銀行存取款管理設(shè)計功能:能夠輸入和查詢客戶存款取款記錄。在客戶文件中,每個客戶是一條記錄,包括編號、客戶姓名、支取密碼、客戶地址、客戶電話、賬戶總金額;在存取款文件中,每次存取款是一條記錄,包括編號、日期、類別、存取數(shù)目、經(jīng)辦人。類別分為取款和存款兩種。本系統(tǒng)能夠輸入客戶存款或取款記錄;根據(jù)客戶姓名查詢存款和取款記錄。分步實施:1、初步完成總體設(shè)計,搭好框架,確定人機對話界面,確定函數(shù)個數(shù);2、建立一個文件,輸入客戶的必要信息,能對文件進行顯示、輸入、修訂、刪除等。3、進一步要求:完成客戶姓名查詢存款和取款記錄,并能得到每次帳戶總金額。要求:1、用C語言實現(xiàn)系統(tǒng);2、利用結(jié)構(gòu)體數(shù)組實現(xiàn)信

2、息的數(shù)據(jù)結(jié)構(gòu)設(shè)計;3、系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn);4、界面友好(良好的人機交互),程序加必要的注釋。課程設(shè)計實驗報告要求:1、預(yù)習報告:題目、課程設(shè)計任務(wù)、數(shù)據(jù)結(jié)構(gòu)、程序的總體設(shè)計(算法)、模塊劃分 。2、實驗總結(jié)報告:流程圖、主要源程序代碼(需打?。?、測試情況及調(diào)試中問題與解決方案、小結(jié)等。一、系統(tǒng)簡介設(shè)計一個基于結(jié)構(gòu)體數(shù)組的銀行存取款管理系統(tǒng),能實現(xiàn)對客戶存取款信息進行錄入、修改、刪除、查詢和輸出等基本操作。二、需求分析銀行存取款管理系統(tǒng)應(yīng)實現(xiàn)以下功能:1、能錄入用戶存取款的基本信息,包括客戶姓名、性別、年齡、住址以及存取款日期、數(shù)目等基本信息,保存到結(jié)構(gòu)體數(shù)組中。2、能根據(jù)輸

3、入客戶姓名進行存取款信息的查詢以及修改、刪除等操作。3、能根據(jù)客戶姓名進行查找后,以列表的方式將客戶存取款信息顯示在屏幕上。三、概要設(shè)計1、系統(tǒng)功能結(jié)構(gòu)圖根據(jù)項目的開發(fā)要求,本系統(tǒng)劃分成六個主功能模塊:錄入客戶存取款信息模塊、修改客戶存取款信息模塊、刪除客戶存取款信息模塊、查詢客戶存取款信息模塊、輸出客戶存取款模塊和系統(tǒng)退出模塊。系統(tǒng)功能結(jié)構(gòu)圖如下:銀行存取款管理系統(tǒng)修改客戶信息刪除客戶信息輸出客戶信息 系統(tǒng)退出錄入客戶信息查詢客戶信息要求根據(jù)客戶姓名查找2、重要數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)設(shè)計客戶存取款信息的記錄項用結(jié)構(gòu)體Student表示,包括5個屬性:name、sex、age、addr、num 分別代

4、表客戶姓名、性別、年齡、住址以及客戶存取款數(shù)目。struct studentchar acad10,name20,sex; /客戶賬號,姓名,性別int age; /客戶年齡char addr30; /客戶住址long int num; /存取款數(shù)目;3、函數(shù)設(shè)計銀行存取款管理系統(tǒng)程序采用了結(jié)構(gòu)化程序設(shè)計的思想,由4個.h頭文件和3個.c源文件組成。程序中除了主函數(shù)外,共設(shè)計了以下7個函數(shù),分別包含在3個.c源文件中。以下是這些函數(shù)的函數(shù)原型及功能設(shè)計。(1)void inputing(student *p);函數(shù)功能:輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)。(2)void input(stude

5、nt *p,int i);函數(shù)功能:輸入函數(shù)。輸入客戶的基本信息,包括客戶姓名、性別、年齡、住址等。(3)void insert(student *p,int i);函數(shù)功能:插入函數(shù)。插入要輸入的客戶信息。(4)void output(student *p,int i);函數(shù)功能:輸出函數(shù)。將需要的客戶信息以列表的形式顯示在屏幕上。(5)void sort(student *p,int n);函數(shù)功能:排序函數(shù)。按要求將客戶存取款信息以賬號大小的順序排列出來。(6)void find(student *p,int n); 函數(shù)功能:查找函數(shù)。按要求通過輸入客戶姓名的方式查詢客戶存取款信息。(

6、7)int del(student *p,int n);函數(shù)功能:刪除函數(shù)。通過輸入要刪除的客戶姓名,查詢后刪除該客戶存取款信息。四、調(diào)試分析本系統(tǒng)在VC6下編譯調(diào)試通過,可順利運行,各項功能達到設(shè)計要求。本系統(tǒng)程序由4個.h頭文件和3個.c源文件構(gòu)成。系統(tǒng)調(diào)試主要在VC+6.0下進行,采用分模塊調(diào)試的方法進行編譯,即完成一個函數(shù)功能模塊就編譯一個功能模塊,最后再進行整體編譯并生成可執(zhí)行文件 Student.exe。在調(diào)試的過程中,主要碰到了以下問題:1、清屏函數(shù)在 TC 中使用的 clrsrc() 函數(shù),但在VC6中沒有該函數(shù)也沒有相應(yīng)的函數(shù)。查資料,發(fā)現(xiàn)在VC中可使用 system() 函

7、數(shù)調(diào)用系統(tǒng)命令 cls 實現(xiàn)。2、在使用C語言系統(tǒng)函數(shù)進行數(shù)據(jù)輸入的時候,發(fā)現(xiàn)使用getchar()和gets()函數(shù)輸入字符和字符串的時候,系統(tǒng)經(jīng)常跳過相應(yīng)的輸入語句,無法輸入數(shù)據(jù)。查資料,是C系統(tǒng)的輸入處理的輸入緩存問題,解決方法是在進行字符和字符串輸入的時候,先使用fflush(stdin) 函數(shù)清除輸入緩存,即可正常輸入字符和字符串。五、用戶手冊本系統(tǒng)是WIN32控制臺程序,可在WINDOW和DOS環(huán)境下運行,執(zhí)行文件名稱:Student.exe。運行程序后,首先顯示系統(tǒng)信息和版權(quán)信息,用戶按任意鍵后進行主功能菜單。在主功能菜單中輸入相應(yīng)的數(shù)字可執(zhí)行相應(yīng)的程序功能,包括錄入客戶存取款信

8、息、修改客戶存取款信息、刪除客戶存取款信息和輸出所有客戶存取款信息,輸入4可進行查詢子菜單,可進行按學號查詢和按年級查詢學生信息。在主功能菜單按7可結(jié)束本系統(tǒng)的運行并自動關(guān)閉運行窗口。六、程序代碼:/*銀行存取款管理系統(tǒng)*#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>/自定義結(jié)構(gòu)體程序struct studentchar acad10,name20,sex; /客戶賬號,姓名,性別int age; /客戶年齡char addr30; /客戶住址lon

9、g int num; /存取款數(shù)目; void inputing(student *p);/聲明輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)void input(student *p,int i);/聲明輸入函數(shù)void insert(student *p,int i);/聲明插入函數(shù)void output(student *p,int i);/聲明輸出函數(shù)void sort(student *p,int n);/聲明排序函數(shù)void find(student *p,int n);/聲明查找函數(shù)int del(student *p,int n);/聲明刪除函數(shù)void main() system(&qu

10、ot;color 34");student *q=NULL;/自定義類型指針int i=0,j,k,b=0;doprintf("tt|-|n");printf("tt|-一銀行存取款管理系統(tǒng)-|n");printf("tt| by:xiaqingsong |n");printf("tt|-|n");printf("tt| 1.輸入客戶信息 2.添加客戶信息 |n");printf("tt| 3.排序客戶信息 4.查找客戶信息 |n");printf("tt

11、| 5.刪除客戶信息 6.顯示客戶信息 |n");printf("tt| 7.退出系統(tǒng) |n");printf("tt|-|n");printf("tttt請選擇菜單: ");scanf("%d",&j);switch(j)case 1:b+;if(b!=1)printf("你已經(jīng)輸入過一次了,不能再選擇,加入可以選擇<2.添加客戶信息>n");break;elseprintf("請輸入要輸入的客戶人數(shù):");scanf("%d&quo

12、t;,&i);while(b<=0)printf("輸入錯誤,請重新輸入要輸入的客戶人數(shù):");scanf("%d",&i);q=(student *)malloc(i*sizeof(student);input(q,i);/調(diào)用輸入函數(shù)break;case 2:i+;q=(student *)realloc(q,i*sizeof(student);insert(q,i-1);/調(diào)用插入函數(shù)break;case 3:sort(q,i);/調(diào)用排序函數(shù)break;case 4:find(q,i);/調(diào)用查找函數(shù)break;case 5

13、:k=del(q,i);/調(diào)用刪除函數(shù)if(k=1)i-;q=(student *)realloc(q,i*sizeof(student);break;case 6:output(q,i);/調(diào)用輸出函數(shù)break;case 7:printf("程序即將退出.n");break;default:printf("菜單選擇錯誤!");while(j!=7);free(q);/輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)void inputing(student *p)printf("請輸入客戶賬號:");scanf("%s",p

14、->acad);printf("請輸入客戶姓名:");scanf("%s",p->name);printf("輸入客戶住址:");scanf("%s",&(p->addr);doprintf("輸入客戶性別<m:男/f:女>:");fflush(stdin);scanf("%c",&(p->sex);if(p->sex!='m'&&p->sex!='f')print

15、f("輸入錯誤,重新");while(p->sex!='m'&&p->sex!='f');doprintf("輸入客戶年齡:");scanf("%d",&(p->age);if(p->age<1|p->age>100)printf("輸入錯誤,重新");while(p->age<1|p->age>100);doprintf("輸入客戶存取款數(shù)目:");scanf("

16、%ld",&(p->num);if(p->num<0|p->num>1000000)printf("輸入錯誤,重新");while(p->num<0|p->num>1000000);/輸入函數(shù)void input(student *p,int i)int x;for(x=0;x<i;x+,p+)printf("請輸入第%d名客戶存取款信息:n",x+1);inputing(p);/調(diào)用輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)printf("n");/輸出函數(shù)voi

17、d output(student *p,int i)printf("賬號t姓名t性別t年齡t住址t存取款數(shù)目");int x=0;for(x=0;x<i;x+,p+)printf("%st%st%ct%dt%st%ldn",p->acad,p->name,p->sex,p->age,p->addr,p->num);printf("n");/插入函數(shù)void insert(student *p,int i)p=p+i;printf("請輸入要插入的客戶存取款信息:n");in

18、puting(p);/調(diào)用輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)printf("n");/排序函數(shù)void sort(student *p,int n)student t;int i,j;printf("要求按賬號從小到大排序.n");for(i=0;i<n-1;i+)for(j=0;j<n-i-1;j+)if(strcmp(p+j)->acad,(p+j+1)->acad)=1)t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;output(p,n);/查找函數(shù)void find(student *p,int

19、n)student t;int i=0;printf("要求按客戶姓名查找:");printf("請輸入要查找的姓名:");scanf("%s",);for(i=0;i<n;i+)if(strcmp(,(p+i)->name)=0)break;if(i>=n)printf("查找的姓名是%s的客戶,沒有找到!n",);elseprintf("查找的姓名是%s的客戶,是所輸入的客戶中的%d個客戶.n",,i+1);printf("賬號t姓名t性別t年齡t住址t存取款數(shù)目");printf("%st%st%ct%dt%st%ldn",p->acad,p->name,p->sex,p->age,p->addr, p->num);/刪除函數(shù)int del(student *p,int n)student t;int i=0,j;char ch;printf("要求按客戶姓名刪除:");printf("輸入要刪除的客戶的姓名:");scanf("%

溫馨提示

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

評論

0/150

提交評論