新手用c语言实现简易ATM系统 您所在的位置:网站首页 atm的基本原理 新手用c语言实现简易ATM系统

新手用c语言实现简易ATM系统

#新手用c语言实现简易ATM系统| 来源: 网络整理| 查看: 265

    本人才疏学浅,刚学习c语言不久,也是第一次写博客,以下内容如有不足之处欢迎大家指正。

   

用c语言实现简易ATM系统:该ATM共10个功能  1,开户   2,存款  3,取款  4,查询  5,转账  6,挂失  7,解挂  8,销户  9,改密  10,退出(全部的代码在最后)

   

总体思路:通过打印和死循环完成主界面的输出和多次使用,通过函数完成调用各个功能,为了使用函数调用变量我们要进行操作的变量应该全局定义,要实现多个用户操作应当使用数组或者结构体变量来完成全局变量的定义(本代码使用的是结构体变量,只用数组也是可以的),具体功能的实现在之后说明。

   

 主函数(主界面的输出和多次使用):通过键盘对a进行赋值从而选择调用函数,再通过死循环多次调用。

int main() { int j=1,a; for(j=1;j=0) { printf("转账成功,你的余额为%lf\n\n",zh[order2].money); } else { printf("余额不足,转账失败\n\n"); zh[order2].money=zh[order2].money+money2; zh[order3].money=zh[order3].money-money2; } } } } else { printf("密码错误\n\n"); } } } }

销户功能:void eliminate()  简单的判断和对变量修改这里改的是账号,挂失,解挂,改密,和这差不多只是修改的变量不同。 

void eliminate() { int exist2,account2,password2,order2; printf("请输入你的账号:"); scanf_s("%d",&account2); exist2=judge_exist(account2); if(exist2!=0) { order2=account2-1000; printf("请输入密码:"); scanf_s("%d",&password2); if(password2==zh[order2].password) { printf("销户成功\n\n"); zh[order2].account=0; } else { printf("密码错误\n\n"); } } }

原代码:

#include #include int control = 1; //控制结束的变量 int order = 1; //控制顺序的变量 int confirmpassword[10]; //确认用的密码 int menu(int a); //菜单 void authoring(); //创建用户 void save_money(); //存钱 void get_money(); //取钱 void inquire(); //查询 void shift_money(); //转账 void lose(); //挂失 void undo(); //解挂 void eliminate(); //销户 void change_password(); //改密 void close(); //退出 int judge_exist(int a); //判断用户名存在 输入用户名,若存在返回用户名的值,若不存在输出提示并返回0 int judge_status(int a); //判断用户状态 输入用户名,若正常返回0,若挂失返回1并提示,若冻结返回2并提示 typedef struct { int account; //账号 char username[300]; //用户名 int password; //密码 double money; //钱 int status; //状态:0正常 1挂失 2销户 }Account; Account zh[11]; //创建10个用户 int main() { int j = 1, a; for (j = 1; j = 0) { printf("取款成功,你当前的余额为:%lf\n\n", zh[order2].money); } else { printf("余额不足取款失败\n\n"); zh[order2].money = zh[order2].money + money2; } } else { printf("密码错误\n\n"); } } } } void inquire() { int account2, exist2, order2, password2; printf("请输入你的账号:"); scanf_s("%d", &account2); exist2 = judge_exist(account2); if (exist2 != 0) { order2 = exist2 - 1000; printf("请输入密码:"); scanf_s("%d", &password2); if (password2 == zh[order2].password) { switch (zh[order2].status) { case 0:printf("账号:%d 姓名:%s\n", account2, zh[order2].username); printf("状态:正常 余额:%lf\n\n", zh[order2].money); break; case 1:printf("账号:%d 姓名:%s\n", account2, zh[order2].username); printf("状态:挂失 余额:%lf\n\n", zh[order2].money); break; case 2:printf("账号:%d 姓名:%s\n", account2, zh[order2].username); printf("状态:销户 余额:%lf\n\n", zh[order2].money); break; } } else { printf("密码错误\n\n"); } } } void shift_money() { int exist2, status2, account2, password2, order2, account3, exist3, order3, status3; double money2; printf("请输入你的账号:"); scanf_s("%d", &account2); exist2 = judge_exist(account2); if (exist2 != 0) { order2 = account2 - 1000; status2 = judge_status(zh[order2].status); if (status2 == 0) { printf("请输入密码:"); scanf_s("%d", &password2); if (password2 == zh[order2].password) { printf("户主姓名:%s\n", zh[order2].username); printf("请输入转账账号:"); scanf_s("%d", &account3); exist3 = judge_exist(account3); if (exist3 != 0) { order3 = account3 - 1000; status3 = judge_status(zh[order3].status); if (status3 == 0) { printf("请输入你要转账的金额:"); scanf_s("%lf", &money2); zh[order2].money = zh[order2].money - money2; zh[order3].money = zh[order3].money + money2; if (zh[order2].money >= 0) { printf("转账成功,你的余额为%lf\n\n", zh[order2].money); } else { printf("余额不足,转账失败\n\n"); zh[order2].money = zh[order2].money + money2; zh[order3].money = zh[order3].money - money2; } } } } else { printf("密码错误\n\n"); } } } } void lose() { int exist2, account2, password2, order2; printf("请输入你的账号:"); scanf_s("%d", &account2); exist2 = judge_exist(account2); if (exist2 != 0) { order2 = account2 - 1000; printf("请输入密码:"); scanf_s("%d", &password2); if (password2 == zh[order2].password) { printf("挂失成功,该卡已挂失\n\n"); zh[order2].status = 1; } else { printf("密码错误\n\n"); } } } void undo() { int exist2, account2, password2, order2; printf("请输入你的账号:"); scanf_s("%d", &account2); exist2 = judge_exist(account2); if (exist2 != 0) { order2 = account2 - 1000; printf("请输入密码:"); scanf_s("%d", &password2); if (password2 == zh[order2].password) { printf("解挂成功\n\n"); zh[order2].status = 0; } else { printf("密码错误\n\n"); } } } void eliminate() { int exist2, account2, password2, order2; printf("请输入你的账号:"); scanf_s("%d", &account2); exist2 = judge_exist(account2); if (exist2 != 0) { order2 = account2 - 1000; printf("请输入密码:"); scanf_s("%d", &password2); if (password2 == zh[order2].password) { printf("销户成功\n\n"); zh[order2].account = 0; } else { printf("密码错误\n\n"); } } } void change_password() { int exist2, account2, order2; printf("请输入你的账号:"); scanf_s("%d", &account2); exist2 = judge_exist(account2); if (exist2 != 0) { order2 = account2 - 1000; printf("正在验证身份....\n"); printf("验证成功请输入新密码:"); scanf_s("%d", &zh[order2].password); printf("改密成功\n\n"); } } void close() { control = 2; } int judge_exist(int a) { int i, j = 0; for (i = 1; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有