目的、创建一个银行系统的项目,使其具有登录、存款、取款、查询、更改密码、退出的功能。
思路、先定义一个初始界面,然后就是设置登录选项,登录上后就是主界面。因为主界面是要进行每一个操作后返回的界面,所以要在主界面前设置一个循环。为了方便用户选择要进行的操作,选择用switch循环。接下来每一个操作在各自的模块对应着它的功能写就行了。
完整代码如下
#include <stdio.h>
#include <stdlib.h>
int main(){
int old = 123;//原始密码
int input;//输入密码
int wrongTime = 3; //错误次数
int total = 1000;//金额
printf("**********************\n");
printf(" 欢迎使用建设银行系统\n");
printf("**********************\n");
//int i = 1;
printf("请输入密码:");
for(int i = 1;i <= wrongTime; i++){
scanf("%d", &input);
//判断密码
if(input == old){
//密码正确
printf("密码正确!\n");
break;
}
if(i == wrongTime){
printf("错误次数过多!\n");
return 1;//return和exit区别
}
//密码不正确
printf("密码不正确,请重新输入密码:");
}
//接受用户选择
int choice;
char goon;//是否继续
while(1){
//主界面
printf("*****************************\n");
printf("1.存款\n");
printf("2.取款\n");
printf("3.查询\n");
printf("4.更改密码\n");
printf("5.退出\n");
printf("*****************************\n");
//提示用户选择
printf("请选择操作:");
scanf("%d",&choice);
//判断操作
switch(choice) {
case 1://存款
int temp;
printf("请输入存款金额:");
scanf("%d",&temp);
total += temp;
printf("存款成功!当前余额为:%d\n",total);
break;
case 2://取款
int temp2;
for(;1<2;){
printf("请输入取款金额:");
scanf("%d",&temp2);
if(temp2 > total){
printf("余额不足!\n");
} else{
total -= temp2;
printf("取款成功,余额为%d\n",total);
break;
}
}
break;
case 3://查询
printf ("当前余额为:%d\n",total);
break;
case 4://更改密码
int n1;
int n2;
for(;1<2;){
printf("请输入新密码:");
scanf("%d",&n1);
printf("请确认新密码:");
scanf("%d",&n2);
if(n1 == n2){
printf("密码设置成功!\n");
old = n1;
break;
} else{
printf("两次输入不一致");
}
}
break;
default://退出
exit(EXIT_SUCCESS); //exit(EXIT_FAILURE);
break;
}
//提示是否继续
for(;1<2;){
printf("是否继续(y/n):");
getchar () ;
scanf("%c",&goon);
if(goon == 'y'){
break;
}
if(goon == 'n'){
exit(EXIT_SUCCESS);
}
printf("输入无效 \n");
}
}
return 0;
}