c语言模拟atm机程序 密码怎么用*输出,用C语言控制台程序模拟一个ATM 机存取款流程...

//

// main.c

//

// Created by lanqs on 14/12/17.

// Copyright (c) 2014年 All rights reserved.

//

#include

#include "haha.h"

struct Zhanghu{

char name[20];//姓名

int num;//账户

int password;//密码

double balance;//余额

};

struct Zhanghu A = {"小王",2012,123456,10000};//A

struct Zhanghu B = {"小李",2014,654321,20000};//B

struct Zhanghu C = {"银行",1000,111111,100000};//C 银行账户ATM机子(里面有钱。。。银行的钱。。。)

int main(int argc, const char * argv[]) {

#pragma mark - 用C语言控制台程序模拟一个ATM 机存取款流程。

// 要求:

// 1)账户基本信息结构体(包括:姓名、账户、密码、余额等基本信息)。

// 2)输入用户名密码登录(密码用户名自定义并且提示相关错误信息)。

// 3)登录成功后有:查看余额、取款、存款、修改密码 、退出登录菜单,并实现相关功能。

// 附加:

// 4)新建两个用户A(初始资金1W)、B(初始资金2W),并添加一个银行账户(总资金10W,A、B用户资金计入在内)处理资金平衡,并记录相关操作日志。

// 注:1)排版及代码规范;

// 2)需要添加注释

// 3)功能完整性

// 4)增强用户体验

//

//

int num,password;

// int flag = 0;//a,b登陆成功的标示

// int flag1 = 0; // 进入打印凭条的标示

int a;//选择

double qukuan = 0; //额,这个就是存取款变量

//----------------因为是取款机,所以程序是死循环

//------------功能实现

//------------输入账号密码登陆(密码修改后使用新密码登陆)

//------------查看余额(每次操作后会更新)

//------------取款(不能取超过机子的钱,也不能透支)

//------------存款(随便存)

//------------修改密码,同上

//------------退出登陆(退出了这个操作机子的人,等待下一个继续操作这台ATM机子)

//------------输入内部的银行账户可以登陆查看A,B的信息,还有ATM机子的余额情况

//------------初始密码都在上面。。。

//------------ -_-||要停止运行请拆电池。。。

while (1) {

printf("程序一直运行中。。。\n");

printf("请输入账号和密码:");

scanf("%d%d",&num,&password);

if (num == A.num && password == A.password) {

int kongzhi = 1; //a,b中的控制

printf("a登陆成功!");

while (kongzhi) {

//a的信息

printf("\n1.查看余额\n");

printf("2.取款\n");

printf("3.存款\n");

printf("4.修改密码\n");

printf("5.退出登录\n");

scanf("%d",&a);//输入选择信息

switch (a) {

case 1:

//1.查看余额

printf("余额为:%.2lf",A.balance);

printf("\n-----------------------\n");

break;

case 2:

printf("请输入你要取款的金额:");

scanf("%lf",&qukuan);

//取款这里不能为0啊

if (qukuan <= A.balance) {

A.balance = A.balance - qukuan;

C.balance = C.balance - qukuan; //取款机的余额减少

printf("取款成功!");

}else if (qukuan > C.balance){

printf("取款机余额不足!");

}

else {

printf("余额不足!");

}

printf("\n-----------------------\n");

break;

case 3:

printf("请输入你要存款的金额:");

scanf("%lf",&qukuan);

A.balance = A.balance +qukuan;

C.balance = C.balance +qukuan; //取款机里面的前增加

printf("\n存款成功!\n");

printf("\n-----------------------\n");

break;

case 4:

printf("请输入新的密码:");

scanf("%d",&password);

A.password = password;

printf("\n密码修改成功!\n");

printf("\n-----------------------\n");

break;

case 5:

printf("你已经退出了!");

printf("\n-----------------------\n");

kongzhi = 0;

break;

default:

printf("输入错误!");

printf("\n-----------------------\n");

break;

}

}

continue;

}else if (num == B.num && password == B.password){

int kongzhi = 1; //a,b中的控制

while (kongzhi) {

printf("b登陆成功");

//b的信息

printf("\n1.查看余额\n");

printf("2.取款\n");

printf("3.存款\n");

printf("4.修改密码\n");

printf("5.退出登录\n");

scanf("%d",&a);//输入选择信息

switch (a) {

case 1:

//1.查看余额

printf("余额为:%.2lf",B.balance);

printf("\n-----------------------\n");

break;

case 2:

printf("请输入你要取款的金额:");

scanf("%lf",&qukuan);

if (qukuan <= B.balance) {

B.balance = B.balance - qukuan;

C.balance = C.balance - qukuan;//取款机里面的钱减少

printf("取款成功!");

}else if (qukuan > C.balance){

printf("取款机余额不足!");

}

else {

printf("余额不足!");

}

printf("\n-----------------------\n");

break;

case 3:

printf("请输入你要存款的金额:");

scanf("%lf",&qukuan);

B.balance = B.balance +qukuan;

C.balance = C.balance +qukuan; //取款机里面的前增加

printf("\n存款成功!\n");

printf("\n-----------------------\n");

break;

case 4:

printf("请输入新的密码:");

scanf("%d",&password);

B.password = password;

printf("\n密码修改成功!\n");

printf("\n-----------------------\n");

break;

case 5:

printf("你已经退出了!");

printf("\n-----------------------\n");

kongzhi = 0 ;

break;

default:

printf("输入错误!");

printf("\n-----------------------\n");

break;

}

}

continue;

/

}else if(num == C.num && password == C.password){

printf("银行账户登陆成功!\n");

printf("ATM机的余额%.2lf\n",C.balance);

printf("户主:%s,账号%d, 余额:%.2lf\n",B.name,B.num,B.balance);

printf("户主:%s,账号%d, 余额:%.2lf\n",A.name,A.num,A.balance);

continue;

}

else{

printf("你的账号或者密码输入有错!请重新输入:\n");

continue;

}

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值