[知识]C语言实训
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
2
聊城大学
《C语言实训》
题目 ATM银行管理模拟系统
指导教师: 王春哲
姓名: 匿 名
学号:
班级:
专业: 电子信息科学与技术
地点:
时间: 2012-7-9 至 2012-7-19
一、项目名称
基于控制台的银行存储系统模拟项目
二、功能要求
模拟ATM银行存储系统,设立管理端和客户端。
在管理端中,实现开户、查询帐户、修改密码、设置利率、结息和销户的操作。
在客户端中。实现存款、取款、查询账户、转帐和修改密码的操作。
三、需求分析
在模拟ATM银行存储系统中,要实现多个账户要运用结构体,更加方便的操作各个用户,使整个程序更加快捷。
要进行各个操作时,运用函数操作方便,整个程序更加合理化。
在客户和管理员查询时,运用指针操作,方便查询。
在整个程序中要对客户和管理员的操作进行保留,所以要进行文件的读写操作,这样文件才能保存
四、
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
思想
模 块 划 分
Main函数
主菜单
1(客户端 2(管理端 3.退出程序
图1
客户端
主菜单
1(存款 2(取款 3(查询账户 4 .转账 5.修改密码
图二
管理端
主菜单
1(开户 2(查询 3(修改 4 .利率 5.结息 6、销户
图三 五、具体实现
主函数
int main()
{
char choice; //用于选择
printf("\t\t欢迎进入ATM机银行仿真模拟系统\n");
while(1)
{
printf("\t\t\t请输入要进入的角色 \n");
printf("\t\t******************* \n");
printf("\t\t\t1.客户端\n");
printf("\t\t\t2.管理端\n");
printf("\t\t\t3.退出程序\n");
printf("\t\t******************* \n");
printf("\n");
printf("\t请选择:");
choice=getch();
switch(choice)
{
case '1': user();
break;
case '2': admin();
break;
case '3':
return 0;
break;
default:
printf("非法选择,请重新选择\n");
}
}
}
结构体
typedef struct
{
char name[40]; //用户名
char mima[20]; //用户密码
char haoma[40]; // 用户号码
char tel[40]; // 账户电话
double money; //存入金额 }Atmuser;
typedef struct
{
char name1[40]; //用户名
char mima1[3]; //用户密码 }Atmadmin;
客户端
int kaihumima()
{
char mima[20];
if(strcmp(atm1[current].mima,mima)!=0)
{
printf("两次输入密码不相同,请重新输入\n");
return 0;
}
}
int load1()
{
FILE *fs1;
int count;
int succ;
fs1=fopen("AtmuserData.dat","rb");
if(fs1==NULL)
{
printf("不能打开文件\n");
return 1;
}
//判断文件是否有数据
succ=fseek(fs1,0,SEEK_END);
if(succ!=0)
{
printf("文件操作失败\n");
fclose(fs1);
return 1;
}
//文件数据大小
count=ftell(fs1);
fseek(fs1,0,SEEK_SET);
total=current=count/sizeof(Atmuser);
if(atm1==NULL)
{
atm1=(Atmuser*)malloc(total*sizeof(Atmuser));
}
if(atm1==NULL)
return 1;
// count 成功读取几个学生
count=fread(atm1,sizeof(Atmuser),current,fs1);
fclose(fs1);
if(count!=current)
{
printf("读取文件失败\n");
return 1;
}
printf("读取文件成功\n");
return 0;
}
int save1()
{
int count;
FILE *fs1;
fs1=fopen("AtmuserData.dat","wb");
if(fs1==NULL)
return 1;
count=fwrite(atm1,sizeof(Atmuser),current,fs1);
fclose(fs1);
if(count!=current)
{
printf("保存失败\n");
return 1;
}
//printf("保存文件成功\n");
return 0;
}
int qukuan()
{
double moneyqu;
printf("当前金额:%lf \n",atm1[q].money);
printf("温馨提示,您输入的金额必须是100的倍数,切一次不能输入大于两千元 \n");
printf("请输入 :");
scanf("%lf",&moneyqu);
printf("正在处理 请稍后......");
printf("剩余金额数 :%lf",atm1[q].money-moneyqu);
atm1[q].money=atm1[q].money-moneyqu; //取款减少金额
save1();
return 0;
}
int cunkuan()
{
char qq,aa;
double moneycun;
printf("当前金额:%lf \n",atm1[q].money);
qq=atm1[q].money;
printf("温馨提示,您输入的金额必须是100的倍数,切一次不能输入大于两千元 \n");
printf("请输入 :");
scanf("%lf",&moneycun);
printf("正在处理 请稍后......");
printf("剩余金额数 :%lf",atm1[q].money+moneycun);
atm1[q].money=atm1[q].money+moneycun; //存款增加金额
printf("%lf",atm1[q].money);
save1();
return 0;
}
int chaxunzhanghu1()
{
printf("账户号码:%s\n",atm1[q].name);
printf("密码:%s\n",atm1[q].mima);
printf("姓名:%s\n",atm1[q].haoma);
printf("电话号码:%s\n",atm1[q].tel);
printf("金额:%lf \n",atm1[q].money);
return 0;
}
int zhuanzhang()
{
char haoma[40];
double moneyqu;
int i;
printf("剩余金额数 :%lf",atm1[q].money);
printf("请输入要转入的账号");
scanf("%s",haoma);
for(i=0;i
本文档为【[知识]C语言实训总结2】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。