銀行存取款管理系統設計_第1頁
銀行存取款管理系統設計_第2頁
銀行存取款管理系統設計_第3頁
銀行存取款管理系統設計_第4頁
銀行存取款管理系統設計_第5頁
已閱讀5頁,還剩4頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、入客戶姓名進行存取款信息的查詢以及修改、刪除等操作。3、能根據客戶姓名進行查找后,以列表的方式將客戶存取款信息顯示在屏幕上。三、概要設計1、系統功能結構圖根據項目的開發要求,本系統劃分成六個主功能模塊:錄入客戶存取款信息模塊、修改客戶存取款信息模塊、刪除客戶存取款信息模塊、查詢客戶存取款信息模塊、輸出客戶存取款模塊和系統退出模塊。系統功能結構圖如下:2、重要數據的數據結構設計客戶存取款信息的記錄項用結構體Student表示,包括5個屬性:name、sex、age、addr、num 分別代表客戶姓名、性別、年齡、住址以及客戶存取款數目。struct studentchar acad10,name

4、20,sex; /客戶賬號,姓名,性別int age; /客戶年齡char addr30; /客戶住址long int num; /存取款數目;3、函數設計銀行存取款管理系統程序采用了結構化程序設計的思想,由4個.h頭文件和3個.c源文件組成。程序中除了主函數外,共設計了以下7個函數,分別包含在3個.c源文件中。以下是這些函數的函數原型及功能設計。(1)void inputing(student *p);函數功能:輸入函數中的輸數據部分并保存的函數。(2)void input(student *p,int i);函數功能:輸入函數。輸入客戶的基本信息,包括客戶姓名、性別、年齡、住址等。(3)v

5、oid insert(student *p,int i);函數功能:插入函數。插入要輸入的客戶信息。(4)void output(student *p,int i);函數功能:輸出函數。將需要的客戶信息以列表的形式顯示在屏幕上。(5)void sort(student *p,int n);函數功能:排序函數。按要求將客戶存取款信息以賬號大小的順序排列出來。(6)void find(student *p,int n); 函數功能:查找函數。按要求通過輸入客戶姓名的方式查詢客戶存取款信息。(7)int del(student *p,int n);函數功能:刪除函數。通過輸入要刪除的客戶姓名,查詢后

6、刪除該客戶存取款信息。四、調試分析本系統在VC6下編譯調試通過,可順利運行,各項功能達到設計要求。本系統程序由4個.h頭文件和3個.c源文件構成。系統調試主要在VC+6.0下進行,采用分模塊調試的方法進行編譯,即完成一個函數功能模塊就編譯一個功能模塊,最后再進行整體編譯并生成可執行文件 Student.exe。在調試的過程中,主要碰到了以下問題:1、清屏函數在 TC 中使用的 clrsrc() 函數,但在VC6中沒有該函數也沒有相應的函數。查資料,發現在VC中可使用 system() 函數調用系統命令 cls 實現。2、在使用C語言系統函數進行數據輸入的時候,發現使用getchar()和get

7、s()函數輸入字符和字符串的時候,系統經常跳過相應的輸入語句,無法輸入數據。查資料,是C系統的輸入處理的輸入緩存問題,解決方法是在進行字符和字符串輸入的時候,先使用fflush(stdin) 函數清除輸入緩存,即可正常輸入字符和字符串。五、用戶手冊本系統是WIN32控制臺程序,可在WINDOW和DOS環境下運行,執行文件名稱:Student.exe。運行程序后,首先顯示系統信息和版權信息,用戶按任意鍵后進行主功能菜單。在主功能菜單中輸入相應的數字可執行相應的程序功能,包括錄入客戶存取款信息、修改客戶存取款信息、刪除客戶存取款信息和輸出所有客戶存取款信息,輸入4可進行查詢子菜單,可進行按學號查詢

8、和按年級查詢學生信息。在主功能菜單按7可結束本系統的運行并自動關閉運行窗口。六、程序代碼:/*銀行存取款管理系統*#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>/自定義結構體程序struct studentchar acad10,name20,sex; /客戶賬號,姓名,性別int age; /客戶年齡char addr30; /客戶住址long int num; /存取款數目; void inputing(student *p);/聲明輸入函數中的

9、輸數據部分并保存的函數void input(student *p,int i);/聲明輸入函數void insert(student *p,int i);/聲明插入函數void output(student *p,int i);/聲明輸出函數void sort(student *p,int n);/聲明排序函數void find(student *p,int n);/聲明查找函數int del(student *p,int n);/聲明刪除函數void main() system("color 34");student *q=NULL;/自定義類型指針int i=0,j,k

10、,b=0;doprintf("tt|-|n");printf("tt|-一銀行存取款管理系統-|n");printf("tt| by:xiaqingsong |n");printf("tt|-|n");printf("tt| 1.輸入客戶信息 2.添加客戶信息 |n");printf("tt| 3.排序客戶信息 4.查找客戶信息 |n");printf("tt| 5.刪除客戶信息 6.顯示客戶信息 |n");printf("tt| 7.退出系統

11、|n");printf("tt|-|n");printf("tttt請選擇菜單: ");scanf("%d",&j);switch(j)case 1:b+;if(b!=1)printf("你已經輸入過一次了,不能再選擇,加入可以選擇<2.添加客戶信息>n");break;elseprintf("請輸入要輸入的客戶人數:");scanf("%d",&i);while(b<=0)printf("輸入錯誤,請重新輸入要輸入的客戶

12、人數:");scanf("%d",&i);q=(student *)malloc(i*sizeof(student);input(q,i);/調用輸入函數break;case 2:i+;q=(student *)realloc(q,i*sizeof(student);insert(q,i-1);/調用插入函數break;case 3:sort(q,i);/調用排序函數break;case 4:find(q,i);/調用查找函數break;case 5:k=del(q,i);/調用刪除函數if(k=1)i-;q=(student *)realloc(q,i*

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

14、",p->name);printf("輸入客戶住址:");scanf("%s",&(p->addr);doprintf("輸入客戶性別<m:男/f:女>:");fflush(stdin);scanf("%c",&(p->sex);if(p->sex!='m'&&p->sex!='f')printf("輸入錯誤,重新");while(p->sex!='m'&am

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

16、>1000000)printf("輸入錯誤,重新");while(p->num<0|p->num>1000000);/輸入函數void input(student *p,int i)int x;for(x=0;x<i;x+,p+)printf("請輸入第%d名客戶存取款信息:n",x+1);inputing(p);/調用輸入函數中的輸數據部分并保存的函數printf("n");/輸出函數void output(student *p,int i)printf("賬號t姓名t性別t年齡t住址t

17、存取款數目");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");/插入函數void insert(student *p,int i)p=p+i;printf("請輸入要插入的客戶存取款信息:n");inputing(p);/調用輸入函數中的輸數據部分并保存的函數printf("n");/排

18、序函數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);/查找函數void find(student *p,int n)student t;int i=0;printf("要求按客戶姓名查找:");pri

19、ntf("請輸入要查找的姓名:");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存取款數目");printf("%st%st%ct%dt%st%ldn",p->acad,p->name,p->sex,p->age,p->addr, p->num);/刪除函數int del(student *p,int n)student t;int i=0,j;char ch;printf("要求按客戶姓名刪除:");printf("輸入要刪除的客戶的姓名:");scanf("%s"

溫馨提示

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

最新文檔

評論

0/150

提交評論