A. 题目21:银行存取款管理系统 设计一个银行存取款管理系统,使之能提供以下功能
模块设计:用户模块(用户管理、用户登陆) 、储户信息模块(储户信息管理)、业务模块(存款取款)、查询模块(明细查询、余额查询);
数据字典:
用户表(登陆名,密码,其他信息)
储户信息表(储户编号,储户名,身份信息,联系信息)
储户存取款表(流水编号,储户编号,日期,发生金额,贷记标志,经办人....)
界面设计:根据模块...
简单基本的考试设计没啥好回答的.....真的银行系统远不是这样的
B. 物资库存管理系统的编程中的输入输出输出的设计
;
#include<stdio.h>
#include<string.h>
#define SIZE 2//SIZE为仓库电器种类
struct goods
{
char name[10];
char brand[10];
char style[10];
int num;
float money;
}stu[SIZE];//库存结构
struct date
{
int year;
int month;
int day;
};//日期结构
struct entrance
{
char name[10];
char brand[10];
char style[10];
int num;
float money;
struct date time;
char stuf[10];
}stu_2[SIZE];//入库结构
struct exit
{
char name[10];
char brand[10];
char style[10];
int num;
struct date time;
char stuf[10];
}stu_3[SIZE];//出库结构
void main()
{
void save_1();
void save_2();
void save_3();
void change_1();
void change_2();
void found_1();
void found_2();
int i;
printf("please input the information:\n");
for(i=0;i<SIZE;i++)
{
scanf("%s%s%s%d%d",stu[i].name,stu[i].brand,stu[i].style,&stu[i].num,&stu[i].money);
} //输入库存
save_1(); //利用函数将库存保存
FILE *fp;
fp=fopen("stu_list.txt","rb");
for(i=0;i<SIZE;i++)
{
fread(&stu[i],sizeof(struct goods),1,fp);
printf("%s %s %s %d %d",stu[i].name,stu[i].brand,stu[i].style,stu[i].num,stu[i].money);
printf("\n");
} //读出信息
fclose(fp);
printf("请输入物资入库信息:\n");//输入入库信息
for(i=0;i<SIZE;i++)
scanf("%s%s%s%d%f%d%d%d%s",stu_2[i].name,stu_2[i].brand,stu_2[i].style,&stu_2[i].num,&stu_2[i].money,&stu_2[i].time.year,&stu_2[i].time.month,&stu_2[i].time.day,stu_2[i].stuf);
save_2(); //创建入库文件
change_1();
printf("请输入出库信息\n");
scanf("%s%s%s%d%d%d%d%s",stu_3[i].name,stu_3[i].brand,stu_3[i].style,&stu_3[i].num,&stu_3[i].time.year,&stu_3[i].time.month,&stu_3[i].time.day,stu_3[i].stuf);
for(i=0;i<SIZE;i++)
{
if(stu_3[i].num>stu[i].num)
{
printf("the error number!please input again!\n");
break;
}
else
{
save_3();
change_2();
}
}
found_1();
found_2();
}
void save_1()
{
FILE *fp;
int i;
if((fp=fopen("stu_list.txt","wb"))==NULL)
{
printf("connot open the file\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stu[i],sizeof(struct goods),1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
}
void save_2()
{
FILE *fp;
int i;
if((fp=fopen("stu_list_2.txt","wb"))==NULL)
{
printf("connot open the file\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stu_2[i],sizeof(struct entrance),1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
}
void change_1()
{
int i;
for(i=0;i<SIZE;i++)
{
if(strcmp(stu[i].name,stu_2[i].name)==0&&strcmp(stu[i].brand,stu_2[i].brand)==0&&strcmp(stu[i].style,stu_2[i].style)==0)
{
stu[i].num=stu[i].num+stu_2[i].num;
}
}
save_1();
}
void save_3()
{
FILE *fp;
int i;
if((fp=fopen("stu_list_3.txt","wb"))==NULL)
{
printf("connot open the file\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stu_3[i],sizeof(struct exit),1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
}
void change_2()
{
int i;
for(i=0;i<SIZE;i++)
{
if(strcmp(stu[i].name,stu_3[i].name)==0&&strcmp(stu[i].brand,stu_3[i].brand)==0&&strcmp(stu[i].style,stu_3[i].style)==0)
{
stu[i].num=stu[i].num-stu_3[i].num;
}
}
save_1();
}
void found_1()
{
FILE *fp;
int i;
int sum=0;
char name[10];
char brand[10];
printf("please input the name and brand:\n");//4.1 4.2 5.1
scanf("%s%s",name,brand);
if((fp=fopen("stu.list.txt","rb"))==NULL)
{
printf("connot open the file!\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fread(&stu[i],sizeof(struct goods),1,fp)!=1)
{
if(strcmp(name[10],stu[i].name[10])==0)
{
printf("the information of the good:\n");
printf("%s %s %s %d %d",stu[i].name,stu[i].brand,stu[i].style,stu[i].num,stu[i].money);
sum=sum+stu[i].num;
}
if(strcmp(brand[10],stu[i].brand[10])==0)
{
printf("the information of the good:\n");
printf("%s %s %s %d %d",stu[i].name,stu[i].brand,stu[i].style,stu[i].num,stu[i].money);
}
}
}
printf("the number of this %s is %d.\n",name[10],sum);
}
void found_2()
{
FILE *fp;
int i;
int j;
int sum=0;
int year_1,year_2,month_1,month_2,day_1;
char name_1[10],name_2[10],style_1[10];
if((fp=fopen("stu_list_2.txt","rb"))==NULL)
{
printf("connot open the file!\n");
return;
}
if((fp=fopen("stu_list_3.txt","rb"))==NULL)
{
printf("connot open the file!\n");
return;
}
printf("please input year_1,month_1,day_1,then find the exit and entrance:\n");
scanf("%d%d%d",&year_1,&month_1,&day_1);
printf("please input the name and style,then find the good's entrance and exit");
scanf("%s%s",name_1,style_1);
printf("please input the name of the good,then output the number or its entrance:\n");
scanf("%s",name_2);
printf("please input year_2 and month_2,then output the number of exit in this month:\n");
scanf("%d%d",&year_2,&month_2);
printf("please input the red number,then output all the informations of the goods:\n");
scanf("%d",&j);
for(i=0;i<SIZE;i++)
{
if((fread(&stu_2[i],sizeof(struct entrance),1,fp)!=1)&&(fread(&stu_3[i],sizeof(struct exit),1,fp)!=1))//读出入库和出库信息
{
if((stu_2[i].time.year==year_1)&&(stu_2[i].time.month==month_1)&&(stu_2[i].time.day==day_1))//入库信息4.3
{
printf("%s%s%s%d%f%d%d%d%s",stu_2[i].name,stu_2[i].brand,stu_2[i].style,stu_2[i].num,stu_2[i].money,stu_2[i].time.year,stu_2[i].time.month,stu_2[i].time.day,stu_2[i].stuf);
}
if((stu_3[i].time.year==year_1)&&(stu_3[i].time.month==month_1)&&(stu_3[i].time.day==day_1))//出库信息4.3
{
printf("%s%s%s%d%d%d%d%s",stu_3[i].name,stu_3[i].brand,stu_3[i].style,stu_3[i].num,stu_3[i].time.year,stu_3[i].time.month,stu_3[i].time.day,stu_3[i].stuf);
}
}
}
for(i=0;i<SIZE;i++)//4.4
{
if((fread(&stu_2[i],sizeof(struct entrance),1,fp)!=1)&&(fread(&stu_3[i],sizeof(struct exit),1,fp)!=1))//读出入库和出库信息
{
if((strcmp(stu_2[i].name,name_1))==0&&(strcmp(stu_2[i].style,style_1))==0)
{
printf("%s%s%s%d%f%d%d%d%s",stu_2[i].name,stu_2[i].brand,stu_2[i].style,stu_2[i].num,stu_2[i].money,stu_2[i].time.year,stu_2[i].time.month,stu_2[i].time.day,stu_2[i].stuf);
}
if((strcmp(stu_3[i].name,name_1))==0&&(strcmp(stu_3[i].style,style_1))==0)
{
printf("%s%s%s%d%d%d%d%s",stu_3[i].name,stu_3[i].brand,stu_3[i].style,stu_3[i].num,stu_3[i].time.year,stu_3[i].time.month,stu_3[i].time.day,stu_3[i].stuf);
}
}
}
for(i=0;i<SIZE;i++)//5.3
{
if((fread(&stu_3[i],sizeof(struct exit),1,fp)!=1))
if(stu_3[i].time.year==year_2&&stu_3[i].time.month==month_2)
{
sum=sum+stu_3[i].num;
}
}
printf("the time of exit is %d.\n",sum);
for(i=0;i<SIZE;i++)
{
if((fread(&stu[i],sizeof(struct goods),1,fp)!=1))
{
if(stu[i].num<j)
{
printf("th information of the good are:\n");
printf("%s%s%s%d%f",stu[i].name,stu[i].brand,stu[i].style,stu[i].num,stu[i].money);
}
}
}
}
C. 基于JAVA的银行储蓄业务管理系统设计(毕业论文)
可以凭借Baihi告知我们
有机会能够处理你所遇到的工作
相关的要求也能够告知我们
ES:\\
交易提醒:预付定金有风险
D. 程序设计银行定期储蓄管理系统
东西太多了,我放在网盘上了,楼主看在我这么辛苦的份上采纳吧!!!
E. 关于"银行储蓄管理系统"的软件设计,请高手帮帮忙吧
【设计题目】:储户的存款单或取款单由业务员输入系统,密码由储户输入。如果是存款,系统记录帐号,存款人姓名,地址,存款类型,存款日期,利息等信息;如果是取款,计算利息,并打印利息清单给储户。
【设计目的】:通过对银行储蓄管理系统的分析,进一步理解和掌握面向对象方法论,尤其是面向对象的三个模型:对象模型、动态模型、功能模型。
【设计条件、软件工具】:专业的数据库管理系统,采用面向对象的方法。
【设计思想、算法】:用面向对象方法分析上述系统,建立它的对象模型、动态模型、功能模型。
【设计过程,操作步骤说明】:
(一)建立对象模型
1. 确定类—&—对象
经分析本系统问题域及功能需求,得出主要的类—&—对象:总行、分行、营业厅(储蓄所)终端、储户、帐户、业务员、事务。
2. 确定关联
(1) 总行由若干个分行组成;分行拥有一个营业厅、若干个储蓄所;
(2) 分行雇用业务员;
(3) 储户拥有一个或多个帐户;
(4) 分行处理针对帐户的事务;分行维护帐户;
(5) 业务员输入针对帐户的事务;
(6) 终端与用户交互;
(7) 终端打印帐单;
3. 对象模型
(二)建立动态模型
1. 正常情况脚本(取款)
业务员将储户所填写资料输入储蓄所终端;
终端要求储户输入密码;储户输入对应帐号的正确密码;
终端要求总行验证密码;总行要求分行核对储户密码,然后通知终端密码正确;
终端确认取款额在预先规定的限额内,然后要求决行处理这个事务;
总行把请求转给分行;分行成功地处理完这项事务并返回该帐户的新余额;
终端打印存折和帐单;
业务员与储户交接现金、存折和帐单。
异常情况脚本(取款)
业务员将储户所填写资料输入储蓄所终端;
终端要求储户输入密码;储户不小心输入错误密码;
终端要求总行验证密码;总行在向有关分行咨询后通知终端密码有错;
终端显示“密码错”,并请储户重新输入密码;终端请总行验证后知这次输入的密码正确;
储户改变主意不想取款了,业务员敲“取消”键;
业务员把存折、取款单退回给储户。
正常情况脚本的事件跟踪图
储户终端总行分行
业务员输入储户填写资料
要求密码
输入密码
请求验证密码
请求分行验证密码
密码正确
业务员交接现金存折帐单
储户取走现金存折帐单
结束
(三)建立功能模型
1. 基本系统模型
2. 功能级数据流图
【设计心得体会】:通过本实验,使我更清晰地理解了面向对象方法论的分析和设计过程,对三种模型之间的关系更加清楚。通过对系统的对象模型的分析,理解到对象模型确实是三种模型中最重要、最关键的,只有对对象模型进行了较透彻的分析,才能清楚地得出其它两个模型。
F. 求银行储蓄系统详细设计
银行储蓄系统详细设计
一、模块设计
系统总体结构方图:
银行储蓄系统又大致分为两个模块:存款模块和取款模块。
1.身份验证模块:
设置身份验证模块的目的保证储户信息的安全。功能在于对申请登录的用户进行身份验证,通过者才能进入系统。
银行业务员输入储户用户ID,储户输入密码并确定,系统保存用户输入的用户ID和密码,并在customer表中查找customerid和customername字段值,看是否等于业务员输入的用户ID和密码,如相同则通过验证,否则不通过,并给出“密码错误”的提示,如数据库中不存在这样的记录,则给出“该用户不存在”的提示。
2.存款模块:
设置存款模块的目的在于将储户的金额存到系统中并记录信息。存款模块将储户存款金额录入存储到系统中,并附带显示其他储户信息。
该模块的输出项为存款金额,并且附带显示其他信息:用户名、账号、账户余额、利息金额。当银行业务员输入存款金额后,系统进行处理,显示出账户余额,并且显示其他固定信息。
3.取款模块:
设置取款模块的目的在于将储户的取款金额录入并存储到系统中。取款模块将储户取款金额录入存储到系统中,并附带显示储户其他信息。该模块的输出项为取款金额,并且附带显示其他信息:用户名、账号、账户余额、利息金额。当银行业务员输入取款金额后,点击确定按钮,系统进行处理,显示出账户余额,并且显示其他固定信息。
4.存款单打印模块:
设置存款单打印模块的目的在于将储户的存款信息以单据的形式及时反馈给储户。存款单打印模块将储户存款金额以及储户帐户信息以单据形式反馈给储户。该模块的输出项为存款人、存款银行、业务员编号、存款金额、存款日期、手续费、帐户余额。当银行业务员输入存款金额后,系统进行处理,显示出账户余额,并且显示其他固定信息。
5.取款单打印模块:
设置取款单打印模块的目的在于将储户的取款信息以单据的形式及时反馈给储户。取款单打印模块将储户取款金额以及储户帐户信息以单据形式反馈给储户。该模块的输出项为取款人、取款银行、业务员编号、取款金额、取款日期、手续费、帐户余额。当银行业务员输入取款金额后,系统进行处理,显示出账户余额,并且显示其他固定信息。
6.按用户名和ID查询模块
设置“按用户名和ID查询”模块的目的在于方便用户获知自己的存取款信息。功能在于通过储户输入用户名和ID来查询自己的信息。
该模块的输出项为储户各项信息。输入用户名和ID,单击检索按钮,系统判断用户名和ID是否与数据库中的customername , customerid相同,若相同则输出储户各项信息,若不同则输出“输入有误!请重新输入!”的提示信息。
二、数据设计
1.用户验证模块流程图:
该模块的输入项:
名称 标识 数据类型 数据值 输入方式
用户ID customerid 字符 键盘输入
密码 password 字符或数字 键盘输入
2.存款模块流程图:
该模块的输入项:
名称 标识 数据类型 数据值 输入方式
存款金额 cunkuancount 数字( Double ) >0 键盘或鼠标
3.取款模块的流程图:
该模块的输入项:
名称 标识 数据类型 数据值 输入方式
取款金额 qukuancount 数字( Double ) >0 键盘或鼠标
三、、对话设计
在对话设计的过程中遵循了对话设计的原则:
1.对话要清楚、没有二义性。
2.对用户的响应要快,而且要进行了回答的有效性检验。
3.对话比较适合用户的要求与习惯,应该问的问题问了,问得不频繁。
4.注意询问格式的美观、实用,而且采用了统一的格式,体现了一定的风格。
四、可靠性设计
这里所说的可靠性是指数据的安全与保密。所谓系统的可靠性设计就是确定保证数据的安全与保密措施。
就保密措施采取了二重确认的方法。通过加强应用程序的容错性,设置了用户的权限,系统中信息资源的存取、修改、查询等使用权限进行了控制。对于用户管理员的顶级权限在程序运行的过程中进行了控制工作。
G. 用C或C++设计银行储蓄管理系统
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define BUFFERSIZE 1024
#define MAXACCOUNT 1000
typedef struct BankAccount
{
int account;
int key;
char name[32];
float balance;
}BANKACCOUNT;
BANKACCOUNT accountCollection[MAXACCOUNT];
int curAccount = 0;
void InsertAccount(FILE *fp)
{
BANKACCOUNT newaccount;
printf("please input the account information\n");
printf(">>account num:");
scanf("%d",&(newaccount.account));
printf(">>key:");
scanf("%d",&(newaccount.key));
printf(">>name:");
scanf("%s",newaccount.name);
printf(">>balance:");
scanf("%f",&(newaccount.balance));
fseek(fp,0L,SEEK_END);
fprintf(fp,"%d %d %s %.2f\n",newaccount.account,newaccount.key,newaccount.name,newaccount.balance);
}
void GetAccount(FILE *fp)
{
int accountnum;
int key;
char name[32];
float balance;
int i =0,j;
char buffer[BUFFERSIZE];
int len;
curAccount = 0;
fseek(fp,0,SEEK_SET);
while(!feof(fp)) /* 因为feof()最后会读2遍,所以最后curAccount多加了1 */
{
fscanf(fp,"%d %d %s %f",&accountnum,&key,name,&balance);
accountCollection[curAccount].account = accountnum;
accountCollection[curAccount].key = key;
strcpy(accountCollection[curAccount].name ,name);
accountCollection[curAccount].balance = balance;
curAccount++;
}
}
void ListAccount(FILE *fp)
{
int i =0;
printf("There is %d accounts at all:\n",curAccount-1);/* curAccount减去多加的1 */
for(i = 0;i< curAccount-1;i++)
{
printf("ACCOUNT[%d]:\n",i+1);
printf("account:%d\n",accountCollection[i].account);
printf("name:%s\n",accountCollection[i].name);
printf("balance:%.2f\n",accountCollection[i].balance);
}
}
int SearchAccount(FILE *fp,int accountnum)
{
int i =0;
for(i = 0;i< curAccount-1;i++)
{
if(accountCollection[i].account == accountnum)
{
printf("ACCOUNT[%d]:\n",i+1);
printf("account:%d\n",accountCollection[i].account);
printf("name:%s\n",accountCollection[i].name);
printf("balance:%.2f\n",accountCollection[i].balance);
return 1;
}
}
return 0;
}
void DelAccount(FILE *fp,int accountnum)
{
int i;
if(SearchAccount(fp,accountnum)==0)
printf("Can't find the account\n");
else
{
for(i = 0;i<curAccount-1;i++)
{
if(accountCollection[i].account != accountnum)
fprintf(fp,"%d %d %s %.2f\n",accountCollection[i].account,accountCollection[i].key,accountCollection[i].name,accountCollection[i].balance);
}
printf("delete successfully!\n");
}
}
int main()
{
FILE *fp;
int accountnum;
int i;
do{
system("cls"); //清屏
puts("********************************************");
puts("* You can choose : *");
puts("* 1 : Insert a new Account *");
puts("* 2 : List all Accounts *");
puts("* 3 : Find a Account *");
puts("* 4 : Delete a Account *");
puts("* 5 : quit *");
puts("********************************************");
printf("Please input your choice:");
scanf("%d",&i);
system("cls"); //清屏
switch(i)
{
case 1:
if(!(fp = fopen("account.txt","a+")))
{
printf("can't open the file account.txt\n");
exit(0);
}
InsertAccount( fp);
printf("press any key to continue.....\n");
getch();
fclose(fp);
break;
case 2:
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
ListAccount(fp);
fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
case 3:
printf("please input the account num:\n");
scanf("%d",&accountnum);
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
if(!SearchAccount(fp,accountnum))
printf("There is not the account:%d\n",accountnum);
fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
case 4:
printf("please input the account num:\n");
scanf("%d",&accountnum);
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
fclose(fp);
if(!(fp = fopen("account.txt","w+")))
{
printf("can't open the file account.txt\n");
exit(0);
}
DelAccount(fp,accountnum);
fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
default:
break;
}
}while(i != 5);
return 0;
}
这里账户数据文件名已经设定为account.txt,这个文件要和上面这个程序放在同一个文件夹下面,不然就得用绝对路径(比如"d:\\book\\account.txt"),account内容可以用记事本打开自己改动,然后运行程序后就可以在程序中添加或删除。account.txt一个参考内容如下:
1 10023 zhangsl 100.50
2 32001 sunq 5000.00
3 20010 wangxi 2500.00 4
自认为编的一般,但是还是希望采纳。