|
发表于 2014-9-27 20:56:16
|
显示全部楼层
#include<stdio.h>
#include<windows.h>
struct account{
int ka;//卡号
char name[20];//姓名
int money;//余额
int pwd;//密码
};
account acc[2];
int index = 0;//定义下标变量
void kaihu(){//开户
if(index !=2){//判断用户不能大于2
printf("请输入卡号:");//输出
scanf("%d",&acc[index].ka);//接收用户输入的值
for(int a=0;a<index;a++){//循环
if(acc[a].ka==acc[index].ka){//判断
break;//退出循环
}
}
if(a<index){//判断
printf("账号已注册");//如果为真输出
}else{//为假输出
printf("请输入姓名:");
scanf("%s",acc[index].name);//接收用户输入的值
printf("请输入密码:");//提示用户输入密码
scanf("%d",&acc[index].pwd);//接收用户输入的值
printf("请输入开户金额:");//提示用户输入开户金额
scanf("%d",&acc[index].money);//接收用户输入的值
printf("开户成功!!!!\n");//输出文字
index++;//下标增量
}
}else{
printf("用户已满");//输出
}
}
void cunkuan(){
printf("请输入要存钱的账户:");//输出文字
int id = 0;//定义变量id
scanf("%d",&id);//接收用户输入的id
for(int i = 0;i<=index;i++){//循环
if(acc[i].ka == id){//判断用户输入id与卡号是否一致
break;//退出循环
}
}
if(i<=index){//判断
int money = 0;//定义变量钱数
printf("请输入要存入的钱数:");//则提示输入金钱
scanf("%d",&money);
if(money<0){//判断要存金钱的大小
printf("存款失败");//存入的钱小于0则存款失败
}else{
acc[i].money = acc[i].money + money;//余额为账号上原有的钱加上存入的钱
printf("你卡上的余额为:%d",acc[i].money);
}
}else{
printf("您输入的账号不存在!");
}
}
void qukuan(){
int id,mm;
printf("\t\t\t请输入您的卡号:");
scanf("%d",&id);
printf("\t\t\t请输入您的密码:");
scanf("%d",&mm);
for(int i = 0;i<=index;i++){//循环遍历整个数组
if(acc[i].ka == id&&mm==acc[i].pwd){//如果卡号与密码正确,则退出循环
break;
}
}
if(i<=index){//条件为真时
int money = 0;
printf("请输入要取的钱数:");//提示输入要存的金钱
scanf("%d",&money);
if(money<0){//判断金钱的大小
printf("取款失败");
}else{
if(acc[i].money<=money){
printf("余额不足");
}else{
acc[i].money = acc[i].money - money;//取款后的余额为之前的金额减去取钱的金额
printf("你卡上的余额为:%d",acc[i].money);
}
}
}else{
printf("您输入的账号不存在!");
}
}
void txt(){//查询信息
long id;
printf("请输入账号");
scanf("%ld",&id);//通过输入的账号,来输出信息
for(int j=0;j<=index;j++){
if(acc[j].ka==id){//如果找到这个账号则输出输出信息
printf("%s用户 剩余%d",acc[j].name,acc[j].money);
break;
}
}
}
void zhuang(){
int mm,zh,z,ji;
printf("请输入账号");
scanf("%d",&zh);
printf("请输入密码");
scanf("%d",&mm);//判断自己的账号与密码是否正确
for(int i=0;i<=index;i++){
if(zh==acc[i].ka&&mm==acc[i].pwd){
break;
}
}
if(i<=index){//如果自己的条件为真,则提示输入对方的账号
printf("请输入要转账的用户");
scanf("%d",&z);
for(int j=0;j<=index;j++){//寻找是否有对方的账号,如果找到则退出
if(z==acc[j].ka){
break;
}
}
if(j<=index){//如果对方账号为真,
printf("请输入要转的金额");//则输入转账的金额
scanf("%d",&ji);
if(ji>acc[i].money){//判断转账的金额的大小,如果取的钱大于卡中的钱,则提示余额不足
printf("余额不足");
}else{
acc[j].money+=ji;//自己卡中的余额
acc[i].money-=ji;//对方账号的余额
printf("账号+余额为%d",acc[i].money);
}
}else{printf("账号不存在");}
}else{
printf("账号不存在");
}
}
void xg(){//修改密码
int mm,zh,xmm,qrmm;
printf("请输入账号");
scanf("[`%d",&zh);
printf("请输入旧密码");
scanf("%d",&mm);
for(int p=0;p<=index;p++){//判断账号与密码是否存在
if(acc[p].ka==zh&&acc[p].pwd==mm){
break;
}else
printf("密码输入错误");
}
if(p<=index){
printf("请输入新密码")//输入新的密码;
scanf("%d",&xmm);
printf("再次确认新密码");
scanf("%d",&qrmm);
if(xmm==qrmm){//将旧密码赋值到新密码中
acc[p].pwd=xmm;
}else{
printf("两次输入不一致");
}
}
}
void main(){
int op=0;
char flag;
do{
system("cls");
printf("\t欢迎进入银行系统\n\n");
printf("\t1、开户\n");
printf("\t2、存款\n");
printf("\t3、取款\n");
printf("\t4、详细信息\n");
printf("\t5、修改密码\n");
printf("\t6、转账\n");
printf("请输入您要办理的项目:");
scanf("%d",&op);
switch(op){
case 1:
system("cls");
kaihu();
break;
case 2:
system("cls");
cunkuan();
break;
case 3:
system("cls");
qukuan();
break;
case 4:
system("cls");
txt();
break;
case 5:
system("cls");
xg();
break;
case 6:
system("cls");
zhuang();
break;
default:
printf("您的输入有误!!!!!!!");
break;
}
printf("\n按回车键回到主菜单:");
fflush(stdin);
scanf("%c",&flag);
}while(flag=='\n');//循环提示信息
printf("\n");
} |
|