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

来源:互联网 发布:腾讯分析 没数据 编辑:程序博客网 时间:2024/05/16 12:46

问题及代码:

#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);}
运行结果:

暂无

知识总结:

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

学习心得:
对流程模块化,用最简洁的方式梳理出主线,然后再将各个模块进行完善。

0 0