您的位置:首页 > 编程语言 > C语言/C++

第4周 C语言及程序设计提高例程-15 小小型应用系统开发指导(三)

2016-04-20 15:37 375 查看
问题及代码:

#include<stdio.h>
#include<stdlib.h>
double Balance;//全局变量金额
int iPASSFILE;//全局变量密码
int pass();//验证密码
void work();//业务驱动
void getBalance();//获得余额
void Menu();//显示菜单
void undatepassword();//更改密码
void withdraw();//取款
void save();//存款
void saveBlance();//退出系统时保存数据
int main()
{
printf("欢迎来到时缔银行!");
if(pass())
{
work();
}
return 0;
}

int pass()
{
int ipass;
int iTry=3;
FILE *fp;
if((fp=fopen("password.txt","r")==NULL))
{
printf("password file cannot open!")
exit(0);
}
fscanf(fp,"%d",&iPASSWORD);
fclose(fp);
do
{
iTry--;
printf("请输入密码:");
scanf("%d",ipass);
if(iTry>3)
printf("您已尝试%d次",iTry);
else
printf("您的错误已超过3次,不能进入系统");
}
while(iTry);
return iTry;
}
void work()
{
int iChoice;
getBlance();
do
{
showMenu();
printf("请输入0-4");
scanf("%d",&iChoice);
swich(iChoice)
case 1:
printf("您有%.2f\n",Blance);
break;
case 2:
withdraw();
break;
case 3:
save();
break;
case 4:
undatepassword();
break;
case 0:
printf("欢迎下次再来!");

}
while(ichoice);
saveBlance();
}
void getBalance()
{
FILE*fp;
if(fp=fopen("balance.dat","r")==NULL)
{
printf("balance file cannot open!");
exit(0);
}
fscanf(fp,"%lf",&Balance);
fclose(fp);
return;
}
void show Menu()
{
printf("\n您可以办理下面的业务:\n");
printf("  1.查询\n");
printf("  2.取款\n");
printf("  3.存款\n");
printf("  4.改密码\n");
printf("  0.退出\n");
}
void undatepassword();
{
FILE *fp;
int ipassword1,ipassword2;
printf("请输入新密码:");
scanf("%d", &ipassword1);
printf("再输入新密码:");
scanf("%d", &ipassword2);
if(ipassword1==ipassword2)
iPASSFILE=ipassword1;
printf("你的密码修改完毕!请保持好密码!");
if ((fp=fopen("password.txt", "w"))==NULL)
{
printf("password file cannot open!");
exit(0);
}
fprintf(fp, "%d", iPASSFILE);
fclose(fp);
else
printf("两次输入不一致,密码修改失败.\n");
}
void withdraw()
{
double dMoney;
printf("请输入取款金额:");
scanf("%lf",dMoney);
if(dMoney<Balance)
{
Balance-=dMoney;
printf("取款后您还有%.2lf余额",Balance);
}
else
printf("您的余额不足,请重新输入!");
return;
}
void save()
{
double dMoney;  //存款金额
printf("输入存款额: ");
scanf("%lf", &dMoney);
dBalance+=dMoney;
printf("存款后,您有%.2f元. \n",dBalance);
return;
}
void saveBalance()
{
FILE *fp;  //用于文件操作
//保存余额
if ((fp=fopen("balance.dat", "w"))==NULL)
{
printf("data file cannot open!");
exit(0);
}
fprintf(fp, "%f", dBalance);
fclose(fp);
}
运行结果:

暂无

知识总结:

自定义函数在实际中的应用,建立模块化和体系化。

学习心得:

对流程模块化,用最简洁的方式梳理出主线,然后再将各个模块进行完善。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: