您的位置:首页 > 其它

提高第15课时,实践,简单银行系统的初步框架(加强版)v2.0

2015-05-05 22:11 246 查看
/*
*Copyright(c) 2015/5/5 CSDN博客
*All rights reserved.
*文件名称:main.c
*作    者:金叶
*完成日期:2015/5/5
*版本号:V2.0
*问题描述:简单银行系统的初步框架(加强版)v2.0
*程序输出:
*/
#include <stdio.h>
#include <stdlib.h>

double balance; //定义全局变量 余额

void password(); //用于验证密码
void menu(); //用于显示选择菜单
void Balance(); //用于余额的全局变量
void show_balance(); //用于显示余额
void take_money(); //用于计算取钱后的余额
void save_money(); //用于计算存钱后的余额
void change_password(); //用于密码修改的操作
void save_balance(); //用于完成所有操作后的余额存档

int main()
{
printf("欢迎您进入CSDN银行系统!\n\n\n");
password();
menu();
return 0;
}

//用于验证密码,如果输入错误,可以重新输入,错误3次直接退出系统
void password()
{
int iPassword,iPassword1,iTry=0;
FILE *fp; //定义文件指针 fp

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

//用于显示菜单选项
void menu()
{
int iChoose;
Balance();
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:
show_balance();
break;
case 2:
take_money();
break;
case 3:
save_money();
break;
case 4:
change_password();
break;
case 0:
save_balance();
}
}
while (iChoose);
}

//获得全局变量余额
void Balance()
{
FILE *fp;
if ((fp=fopen("balance.dat","r"))==NULL){
printf("balance file cannot open!");
exit(0);
}
fscanf(fp,"%lf",&balance);
fclose(fp);
}

//显示余额
void show_balance()
{
printf("您可用余额为:%.2lf元\n\n\n",balance);
}

//用于取款操作,计算余额
void take_money()
{
double take_money;
printf("输入你的取款金额:");
scanf("%lf",&take_money);
if (balance<take_money){
printf("您的余额不足\n\n");
exit(0);
}
printf("请拿好你的钱,注意小偷。\n\n");
balance-=take_money;
return;
}

//用于计算存钱后的余额
void save_money()
{
double save_money;
printf("输入你的存款金额:");
scanf("%lf",&save_money);
printf("您已存入%.2f元\n\n",save_money);
balance+=save_money;
return;
}

//用于密码修改的操作
void change_password()
{
int iPassword,iNewpassword1,iNewpassword2;
FILE *fp;
if ((fp=fopen("password.txt","w"))==NULL){
printf("password file cannot open!");
exit(0);
}
fscanf(fp,"%d",&iPassword);
printf("请输入新的密码:\n");
scanf("%d",&iNewpassword1);
printf("请重复输入新的密码:\n");
scanf("%d",&iNewpassword2);
if (iNewpassword1==iNewpassword2){
iPassword=iNewpassword1;
fprintf(fp,"%d",iPassword);
printf("密码修改完成。\n\n");
}
else{
printf("你输入错误。\n");
exit(0);
}
fclose(fp);
}

//用于完成所有操作后的余额存档,并退出
void save_balance()
{
FILE *fp;
if ((fp=fopen("balance.dat","w"))==NULL){
printf("balance file cannot open!");
exit(0);
}
fprintf(fp,"%f",balance);
fclose(fp);
exit (0);
}








这次的实践 整整用了3个多小时 真心累 各种错误 ,不过 还好最后搞定了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: