C语言及程序设计初步应用程序小设计-CSDN银行
2015-05-09 15:22
225 查看
#include <stdio.h> #include <stdlib.h> //C语言及程序设计初步,综合练习,CSDN银行,功能说明 /* 1.输入密码进行登录(错误三次后退出程序),输入0-4选择不同功能,1-查询、2-取款,3-存款,4-改密码,0-退出. 2.只支持单个用户,密码和存款余额分别保存在本地两个文件中 3.取款功能支持超出额度提示. 4.修改密码需要输入两次新密码,先要输入原密码,如果原密码输入不正确,则立即退出。(安全性) 5.取款和存款操作需要加入确认提示,点击确认后才会继续操作,取消的话回退会上一级 */ int main() { long iMoney,iOut,iPut; long iPass,iPass_file,iPass_change_old,iPass_change_new1,iPass_change_new2; FILE *fp1,*fp2; int iErr_count=1; int flag=0,choice; char choice_temp; printf("欢迎使用CSDN银行\n"); fp1=fopen("passwd.dat","r"); fp2=fopen("money.dat","r"); fscanf(fp1,"%ld",&iPass_file); fscanf(fp2,"%ld",&iMoney); fclose(fp1); fclose(fp2); while(iErr_count<=3) { if(iErr_count==1) printf("请输入密码:"); else printf("密码错误,请再次输入密码: "); scanf("%ld",&iPass); if(iPass==iPass_file) break; else iErr_count++; } if(iErr_count>3) { printf("错误三次,程序退出,该帐号锁定。\n"); exit(0); } while(flag==0) { printf("本行提供以下业务:\n"); printf("1. 查询.\n"); printf("2. 取款.\n"); printf("3. 存款.\n"); printf("4. 改密码.\n"); printf("0. 退出.\n"); printf("请选择需要办理的业务(1-4),按0退出"); scanf("%d",&choice); switch(choice) { case 1: { printf("当前的存款余额为:%ld\n",iMoney); break; } case 2: { printf("请输入需要取出的金额:"); scanf("%ld",&iOut); printf("确认取出%ld元(输入n取消,任意键确认)\n",iOut); choice_temp=getchar();//接收前一个字符串的\n choice_temp=getchar(); if(choice_temp=='n'||choice_temp=='N') break; if(iOut<=iMoney) { iMoney-=iOut; printf("成功取出%ld元!\n",iOut); } else { printf("余额不足!\n"); } break; } case 3: { printf("请输入需要存入的金额:"); scanf("%ld",&iPut); printf("确认存入%ld元(输入n取消,任意键确认)\n",iPut); choice_temp=getchar();//接收前一个字符串的\n choice_temp=getchar(); if(choice_temp=='n'||choice_temp=='N') break; iMoney+=iPut; printf("成功存入%ld元!\n",iPut); break; } case 4: { iErr_count=1; while(iErr_count<=3) { if(iErr_count==1) printf("请输入原密码:"); else printf("密码错误,请再次输入原密码: "); scanf("%ld",&iPass_change_old); if(iPass_change_old==iPass) break; else iErr_count++; } if(iErr_count>3) { printf("错误三次,程序退出,该帐号锁定。\n"); exit(0); } printf("校验通过,请输入新密码:"); scanf("%ld",&iPass_change_new1); printf("请再次输入新密码:"); scanf("%ld",&iPass_change_new2); while(iPass_change_new1!=iPass_change_new2) { printf("两次结果不一致,请重新输入!\n"); printf("校验通过,请输入新密码:"); scanf("%ld",&iPass_change_new1); printf("请再次输入新密码:"); scanf("%ld",&iPass_change_new2); } iPass=iPass_change_new1; printf("修改密码成功!\n"); break; } case 0: { flag=1; break; } default: { printf("输入错误,请重新输入!\n"); } } } fp1=fopen("passwd.dat","w"); fp2=fopen("money.dat","w"); fprintf(fp1,"%ld",iPass); fprintf(fp2,"%ld",iMoney); fclose(fp1); fclose(fp2); printf("谢谢您的使用,欢迎下次光临!\n"); return 0; }
相关文章推荐
- 《C语言及程序设计初步》第十四讲实践项目
- 《C语言及程序设计初步》_1.4C语言程序初体验_实践4——温度单位转换
- C语言及程序设计初步例程-14 指针及其运算
- C语言及程序设计初步例程-35 问题求解方法——迭代
- 第3周 C语言及程序设计初步例程-46 小小型应用系统开发指导(一)
- 《C语言及程序设计初步》第40讲实践项目
- 南邮JAVA程序设计实验2 小应用程序Applet设计
- 《C语言及程序设计》程序阅读——链表初步
- 《C语言及程序设计初步》_1.4C语言程序初体验_实践5——圆柱体的表面积
- C语言及程序设计初步例程-15 数据的输入
- C语言及程序设计初步例程-36 用循环处理文字
- C语言及程序设计初步例程-45 OJ平台中的典型输入处理
- 《C语言及程序设计初步》网络课程主页
- C语言程序设计提高篇应用程序设计-CSDN银行2.0
- 第1周 C语言及程序设计初步 例程-3 利用switch语句解决问题
- C语言及程序设计初步例程-16 数据的输出
- C语言及程序设计初步例程-37 循环嵌套
- 第1周 C语言及程序设计初步 例程-4 for语句案例
- 《C语言及程序设计》实践项目——链表初步
- C语言及程序设计初步例程-17 赋值运算符与赋值表达式