第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
- 第4周 C语言及程序设计提高例程-15 小小型应用系统开发指导(三)
- C语言及程序设计提高例程-15 小小型应用系统开发指导(三)
- 第10周 C语言及程序设计提高例程-40 小小型应用系统开发指导(四)
- C语言及程序设计提高例程-40 小小型应用系统开发指导(四)
- 第3周 C语言及程序设计初步例程-46 小小型应用系统开发指导(一)
- 第3周 C语言及程序设计初步例程-47 小小型应用系统开发指导(二)
- C语言及程序设计初步例程-46 小小型应用系统开发指导(一)
- C语言及程序设计初步例程-47 小小型应用系统开发指导(二)
- C语言提高-第15讲: 小小型应用系统开发指导(函数版银行储蓄系统)
- C语言提高-40讲: 小小型应用系统开发指导(四)(银行储蓄系统数组版)
- C语言初步-第47讲: 小小型应用系统开发指导(模拟银行储蓄系统的基本功能)
- 第4周 C语言及程序设计提高例程-18 一维数组应用二三例
- 第十五课 小小型应用系统开发指导(三)
- C语言及程序设计提高例程-14 应用系统结构
- 第4周 C语言及程序设计提高例程-4 函数的返回值
- 第4周 C语言及程序设计提高例程-3 体验自定义函数
- 第4周 C语言及程序设计提高例程-5 函数的参数
- 第4周 C语言及程序设计提高例程-7 返回指针的函数
- 机器学习系列(9)_机器学习算法一览(附Python和R代码)
- python3 字典遍历操作
- 第四周—求n的阶乘
- 邮件被暴力破解邮件网关如何解决
- Innodb锁机制
- 第4周 C语言及程序设计提高例程-15 小小型应用系统开发指导(三)
- Android视图绘制流程完全解析,带你一步步深入了解View(二)
- 在linux上使用yum安装JDK
- 【LeetCode-342】Power of Four
- sizeof<引用类型>的大小
- Python 解析base64数据到opencv图像
- 设计模式之工厂模式
- 织梦发布后提示填写文章标题
- 模态跳转过后,依然有导航栏