您的位置:首页 > 其它

第47课时,简单银行系统的初步框架(加强版)

2015-04-20 21:39 218 查看


/*
*Copyright(c) 2015/4/20 CSDN博客
*All rights reserved.
*文件名称:main.c
*作    者:金叶
*完成日期:2015/4/20
*版本号:V1.0
*问题描述:简单银行系统的初步框架
*程序输出:
*/
/*
说明:
本程序在学习者仅掌握了基本数据类型和控制结构的前提下设计,模拟银行储蓄系统的基本功能。
在运行前,请建立文件password.txt,其中存储一个整数,表示密码。
建立文件balance.dat,其中存储一个数,表示余额。
运行结束后,对数据所做的所有修改均可以利用文件保存下来。
本程序进一步的改进:
1、银行应该是多用户,而绝不可以是单个的用户
2、应该要记录详细的业务过程
3、增加转帐、挂失等功能
4、密码的加密存储以及密码输入隐藏
5、在程序的结构方面,100多行程序放在main函数中,已经显得复杂了。
随着课程进展,我们将继续完善这个程序。
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int iChoose; //菜单选择
int iPass; //正确的密码
int iPassinflie; //文件中保存的密码
int iTry=0; //输入密码次数
int iNewpassword1,iNewpassword2; //改密码时要输入的新密码
double dMoney_all; //总余额
int dMoney_give,dMoney_save; //取款金额,存款金额(这个只能是整数 所以定为整型数)
FILE *fp; //文件指针变量

printf("欢迎进入CSDN银行系统!\n\n");

if ((fp=fopen("password.txt","r"))==NULL){
printf("password file cannot open!");
exit(0);
}
fscanf(fp,"%d",&iPassinflie);
fclose(fp);
do {
iTry++;
printf("请输入您的银行卡密码:");
scanf("%d",&iPass);
if (iPass!=iPassinflie){
printf("你输入的密码不正确,你已经输错%d次\n",iTry);
}
if (iTry>3){
printf("你已经输错3次,不能进去系统\n");
exit(0);
}
if (iPass==iPassinflie){
break;
}
}
while (1);

printf("亲爱的用户CSDN银行欢迎您!\n\n");

do {
printf("请选择要使用的功能:\n");
printf("1.查询余额\n");
printf("2.取款\n");
printf("3.存款\n");
printf("4.修改密码\n");
printf("0.退出\n");
scanf("%d",&iChoose);
switch (iChoose)
{
//查询余额
case 1:
if ((fp=fopen("balance.dat","r"))==NULL){
printf("balance file cannot open!");
exit(0);
}
fscanf(fp,"%lf",&dMoney_all);
printf("您可用余额为:%.2lf元\n\n\n",dMoney_all);
fclose(fp);
break;
//取款
case 2:
if ((fp=fopen("balance.dat","w"))==NULL){
printf("balance file cannot open!");
exit(0);
}
fscanf(fp,"%lf",&dMoney_all);
do {
printf("输入你的取款金额:");
scanf("%d",&dMoney_give);
if ((dMoney_give%100)!=0){
printf("请输入100的倍数。\n"); //判断输入的是不是100的倍数
}
else if (dMoney_all>dMoney_give){
dMoney_all-=dMoney_give;
fprintf(fp,"%f",dMoney_all);
printf("请拿好你的钱,注意小偷。\n\n");
break;
}
else{
printf("您的余额不足\n\n");
exit(0);
}
}
while (1);
fclose(fp);
break;
//存款
case 3:
if ((fp=fopen("balance.dat","w"))==NULL){
printf("balance file cannot open!");
exit(0);
}
fscanf(fp,"%lf",&dMoney_all);
do{
printf("输入你的存款金额:");
scanf("%d",&dMoney_save);
if (dMoney_save%100!=0){
printf("请输入100的倍数。\n"); //判断输入的是不是100的倍数
}
else
{
dMoney_all+=dMoney_save;
fprintf(fp,"%f",dMoney_all);
printf("您已存入%d元\n\n",dMoney_save);
break;
}

}
while (1);
fclose(fp);
break;
//修改密码
case 4:
if ((fp=fopen("password.txt","w"))==NULL){
printf("password file cannot open!");
exit(0);
}
fscanf(fp,"%d",&iPassinflie);
printf("请输入新的密码:\n");
scanf("%d",&iNewpassword1);
printf("请重复输入新的密码:\n");
scanf("%d",&iNewpassword2);
if (iNewpassword1==iNewpassword2){
iPassinflie=iNewpassword1;
fprintf(fp,"%d",iPassinflie);
printf("密码修改完成。\n\n");
}
else{
printf("你输入错误。\n");
//exit(0);
}
fclose(fp);
break;
//退出
case 0:
exit(0);
}
}
while (iChoose);

return 0;

}






入门级应该到了吧 哈哈

下面就要开始下一部分的学习了 加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: