c语言模拟自动饮料机,C语言--小程序--简单模拟ATM机

原标题:C语言--小程序--简单模拟ATM机

ATM.H

#ifndef ATM_h

#define ATM_h

#include

#include

#include

typedef struct _account{

char * name;

char * account;

char * passwd;

long money;

}Account;

void init;

int LoginSystem(char *account,char * passwd);

void displayBalance(int ID);

int getMoney(int ID);

int putMoney(int ID);

int changePasswd(int ID);

int giveMoney2(int ID);

#endif

ATM.C

#include "ATM.h"

Account accounts[4] = {

{"name1", "1001", "111111", 1000},

{"name2", "1002", "222222", 2000},

{"name3", "1003", "333333", 3000},

{"name4", "1004", "444444", 4000}

};

int ATMmoney=1000000;

int LoginSystem(char *account,char * passwd){

int i;

for (i=0; i<4; i++) {

if (strcmp(accounts[i].account, account)==0&&strcmp(accounts[i].passwd, passwd)==0) {

return i;

}

}

return -1;

}

void displayBalance(int ID){

printf("账户:%st用户名:%sn账户余额:%ldn",accounts[ID].account,accounts[ID].name,accounts[ID].money);

}

int getMoney(int ID){

int money=0;

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

scanf("%d",&money);

if (money>ATMmoney) {

printf("ATM机余额不足!n");

return 0;

} else if (money>accounts[ID].money) {

printf("账户余额不足!n");

return 0;

} else if(money%100!=0){

printf("请取整百金额!n");

return 0;

} else {

accounts[ID].money-=money;

ATMmoney-=money;

printf("取款成功!!n");

}

return 1;

}

int putMoney(int ID){

int money=0;

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

scanf("%d",&money);

accounts[ID].money+=money;

ATMmoney+=money;

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

return 1;

}

int changePasswd(int ID){

char passwd[20];

char * passwdnew=malloc(sizeof(char)*20);

char passwdnew2[20];

printf("请输入旧密码:n");

scanf("%s",passwd);

if (strcmp(accounts[ID].passwd, passwd)==0) {

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

scanf("%s",passwdnew);

printf("确认新密码:n");

scanf("%s",passwdnew2);

if (strcmp(passwdnew, passwdnew2)==0) {

accounts[ID].passwd=passwdnew;

printf("修改成功!!");

}

}

else printf("密码错误!!n");

return 1;

}

int giveMoney2(int ID){

int money;

int targetID;

long targetIDmoney;

printf("请输入目标账户:n");

char targetAccount[20];

scanf("%s",targetAccount);

for (targetID=0; targetID<4; targetID++) {

if (strcmp(accounts[targetID].account, targetAccount)==0) {

targetIDmoney=accounts[targetID].money;

break;

}

}

printf("输入转账金额:n");

scanf("%d",&money);

printf("目标账户:%st目标用户名:%sn转账金额:%dn确认?(yes/no)n",accounts[targetID].account,accounts[targetID].name,money);

char order[3];

scanf("%s",order);

if (strcmp(order, "yes")==0) {

accounts[targetID].money+=money;

accounts[ID].money-=money;

printf("转账成功!!n");

}else printf("操作已取消。n");

return 1;

}

void mypause{

printf("按回车键继续。。。。n");

getchar;

getchar;

}

void init{

while (1) {

char account[20];

char passwd[20];

int userID=-1;

printf("===农村·银行===n==欢迎使用ATM机==nn");

printf("t请登录n");

printf("用户名:");

scanf("%s",account);

printf("密码:");

scanf("%s",passwd);

userID=LoginSystem(account,passwd);

if (userID!=-1) {

int order;

printf("登录成功!n");

while (userID!=-1) {

printf("1、显示当前余额n2、取款n3、存款n4、转账n5、修改密码n6、退出n");

scanf("%d",&order);

switch (order) {

case 1:displayBalance(userID);mypause;

break;

case 2:getMoney(userID);mypause;

break;

case 3:putMoney(userID);mypause;

break;

case 4:giveMoney2(userID);mypause;

break;

case 5:changePasswd(userID);mypause;

break;

case 6:printf("欢迎再次使用!!n");userID=-1;

break;

default:

break;

}

}

}

}

}

MAIN.C

#include

#include "ATM.h"

int main(i)

{

init;

return 0;

}

自学中的烦脑:

1.买好多本书,基本上每本都看到30页就看不下去了,问题太多,无法入门。

2.百度下载好多好多视频,看了又看,根本不知道为什么这样实现的。

3.学会了点基础,随便网络上下载几个项目来研究,不懂就问朋友、老师等,然后就自认为学会了。

4.在这个世界上哪怕是亲兄弟也不可能一天到晚不上班专门教你学习编程语言。

以上的学习方法其实给学员造成很大的学习困扰:无从入手、基础上徘徊、不懂编程思想,百题缠身,更加不要说项目开发技术了。

选择团队学习的原因:

1.学习时间缩短,学习效果显而可见。

学习 C语言VIP班后能独立开发的小项目:

1cd10e7db26a420717ed2ac8e8533c18.png

俄罗斯方块、贪食蛇、坦克大战、象棋、军棋、五仔棋等

学习C++语言VIP班后能独立开发的小项目

01b07372a9de405ec80f2fae4cbcecfd.png

视频播放器、音乐播放器、QQ聊天系统、蘑菇大战等

要有项目开发能力才能成功找到工作,要来团队学习的朋友请看下图:

报名可以加QQ:208824435咨询,了解,

能让你快速成长,不至于迷茫中徘徊。返回搜狐,查看更多

责任编辑:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值