C语言及程序设计初步应用程序小设计-CSDN银行
来源:互联网 发布:财务报表数据库设计 编辑:程序博客网 时间:2024/05/19 20:43
#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;}
0 0
- C语言及程序设计初步应用程序小设计-CSDN银行
- C语言及程序设计初步例程-46 小小型应用系统开发指导(一)
- C语言及程序设计初步例程-47 小小型应用系统开发指导(二)
- 《C语言及程序设计初步》-07分支结构程序设计体验
- 《C语言及程序设计初步》网络课程主页
- C语言及程序设计初步例程-14 指针及其运算
- C语言及程序设计初步例程-15 数据的输入
- C语言及程序设计初步例程-16 数据的输出
- C语言及程序设计初步例程-30 算法的基本概念
- C语言及程序设计初步例程-32 输出小星星
- C语言及程序设计初步例程-34 用循环累加
- C语言及程序设计初步例程-37 循环嵌套
- C语言及程序设计初步例程-39 求素数算法
- C语言及程序设计初步例程-40 穷举法解题
- 《C语言及程序设计初步》第四讲实践项目
- 《C语言及程序设计初步》第七讲实践项目
- 《C语言及程序设计初步》第十四讲实践项目
- 《C语言及程序设计初步》第26讲实践项目
- 浙江大学PAT_乙级_1024. 科学计数法 (20)
- Linq queryable implement
- Unity3d 调整UI和粒子特效的层次关系
- iOS菜鸟成长笔记(3)——斯坦福公开课学习(1)
- 新手学到的 关于成员变量和局部变量的区别
- C语言及程序设计初步应用程序小设计-CSDN银行
- Linux 系统的安装 (最全收集)
- 浙江大学PAT_乙级_1025. 反转链表 (25)
- 1715 ACdream王国的士兵
- javascript原型链与原型继承
- HDOJ-1671Phone List(Trie树)
- [DP]poj1745
- 有这样一个数组A,大小为n,相邻元素差的绝对值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。现在,给定A和目标整数t,请找到t在A中的位置。
- Oracle建立表空间和用户