第3周 C语言及程序设计初步例程-47 小小型应用系统开发指导(二)
2016-04-11 21:31
579 查看
问题及代码:
运行结果:
知识总结:
多种循环的灵活运用,以及实际中对文件的存取。
学习心得:
对写比较长的程序有了一定的信心,懂得先将框架确定,再一步步细化完善。
在写程序的过程中,出现许多小问题,比如exit()忘记括号里加0;
scanf中的&也经常落掉;不小心在一个printf()中误用了&。这两个错误调试时未提示,但运行出错。
第一个do…while()中,while()里面为何是1刚开始有点不太明白。
#include <stdio.h> #include <stdlib.h> int main() { int ipass;//用户输入的密码; int iPASSFILE;//记录正确的密码; int itry=0;//进入系统尝试的次数; int ipassword1,ipassword2;//修改的密码; int ichoice;//选择系统功能; double dBalance;//余额; double dMoney;//存取款金额; FILE *fp;//用于文件操作; printf("欢迎来到时缔银行!\n"); //需先从保存的文件中取出密码; if((fp=fopen("password.txt","r"))==NULL) { printf("password file cannot open!"); exit(0); } fscanf(fp,"%d",&iPASSFILE); fclose(fp); //进入系统,密码三次不对将退出; do { itry++; printf("请输入密码:"); scanf("%d",&ipass); if(ipass==iPASSFILE) break; else { if(itry<3) { printf("超过3次错误将退出,您已经输入%d次错误!\n",itry); } else { printf("您的输入错误已达3次,今天不能再继续操作!\n"); exit(0); } } } while(1);//表达式为真,第一次输入就正确,直接进入下一个环节; //从文件中取出余额; if((fp=fopen("balance.dat","r"))==NULL) { printf("date file cannot open!"); exit(0); } fscanf(fp,"%lf",&dBalance); fclose(fp); //办理业务; do { printf("您可以办理以下业务:\n"); printf("1.查询:\n"); printf("2.取款:\n"); printf("3.存款:\n"); printf("4.修改密码:\n"); printf("0.退出:\n"); printf("请输入0-4:\n"); scanf("%d",&ichoice); switch(ichoice) { case 1: printf("您有%.2f的余额:\n",dBalance); break; case 2: printf("请输入取款额度:\n"); scanf("%lf",&dMoney); if(dBalance>dMoney) { dBalance-=dMoney; printf("您现在的额度是:%.2lf\n",dBalance); } else printf("余额不足,取款失败\n"); break; case 3: printf("请存入现金:\n"); scanf("%lf",&dMoney); dBalance+=dMoney; printf("您现在的余额是%.2lf\n",dBalance); break; case 4: printf("请输入新密码:\n"); scanf("%d",&ipassword1); printf("请再次输入新密码:\n"); scanf("%d",&ipassword2); if(ipassword1==ipassword2) { iPASSFILE=ipassword1; printf("您的密码已修改完毕,请注意保管!\n"); } else printf("您两次密码输入不一样,请重新输入!\n"); break; case 0: printf("欢迎下次回来!\n"); } } while(ichoice); //保存余额; if(fp=fopen("password.txt","w")==NULL) { printf("password file cannot open!"); exit(0); } fprintf(fp,"%d",iPASSFILE); fclose(fp); return 0; }
运行结果:
知识总结:
多种循环的灵活运用,以及实际中对文件的存取。
学习心得:
对写比较长的程序有了一定的信心,懂得先将框架确定,再一步步细化完善。
在写程序的过程中,出现许多小问题,比如exit()忘记括号里加0;
scanf中的&也经常落掉;不小心在一个printf()中误用了&。这两个错误调试时未提示,但运行出错。
第一个do…while()中,while()里面为何是1刚开始有点不太明白。
相关文章推荐
- C++第3次作业
- C++问题小结--1.命名空间namespace应用举例
- C++实验3-多分数段函数求值
- 【c++】挑7
- C++学习笔记十三 - C++宏替换认识大小写区分
- 关于C语言的输入输出重定向
- c++实验3-分段函数求值
- 史上最详细c语言学生管理系统(完整的源代码)
- c++上机第三次实验
- C++ 指针 引用 const
- C++作业3
- 【c++】合唱队问题
- C++第三次作业
- C++对象的生存周期
- C++作用域
- vector 详细用法 C++
- c++ 链接mysql:error LNK2019: 无法解析的外部符号
- C++作业3
- VC++中将对话框的背景设为自己想要的图片,增加打开文件按钮
- Problem H: C语言实验——整数位